feat: production hardening UI - tags page, onboarding wizard, pagination
Some checks failed
CI/CD / test (push) Failing after 21s
CI/CD / deploy (push) Has been skipped

- Tags management page: grid cards, rename/delete/merge modals, color-coded
- Onboarding wizard: 4-step full-screen flow for new users (welcome, client, style, tour)
- Client list pagination: page controls, page size selector, URL query params
- Pipeline view unaffected (shows all clients)
- Tags added to sidebar navigation
- All components support dark mode
This commit is contained in:
2026-01-30 01:37:40 +00:00
parent 1340893144
commit 7a956aebec
6 changed files with 867 additions and 7 deletions

View File

@@ -23,6 +23,7 @@ const InvitePage = lazy(() => import('@/pages/InvitePage'));
const ForgotPasswordPage = lazy(() => import('@/pages/ForgotPasswordPage'));
const ResetPasswordPage = lazy(() => import('@/pages/ResetPasswordPage'));
const AuditLogPage = lazy(() => import('@/pages/AuditLogPage'));
const TagsPage = lazy(() => import('@/pages/TagsPage'));
function ProtectedRoute({ children }: { children: React.ReactNode }) {
const { isAuthenticated, isLoading } = useAuthStore();
@@ -76,6 +77,7 @@ export default function App() {
<Route path="network" element={<PageErrorBoundary><NetworkPage /></PageErrorBoundary>} />
<Route path="reports" element={<PageErrorBoundary><ReportsPage /></PageErrorBoundary>} />
<Route path="templates" element={<PageErrorBoundary><TemplatesPage /></PageErrorBoundary>} />
<Route path="tags" element={<PageErrorBoundary><TagsPage /></PageErrorBoundary>} />
<Route path="segments" element={<PageErrorBoundary><SegmentsPage /></PageErrorBoundary>} />
<Route path="settings" element={<PageErrorBoundary><SettingsPage /></PageErrorBoundary>} />
<Route path="admin" element={<PageErrorBoundary><AdminPage /></PageErrorBoundary>} />