3x-ui/web/html
MHSanaei cbb35f73ed
feat(frontend): jalali calendar + drop legacy moment-jalali
- Wire Calendar Type setting to a real Jalali datepicker via
  vue3-persian-datetime-picker, gated by useDatepicker composable
- DateTimePicker wrapper swaps between AD-Vue and Persian picker; keeps
  dayjs v-model contract so existing forms/setters work unchanged
- Theme picker popup explicitly per body.dark / data-theme=ultra-dark
  (AD-Vue 4 doesn't expose CSS vars, so var() fallbacks defaulted to
  white); fix invisible disabled days, SVG arrow fills, popup clipping
  via append-to="body"
- Replace stray moment() calls in dbinbound/inbound models with dayjs;
  the legacy global was undefined under ESM and broke the inbounds list
  whenever any inbound had expiryTime > 0
- Remove legacy moment-jalali / persian-datepicker / aPersianDatepicker
  assets — replaced by the Vue 3 picker

Note: dark/ultra background of the date popup still renders white in
some cases — pending follow-up.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-09 00:17:25 +02:00
..
common Implement CSRF protection and security hardening across the application (#4179) 2026-05-07 23:36:11 +02:00
component feat(frontend): jalali calendar + drop legacy moment-jalali 2026-05-09 00:17:25 +02:00
form refactor(fallbacks): share template, tighter UX, cleaner JSON 2026-05-07 20:27:34 +02:00
modals fix(warp): harden API client and frontend, bump to v0a4005 2026-05-08 09:29:42 +02:00
settings feat(frontend): migrate subpage.html to Vue 3 SPA 2026-05-08 19:44:50 +02:00
inbounds.html fix: filter view in mobile 2026-05-06 14:45:46 +02:00
index.html feat(custom-geo): refresh index UI 2026-05-08 10:09:33 +02:00
login.html fix(security): sanitize remote IP headers and escape log viewer output 2026-05-04 16:39:29 +02:00
settings.html fix(security): sanitize remote IP headers and escape log viewer output 2026-05-04 16:39:29 +02:00
xray.html outbound: mobile style 2026-05-06 13:27:40 +02:00