3x-ui/web
MHSanaei aaaa1a015f
feat(frontend): migrate subpage.html to Vue 3 SPA
The subscription info page was the last page still rendered by Go
templates. Move it to the Vite multi-page setup so the whole panel
loads through one toolchain.

Frontend: SubPage.vue mounts at /sub/<id>?html=1 and reads window.__SUB_PAGE_DATA__
for the parsed view-model (traffic / quota / expiry + rendered share
links). Fix descriptions borders against the light-theme card by
painting the row divider on each cell's bottom edge — AD-Vue's <tr>
border doesn't render reliably under border-collapse:collapse.

Backend: serveSubPage reads dist/subpage.html, injects
window.__X_UI_BASE_PATH__ + window.__SUB_PAGE_DATA__ before </head>,
and rewrites Vite's absolute /assets/ URLs when the panel runs under
a URL prefix. Drop the legacy template-FuncMap wiring and switch the
sub server's static mount from web/assets to web/dist/assets.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-08 19:44:50 +02:00
..
assets Axios v1.16.0 2026-05-08 09:41:56 +02:00
controller fix(frontend): Phase 9 — restore index dashboard, fix login/CSRF, port legacy styles 2026-05-08 17:21:03 +02:00
entity feat: add configurable auto-restart on client auto-disable 2026-05-04 23:19:25 +02:00
global Refactor code and fix linter warnings (#3627) 2026-01-05 05:54:56 +01:00
html feat(frontend): migrate subpage.html to Vue 3 SPA 2026-05-08 19:44:50 +02:00
job fix(fail2ban): fix banning regression and Docker zero-jail issue 2026-05-07 13:53:34 +02:00
locale i18n: collapse two translation databases into a single web/translation/<lang>.json set 2026-05-08 18:05:56 +02:00
middleware Implement CSRF protection and security hardening across the application (#4179) 2026-05-07 23:36:11 +02:00
network docs: add comments for all functions 2025-09-20 09:35:50 +02:00
service fix(warp): harden API client and frontend, bump to v0a4005 2026-05-08 09:29:42 +02:00
session Implement CSRF protection and security hardening across the application (#4179) 2026-05-07 23:36:11 +02:00
translation i18n: collapse two translation databases into a single web/translation/<lang>.json set 2026-05-08 18:05:56 +02:00
websocket ws/inbounds: realtime fixes + perf for 10k+ client inbounds (#4123) 2026-05-05 17:27:49 +02:00
web.go feat(server): Phase 8 — cut HTML routes over to web/dist/ 2026-05-08 14:39:55 +02:00