peregrine/web/src/components
pyr0ball 5bca5aaa20 fix: DemoBanner button contrast — use semantic surface token instead of hardcoded white
--color-primary in dark mode is a medium-light green (#6ab870); white on green
yields ~2.2:1 contrast (fails WCAG AA 4.5:1 minimum). Using --color-surface
(dark navy in dark mode, near-white in light mode) ensures the text always
contrasts strongly with the primary background regardless of theme.

Also tints banner background with 8% primary via color-mix() so it reads as
visually distinct from the page surface without being loud.
2026-04-21 10:14:37 -07:00
..
__tests__ fix(demo): smoke-test fixes — card reset, toast error type, apply hint, text contrast 2026-04-21 10:14:37 -07:00
resume-review feat: add ResumeReviewModal with paged tab navigation and color-coded status 2026-04-12 11:18:01 -07:00
ApplyWorkspace.vue feat: Interview prep Q&A, cf-orch hardware profile, a11y fixes, dark theme 2026-04-14 17:01:18 -07:00
AppNav.vue feat: /messages route + /contacts redirect + nav rename (#74) 2026-04-20 13:04:27 -07:00
ClassicUIButton.vue feat(web): merge Vue SPA from feature/vue-spa; add ClassicUIButton + useFeatureFlag 2026-03-22 18:46:11 -07:00
CompanyResearchModal.vue feat: Vue SPA demo mode support 2026-04-06 00:07:26 -07:00
DemoBanner.vue fix: DemoBanner button contrast — use semantic surface token instead of hardcoded white 2026-04-21 10:14:37 -07:00
HintChip.vue fix(demo): smoke-test fixes — card reset, toast error type, apply hint, text contrast 2026-04-21 10:14:37 -07:00
InterviewCard.vue feat: shadow listing detector, hired feedback widget, contacts manager 2026-04-15 08:34:12 -07:00
JobCard.vue feat: shadow listing detector, hired feedback widget, contacts manager 2026-04-15 08:34:12 -07:00
JobCardStack.vue fix(demo): smoke-test fixes — card reset, toast error type, apply hint, text contrast 2026-04-21 10:14:37 -07:00
MarkdownView.vue feat: Interview prep Q&A, cf-orch hardware profile, a11y fixes, dark theme 2026-04-14 17:01:18 -07:00
MessageLogModal.vue fix: thread logged_at through message stack; Esc handler and localNow fixes 2026-04-20 12:55:41 -07:00
MessageTemplateModal.vue feat: MessageTemplateModal component (apply/create/edit modes) (#74) 2026-04-20 12:58:00 -07:00
MoveToSheet.vue feat(web): merge Vue SPA from feature/vue-spa; add ClassicUIButton + useFeatureFlag 2026-03-22 18:46:11 -07:00
ResumeLibraryCard.vue fix: review issues — import size limit, aria labels, CSS vars, Set reactivity 2026-04-12 11:52:23 -07:00
ResumeOptimizerPanel.vue fix: review issues — import size limit, aria labels, CSS vars, Set reactivity 2026-04-12 11:52:23 -07:00
ResumeReviewModal.vue fix: review issues — import size limit, aria labels, CSS vars, Set reactivity 2026-04-12 11:52:23 -07:00
ResumeSyncConfirmModal.vue feat: ResumeSyncConfirmModal — before/after confirmation for profile sync 2026-04-16 14:11:37 -07:00
TaskIndicator.vue feat(web): add task indicator component and task store for background jobs 2026-04-01 07:09:55 -07:00
WelcomeModal.vue feat(demo): add WelcomeModal with localStorage gate 2026-04-21 10:14:15 -07:00
WorkflowButton.vue feat(web): merge Vue SPA from feature/vue-spa; add ClassicUIButton + useFeatureFlag 2026-03-22 18:46:11 -07:00