peregrine/web/src/stores
pyr0ball e0828677a4 feat(wizard): Vue onboarding wizard — all 7 steps + router wiring
- WizardLayout.vue: full-page card, progress bar, crash-recovery via
  loadStatus(isCloud); auto-skips steps 1/2/5 in cloud mode
- wizard.css: shared step styles (headings, banners, radio cards,
  chip lists, form fields, expandables, nav buttons)
- Step 1 — Hardware: GPU detection, profile select, mismatch warning
- Step 2 — Tier: Free/Paid/Premium radio cards
- Step 3 — Resume: upload (PDF/DOCX/ODT) or manual experience builder;
  pre-fills identity fields from parsed resume data
- Step 4 — Identity: name/email/phone/LinkedIn/career summary;
  full validation before saveStep
- Step 5 — Inference: remote API keys vs local Ollama; advanced
  service-host/port expandable; soft-fail connection test
- Step 6 — Search: chip-style job title + location input with
  comma/Enter commit; remote-only checkbox
- Step 7 — Integrations: optional tile-grid (Notion/Calendar/Slack/
  Discord/Drive); paid-tier badge for gated items; calls
  wizard.complete() on Finish
- wizard.ts Pinia store: loadStatus, detectHardware, saveStep,
  testInference, complete; cloud auto-skip logic
- wizardGuard.ts: gates all routes behind /setup until
  wizard_complete; redirects complete users away from /setup
- router/index.ts: /setup nested route tree; unified beforeEach guard
  (wizard gate → setup branch → settings tier gate)
- App.vue: hide AppNav + strip sidebar margin on /setup routes
2026-04-02 18:11:57 -07:00
..
settings feat(web): merge Vue SPA from feature/vue-spa; add ClassicUIButton + useFeatureFlag 2026-03-22 18:46:11 -07:00
appConfig.test.ts feat(web): merge Vue SPA from feature/vue-spa; add ClassicUIButton + useFeatureFlag 2026-03-22 18:46:11 -07:00
appConfig.ts feat(wizard): Vue onboarding wizard — all 7 steps + router wiring 2026-04-02 18:11:57 -07:00
digest.ts feat(web): merge Vue SPA from feature/vue-spa; add ClassicUIButton + useFeatureFlag 2026-03-22 18:46:11 -07:00
interviews.test.ts feat(web): merge Vue SPA from feature/vue-spa; add ClassicUIButton + useFeatureFlag 2026-03-22 18:46:11 -07:00
interviews.ts feat(web): merge Vue SPA from feature/vue-spa; add ClassicUIButton + useFeatureFlag 2026-03-22 18:46:11 -07:00
jobs.ts feat(web): merge Vue SPA from feature/vue-spa; add ClassicUIButton + useFeatureFlag 2026-03-22 18:46:11 -07:00
prep.test.ts feat(web): merge Vue SPA from feature/vue-spa; add ClassicUIButton + useFeatureFlag 2026-03-22 18:46:11 -07:00
prep.ts feat(web): merge Vue SPA from feature/vue-spa; add ClassicUIButton + useFeatureFlag 2026-03-22 18:46:11 -07:00
review.ts feat(web): merge Vue SPA from feature/vue-spa; add ClassicUIButton + useFeatureFlag 2026-03-22 18:46:11 -07:00
survey.test.ts feat(web): merge Vue SPA from feature/vue-spa; add ClassicUIButton + useFeatureFlag 2026-03-22 18:46:11 -07:00
survey.ts feat(web): merge Vue SPA from feature/vue-spa; add ClassicUIButton + useFeatureFlag 2026-03-22 18:46:11 -07:00
tasks.ts feat(web): add task indicator component and task store for background jobs 2026-04-01 07:09:55 -07:00
wizard.ts feat(wizard): Vue onboarding wizard — all 7 steps + router wiring 2026-04-02 18:11:57 -07:00