peregrine/web
pyr0ball 75cc0760e1 feat(vue-spa): JobReviewView card stack with swipe gestures
- stores/review.ts: Pinia setup store — pending queue, undo stack,
  stoop-speed session timer (easter egg 9.2: 10 cards/60s)
- components/JobCard.vue: card content with match-score badge (colored
  pill), keyword-gap pills, expand/collapse description, footer with
  job URL + relative date; shimmer animation for ≥95% matches (ee 9.4)
- components/JobCardStack.vue: pointer-event drag with setPointerCapture,
  rolling 50ms velocity buffer for fling detection (600px/s + cos45°
  alignment), left/right color-tint overlay (red/green), spring snap-back
  on no-action, buffered exit animation before emitting approve/reject
- views/JobReviewView.vue: segmented status tabs, card stack for pending,
  list view for other statuses, action buttons, keyboard shortcuts
  (←/J reject, →/L approve, S skip, Z undo, ? help), help overlay,
  undo toast (5s), falcon stoop empty state (easter egg 9.3)
2026-03-17 22:30:33 -07:00
..
src feat(vue-spa): JobReviewView card stack with swipe gestures 2026-03-17 22:30:33 -07:00
.gitignore feat(web): Vue 3 SPA scaffold with avocet lessons applied 2026-03-17 21:24:00 -07:00
index.html feat(web): Vue 3 SPA scaffold with avocet lessons applied 2026-03-17 21:24:00 -07:00
package-lock.json feat(vue-spa): JobReviewView card stack with swipe gestures 2026-03-17 22:30:33 -07:00
package.json feat(vue-spa): JobReviewView card stack with swipe gestures 2026-03-17 22:30:33 -07:00
tsconfig.app.json feat(web): Vue 3 SPA scaffold with avocet lessons applied 2026-03-17 21:24:00 -07:00
tsconfig.json feat(web): Vue 3 SPA scaffold with avocet lessons applied 2026-03-17 21:24:00 -07:00
tsconfig.node.json feat(web): Vue 3 SPA scaffold with avocet lessons applied 2026-03-17 21:24:00 -07:00
uno.config.ts feat(web): Vue 3 SPA scaffold with avocet lessons applied 2026-03-17 21:24:00 -07:00
vite.config.ts feat(web): Vue 3 SPA scaffold with avocet lessons applied 2026-03-17 21:24:00 -07:00