diff --git a/.claude/plans/reflective-meandering-castle.md b/.claude/plans/reflective-meandering-castle.md index 4c3e5700..bd3dadb0 100644 --- a/.claude/plans/reflective-meandering-castle.md +++ b/.claude/plans/reflective-meandering-castle.md @@ -64,7 +64,7 @@ After getting Claude Max OAuth working on the live server, hardening the deploy - **Change**: Import `useAppStore` and `useAppLauncherStore`. Create computed `dynamicAppItems` from `store.packages`. Merge with static help tree items in Fuse search. When app item selected, call `launchApp()`. - **Verify**: CMD+K, type app name, appears in results, click to launch -### Task 11: Setup/Dashboard tabs on Home +### Task 11: Setup/Dashboard tabs on Home [DONE] - **Files**: `neode-ui/src/views/Home.vue`, `neode-ui/src/style.css` - **Change**: Add tab bar with "Dashboard" and "Setup" tabs below welcome header. Dashboard tab: current overview cards. Setup tab: EasyHome goal cards (already imported). After completing all setup wizards, default to Dashboard. Use `.mode-switcher` pattern for tab styling. - **Verify**: Both tabs visible, Dashboard shows live data, Setup shows goal wizards diff --git a/neode-ui/src/views/Home.vue b/neode-ui/src/views/Home.vue index bebdf8e5..3b540a0c 100644 --- a/neode-ui/src/views/Home.vue +++ b/neode-ui/src/views/Home.vue @@ -11,19 +11,26 @@ - - + + +
@@ -289,6 +298,7 @@ import { fileBrowserClient } from '@/api/filebrowser-client' const router = useRouter() const uiMode = useUIModeStore() +const homeTab = ref<'dashboard' | 'setup'>('dashboard') const topGoals = GOALS.slice(0, 3) // Apps required by the top 3 goals — if all installed, no need to show Quick Start