diff --git a/web/src/components/AppNav.vue b/web/src/components/AppNav.vue index 011afb4..8501cd3 100644 --- a/web/src/components/AppNav.vue +++ b/web/src/components/AppNav.vue @@ -71,9 +71,13 @@ import { CalendarDaysIcon, LightBulbIcon, MagnifyingGlassIcon, + NewspaperIcon, Cog6ToothIcon, } from '@heroicons/vue/24/outline' +import { useDigestStore } from '../stores/digest' +const digestStore = useDigestStore() + // Logo click easter egg — 9.6: Click the Bird 5× rapidly const logoClickCount = ref(0) const ruffling = ref(false) @@ -101,14 +105,16 @@ function exitHackerMode() { localStorage.removeItem('cf-hacker-mode') } -const navLinks = [ +const navLinks = computed(() => [ { to: '/', icon: HomeIcon, label: 'Home' }, { to: '/review', icon: ClipboardDocumentListIcon, label: 'Job Review' }, { to: '/apply', icon: PencilSquareIcon, label: 'Apply' }, { to: '/interviews', icon: CalendarDaysIcon, label: 'Interviews' }, + { to: '/digest', icon: NewspaperIcon, label: 'Digest', + badge: digestStore.entries.length || undefined }, { to: '/prep', icon: LightBulbIcon, label: 'Interview Prep' }, { to: '/survey', icon: MagnifyingGlassIcon, label: 'Survey' }, -] +]) // Mobile: only the 5 most-used views const mobileLinks = [ diff --git a/web/src/router/index.ts b/web/src/router/index.ts index 8cc4e0c..78ffeb8 100644 --- a/web/src/router/index.ts +++ b/web/src/router/index.ts @@ -8,6 +8,7 @@ export const router = createRouter({ { path: '/apply', component: () => import('../views/ApplyView.vue') }, { path: '/apply/:id', component: () => import('../views/ApplyWorkspaceView.vue') }, { path: '/interviews', component: () => import('../views/InterviewsView.vue') }, + { path: '/digest', component: () => import('../views/DigestView.vue') }, { path: '/prep', component: () => import('../views/InterviewPrepView.vue') }, { path: '/prep/:id', component: () => import('../views/InterviewPrepView.vue') }, { path: '/survey', component: () => import('../views/SurveyView.vue') },