refactor(frontend): Reorganize pages with tabbed Settings and focused System page

- Create new tabbed Settings component combining accounts and notifications
- Extract sync operations into dedicated System component
- Update routing: /notifications → /system with proper navigation labels
- Remove duplicate page headers (using existing SiteHeader)
- Add shadcn tabs component for better UX
- Fix mypy error in database_service.py (handle None lastrowid)

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Elisiário Couto
2025-09-22 22:58:49 +01:00
committed by Elisiário Couto
parent 3f2ff21eac
commit 65404848aa
10 changed files with 953 additions and 9 deletions

View File

@@ -10,6 +10,7 @@
import { Route as rootRouteImport } from './routes/__root'
import { Route as TransactionsRouteImport } from './routes/transactions'
import { Route as SystemRouteImport } from './routes/system'
import { Route as SettingsRouteImport } from './routes/settings'
import { Route as NotificationsRouteImport } from './routes/notifications'
import { Route as AnalyticsRouteImport } from './routes/analytics'
@@ -20,6 +21,11 @@ const TransactionsRoute = TransactionsRouteImport.update({
path: '/transactions',
getParentRoute: () => rootRouteImport,
} as any)
const SystemRoute = SystemRouteImport.update({
id: '/system',
path: '/system',
getParentRoute: () => rootRouteImport,
} as any)
const SettingsRoute = SettingsRouteImport.update({
id: '/settings',
path: '/settings',
@@ -46,6 +52,7 @@ export interface FileRoutesByFullPath {
'/analytics': typeof AnalyticsRoute
'/notifications': typeof NotificationsRoute
'/settings': typeof SettingsRoute
'/system': typeof SystemRoute
'/transactions': typeof TransactionsRoute
}
export interface FileRoutesByTo {
@@ -53,6 +60,7 @@ export interface FileRoutesByTo {
'/analytics': typeof AnalyticsRoute
'/notifications': typeof NotificationsRoute
'/settings': typeof SettingsRoute
'/system': typeof SystemRoute
'/transactions': typeof TransactionsRoute
}
export interface FileRoutesById {
@@ -61,6 +69,7 @@ export interface FileRoutesById {
'/analytics': typeof AnalyticsRoute
'/notifications': typeof NotificationsRoute
'/settings': typeof SettingsRoute
'/system': typeof SystemRoute
'/transactions': typeof TransactionsRoute
}
export interface FileRouteTypes {
@@ -70,15 +79,23 @@ export interface FileRouteTypes {
| '/analytics'
| '/notifications'
| '/settings'
| '/system'
| '/transactions'
fileRoutesByTo: FileRoutesByTo
to: '/' | '/analytics' | '/notifications' | '/settings' | '/transactions'
to:
| '/'
| '/analytics'
| '/notifications'
| '/settings'
| '/system'
| '/transactions'
id:
| '__root__'
| '/'
| '/analytics'
| '/notifications'
| '/settings'
| '/system'
| '/transactions'
fileRoutesById: FileRoutesById
}
@@ -87,6 +104,7 @@ export interface RootRouteChildren {
AnalyticsRoute: typeof AnalyticsRoute
NotificationsRoute: typeof NotificationsRoute
SettingsRoute: typeof SettingsRoute
SystemRoute: typeof SystemRoute
TransactionsRoute: typeof TransactionsRoute
}
@@ -99,6 +117,13 @@ declare module '@tanstack/react-router' {
preLoaderRoute: typeof TransactionsRouteImport
parentRoute: typeof rootRouteImport
}
'/system': {
id: '/system'
path: '/system'
fullPath: '/system'
preLoaderRoute: typeof SystemRouteImport
parentRoute: typeof rootRouteImport
}
'/settings': {
id: '/settings'
path: '/settings'
@@ -135,6 +160,7 @@ const rootRouteChildren: RootRouteChildren = {
AnalyticsRoute: AnalyticsRoute,
NotificationsRoute: NotificationsRoute,
SettingsRoute: SettingsRoute,
SystemRoute: SystemRoute,
TransactionsRoute: TransactionsRoute,
}
export const routeTree = rootRouteImport