9 Commits

Author SHA1 Message Date
0d62b568e2 fix: sageOnLogin skips dashboard load when Router has saved route
Added sageOnLogin(dashboardUrl) function that checks if the SPA Router
has a route (via Router.current() or URL ?page= param) before loading
the dashboard. This prevents user_logined event from overwriting
Router-restored content on page refresh with deep links.
2026-05-31 13:08:45 +08:00
c36ada56b1 fix: sidebar collapse width, CRUD height overflow, dashboard VScrollPanel 2026-05-30 21:20:29 +08:00
37b648da0e feat: wire Menu collapse/expand to sidebar toggle button + menu-collapsed CSS 2026-05-29 11:12:56 +08:00
3659533102 fix: responsive layout - sidebar collapse, mobile adaptation, prevent text jumping
- Fix text jumping on right side when screen narrows (min-width:0 on flex item)
- Fix sidebar toggle button not working (retry icon init, proper state sync)
- Mobile adaptation: sidebar as overlay with slide animation
- Auto-collapse sidebar on mobile viewport (<=768px)
- Click outside sidebar to close on mobile
- Responsive padding for stat cards and main content
- Hide brand title on very small screens (<=480px)
- Smooth transitions for sidebar collapse/expand
2026-05-28 16:58:29 +08:00
9f8e5a6d1c fix: retry theme icon update until bricks button element exists 2026-05-28 14:33:59 +08:00
4170c0b009 fix: remove global_menu_widget id from sageReloadMenu urlwidget 2026-05-28 10:35:10 +08:00
cbe725bcee feat: dynamic menu reload on login/logout
- shell.ui: add id to menu urlwidget, binds for sage_login/sage_logout events
- shell_theme.js: add sageReloadMenu() to rebuild menu urlwidget
- global_menu.ui: complete with all 22 modules and role-based visibility
2026-05-27 17:57:40 +08:00
61a1b2b2fa feat: integrate bricks.Router into shell
- shell_theme.js: call bricks.Router.init() with sage_main_content target
- Remove standalone spa_router.js (now built into bricks)
- Remove spa_router.js from load_path.py RBAC
2026-05-27 15:19:19 +08:00
ffdc7fc983 feat: modern UI redesign - shell layout, theme switching, dashboard revamp
Phase 1-2 deliverables:
- shell.ui: Global layout framework (topbar + collapsible sidebar + main content)
- shell_theme.css: Dark/light theme CSS custom properties system
- shell_theme.js: Theme toggle + sidebar collapse with localStorage persistence
- global_menu.ui: Unified module navigation menu with RBAC visibility
- index.ui: Redesigned dashboard homepage with modern stat cards + quick links
- Stat card widgets: today_usage, today_amount, total_users, concurrent, errors
- chart_top_models.ui + api/top_models.dspy: ChartBar with data_url pattern
- table_top_users_amount.ui: Jinja2-rendered user ranking table
- build.sh: Added .css file linking support

Design system:
- Dark theme (default): slate color palette (#0B1120, #111827, #1E293B)
- Light theme: clean white palette with matching structure
- Theme persisted in localStorage, toggled via topbar button
- Sidebar collapsible with icon-only mode, state persisted in localStorage
- Responsive stat cards with hover effects and trend indicators
- Quick link cards for model management, users, knowledge base, errors
2026-05-25 16:53:36 +08:00