3x-ui/frontend/src
MHSanaei b5479f3f30
feat(sidebar): pin Logout above trigger, inline 3-state theme cycle
The desktop sider stretched to match the page height, so below lg
(992px) where dashboard cards stack into one column the collapse
trigger plus Logout slid off-screen. Pin the sider with
`position: sticky; height: 100vh; align-self: flex-start` so the chrome
stays viewport-tall. Split the menu into `.sider-nav` (flex: 1,
scrollable) and `.sider-utility` so Logout sits directly above the
48px trigger reserved by padding-bottom.

Replace the `<ThemeSwitch>` a-sub-menu with a single inline icon
button next to the '3X-UI' brand (sun / moon / moon+star SVG). One
click cycles Light -> Dark -> Ultra Dark -> Light. ThemeSwitch.vue
removed since it is now inlined.

Override AD-Vue dark Menu selected + hover/active state on the
sider-nav, sider-utility, and drawer menus to use the same light-blue
tint AD-Vue's light theme uses (rgba(64,150,255,0.2) / #4096ff). The
default dark variant was too subtle against #252526, so the current
page and Logout-on-hover barely distinguished themselves.
2026-05-11 12:05:45 +02:00
..
api refactor(panel): rename injected globals + collapse QR modal entries 2026-05-10 23:40:39 +02:00
components feat(sidebar): pin Logout above trigger, inline 3-state theme cycle 2026-05-11 12:05:45 +02:00
composables feat(frontend): swap QRious for ant-design-vue's a-qrcode 2026-05-11 02:07:47 +02:00
entries Vue3 migration (#4198) 2026-05-09 17:47:35 +02:00
i18n Vue3 migration (#4198) 2026-05-09 17:47:35 +02:00
models fix(outbound): default VLESS encryption to "none" 2026-05-10 23:06:28 +02:00
pages feat(sidebar): pin Logout above trigger, inline 3-state theme cycle 2026-05-11 12:05:45 +02:00
utils feat(inbounds): mobile card layout for inbounds and clients 2026-05-10 01:46:48 +02:00