diff --git a/frontend/src/App.vue b/frontend/src/App.vue index d800a9b..f1291eb 100644 --- a/frontend/src/App.vue +++ b/frontend/src/App.vue @@ -32,7 +32,11 @@ const navigate = (label: string) => { } const mobileNavOpen = ref(false) -const standaloneViews = computed(() => ['Dashboard', 'Settings', 'ProjectDetail', 'Memory', 'Docs', 'Security', 'Incidents', 'Calendar', 'AgentDetail', 'Agents', 'Task Board', 'TaskDetail', 'Notifications'].includes(activeView.value)) +const standaloneViews = computed(() => { + if (route.name === 'Dashboard') return true + if (route.meta?.standalone) return true + return false +}) onMounted(() => { if (auth.isAuthenticated) store.refresh() diff --git a/frontend/src/router.ts b/frontend/src/router.ts index dd5cfea..29c0164 100644 --- a/frontend/src/router.ts +++ b/frontend/src/router.ts @@ -28,22 +28,22 @@ const routes = [ ], }, - { path: '/memory', name: 'Memory', component: MemoryView }, - { path: '/docs', name: 'Docs', component: DocsView }, - { path: '/agents/:id', name: 'AgentDetail', component: AgentDetailView }, - { path: '/security', name: 'Security', component: SecurityView }, - { path: '/incidents', name: 'Incidents', component: IncidentsView }, - { path: '/calendar', name: 'Calendar', component: CalendarView }, + { path: '/memory', name: 'Memory', component: MemoryView, meta: { standalone: true } }, + { path: '/docs', name: 'Docs', component: DocsView, meta: { standalone: true } }, + { path: '/agents/:id', name: 'AgentDetail', component: AgentDetailView, meta: { standalone: true } }, + { path: '/security', name: 'Security', component: SecurityView, meta: { standalone: true } }, + { path: '/incidents', name: 'Incidents', component: IncidentsView, meta: { standalone: true } }, + { path: '/calendar', name: 'Calendar', component: CalendarView, meta: { standalone: true } }, { path: '/projects', name: 'Projects', component: { template: '' } }, - { path: '/projects/:id', name: 'ProjectDetail', component: ProjectDetailView }, - { path: '/tasks', name: 'Task Board', component: TaskBoardView }, - { path: '/tasks/:id', name: 'TaskDetail', component: TaskDetailView }, - { path: '/agents', name: 'Agents', component: AgentsIndexView }, + { path: '/projects/:id', name: 'ProjectDetail', component: ProjectDetailView, meta: { standalone: true } }, + { path: '/tasks', name: 'Task Board', component: TaskBoardView, meta: { standalone: true } }, + { path: '/tasks/:id', name: 'TaskDetail', component: TaskDetailView, meta: { standalone: true } }, + { path: '/agents', name: 'Agents', component: AgentsIndexView, meta: { standalone: true } }, { path: '/models', name: 'Models', component: { template: '' } }, { path: '/activity', name: 'Activity', component: { template: '' } }, { path: '/chat', name: 'Mobile Chat', component: { template: '' } }, - { path: '/notifications', name: 'Notifications', component: NotificationsView }, - { path: '/settings', name: 'Settings', component: SettingsView }, + { path: '/notifications', name: 'Notifications', component: NotificationsView, meta: { standalone: true } }, + { path: '/settings', name: 'Settings', component: SettingsView, meta: { standalone: true } }, { path: '/:pathMatch(.*)*', redirect: '/dashboard' }, ]