From a8f5547c3ccdc7996b086efacffa96308a0fa088 Mon Sep 17 00:00:00 2001 From: Chris Chen Date: Thu, 25 Jun 2026 15:15:20 -0700 Subject: [PATCH] feat(expense-snapshot): route + sidebar nav for snapshot management Co-Authored-By: Claude Opus 4.8 --- APP/src/app/app.routes.ts | 10 ++++++++++ .../app/portals/user-portal/user-portal.component.ts | 2 ++ 2 files changed, 12 insertions(+) diff --git a/APP/src/app/app.routes.ts b/APP/src/app/app.routes.ts index 3835603..3ae8f7f 100644 --- a/APP/src/app/app.routes.ts +++ b/APP/src/app/app.routes.ts @@ -14,6 +14,7 @@ import { GivingsPageComponent } from './features/giving/pages/givings-page/givin import { OfferingSessionPageComponent } from './features/giving/pages/offering-session-page/offering-session-page.component'; import { ExpenseCategoriesPageComponent } from './features/expense/pages/expense-categories-page/expense-categories-page.component'; import { ExpensesPageComponent } from './features/expense/pages/expenses-page/expenses-page.component'; +import { ExpenseSnapshotsPageComponent } from './features/expense/pages/expense-snapshots-page/expense-snapshots-page.component'; import { MyReimbursementsPageComponent } from './features/expense/pages/my-reimbursements-page/my-reimbursements-page.component'; import { MonthlyStatementPageComponent } from './features/expense/pages/monthly-statement-page/monthly-statement-page.component'; import { FinanceDashboardPageComponent } from './features/finance-dashboard/pages/finance-dashboard-page/finance-dashboard-page.component'; @@ -162,6 +163,15 @@ export const routes: Routes = [ title: 'Expenses', titleZh: '支出', section: 'Finance', }, }, + { + path: 'finance/expense-snapshots', + component: ExpenseSnapshotsPageComponent, + canActivate: [PermissionGuard], + data: { + permission: { module: PermissionModules.Expenses, action: 'read' }, + title: 'Expense Snapshots', titleZh: '費用範本', section: 'Finance', + }, + }, { path: 'finance/expense-categories', component: ExpenseCategoriesPageComponent, diff --git a/APP/src/app/portals/user-portal/user-portal.component.ts b/APP/src/app/portals/user-portal/user-portal.component.ts index 4399781..e7a2353 100644 --- a/APP/src/app/portals/user-portal/user-portal.component.ts +++ b/APP/src/app/portals/user-portal/user-portal.component.ts @@ -132,6 +132,8 @@ export class UserPortalComponent implements OnInit, OnDestroy { permission: { module: PermissionModules.Expenses, action: 'read' } }, { text: 'Expense Categories', icon: categorizeIcon, path: '/user-portal/finance/expense-categories', permission: { module: PermissionModules.ExpenseCategories, action: 'read' } }, + { text: 'Expense Snapshots', icon: categorizeIcon, path: '/user-portal/finance/expense-snapshots', + permission: { module: PermissionModules.Expenses, action: 'read' } }, { text: 'Disbursements', icon: banknoteOutlineIcon, path: '/user-portal/finance/disbursements', permission: { module: PermissionModules.Disbursements, action: 'read' } }, { text: 'Check Register', icon: walletOutlineIcon, path: '/user-portal/finance/check-register',