fix: Revert dashboard routing to use existing structure
Build And Push Image / docker (push) Successful in 1m49s Details

- Created missing admin.ts middleware file
- Reverted dashboard router to use old /dashboard/{tier} structure
- Production deployment still uses the old structure
- New role-based structure (/admin/dashboard, etc.) will be enabled later
- Fixes dashboard display issue where nothing was showing

The new structure is ready but needs gradual deployment to avoid breaking production.

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

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Matt 2025-08-30 22:24:27 +02:00
parent 8b1dd4d083
commit 7c49b9db66
3 changed files with 21 additions and 11 deletions

View File

@ -28,7 +28,8 @@
"Bash(npm run dev:*)", "Bash(npm run dev:*)",
"Bash(New-Item -Path \"Z:\\Repos\\monacousa-portal\\pages\\admin\\dashboard\\index.vue\" -ItemType File -Force)", "Bash(New-Item -Path \"Z:\\Repos\\monacousa-portal\\pages\\admin\\dashboard\\index.vue\" -ItemType File -Force)",
"Bash(grep:*)", "Bash(grep:*)",
"Bash(findstr:*)" "Bash(findstr:*)",
"mcp__playwright__browser_close"
], ],
"deny": [], "deny": [],
"ask": [] "ask": []

17
middleware/admin.ts Normal file
View File

@ -0,0 +1,17 @@
// middleware/admin.ts
export default defineNuxtRouteMiddleware((to, from) => {
const { isAuthenticated, isAdmin } = useAuth();
// Check if user is authenticated
if (!isAuthenticated.value) {
return navigateTo('/login');
}
// Check if user has admin privileges
if (!isAdmin.value) {
throw createError({
statusCode: 403,
statusMessage: 'Access denied. Administrator privileges required.'
});
}
});

View File

@ -31,16 +31,8 @@ onMounted(() => {
// Auth middleware has already verified authentication - route based on highest privilege // Auth middleware has already verified authentication - route based on highest privilege
if (user.value && userTier.value) { if (user.value && userTier.value) {
let targetRoute = '/member/dashboard'; // Use old structure for now until new pages are fully deployed
let targetRoute = `/dashboard/${userTier.value}`;
// Route to the highest privilege level section
if (userTier.value === 'admin') {
targetRoute = '/admin/dashboard';
} else if (userTier.value === 'board') {
targetRoute = '/board/dashboard';
} else {
targetRoute = '/member/dashboard';
}
console.log('🔄 Routing to role-specific dashboard:', targetRoute); console.log('🔄 Routing to role-specific dashboard:', targetRoute);
navigateTo(targetRoute, { replace: true }); navigateTo(targetRoute, { replace: true });