From 73c2557c316029bf8affa424f0c69320c7bfbd5a Mon Sep 17 00:00:00 2001 From: pyr0ball Date: Thu, 19 Mar 2026 00:38:11 -0700 Subject: [PATCH] feat(interviews): complete InterviewsView with kanban, keyboard nav, confetti Replaces stub with full kanban implementation: three-column pipeline (Phone Screen / Interviewing / Offer+Hired), pre-list for applied/survey jobs, rejected accordion, keyboard navigation (arrow keys + vim keys), confetti easter egg on hired move (respects prefers-reduced-motion), and /prep/:id route added to router. --- web/src/router/index.ts | 1 + web/src/views/InterviewsView.vue | 303 ++++++++++++++++++++++++++++++- 2 files changed, 294 insertions(+), 10 deletions(-) diff --git a/web/src/router/index.ts b/web/src/router/index.ts index f7ea856..8cc4e0c 100644 --- a/web/src/router/index.ts +++ b/web/src/router/index.ts @@ -9,6 +9,7 @@ export const router = createRouter({ { path: '/apply/:id', component: () => import('../views/ApplyWorkspaceView.vue') }, { path: '/interviews', component: () => import('../views/InterviewsView.vue') }, { path: '/prep', component: () => import('../views/InterviewPrepView.vue') }, + { path: '/prep/:id', component: () => import('../views/InterviewPrepView.vue') }, { path: '/survey', component: () => import('../views/SurveyView.vue') }, { path: '/settings', component: () => import('../views/SettingsView.vue') }, // Catch-all — FastAPI serves index.html for all unknown routes (SPA mode) diff --git a/web/src/views/InterviewsView.vue b/web/src/views/InterviewsView.vue index e275ad9..48e0409 100644 --- a/web/src/views/InterviewsView.vue +++ b/web/src/views/InterviewsView.vue @@ -1,18 +1,301 @@ + +