ghostguild-org/app/components
Jennie Robinson Faber 92e7dae74c
Some checks failed
Test / vitest (push) Successful in 11m48s
Test / playwright (push) Failing after 9m50s
Test / visual (push) Failing after 9m19s
Test / Notify on failure (push) Successful in 2s
feat(admin): add restore dismissed alerts flow
Admins can now surface dismissed alert types without waiting for the
underlying data to change. Adds a collapsible "Restore dismissed"
section below the active alerts with per-type checkboxes.

- ALERT_METADATA map in adminAlerts.js as the single source of truth
  for slug → title/severity; detectors refactored to reference it
- GET /api/admin/alerts/dismissed returns this admin's dismissals
  joined with metadata (title, severity, dismissedAt)
- POST /api/admin/alerts/restore deletes dismissals by alertType[],
  returns the deleted count
- AdminAlertsPanel fetches both active + dismissed; stays visible
  when either is non-empty; checkboxes + "Restore selected" button
- adminAlertRestoreSchema validates the POST body against the enum
- Auth guards test covers both new routes
2026-04-08 12:22:35 +01:00
..
admin feat(admin): add restore dismissed alerts flow 2026-04-08 12:22:35 +01:00
AppNavigation.vue feat: add connections page, composable, nav badge, and peer-support redirect 2026-04-05 16:56:40 +01:00
CircleBadge.vue feat: add zine-direction shared components 2026-04-02 21:16:00 +01:00
CirclePicker.vue feat: add zine-direction shared components 2026-04-02 21:16:00 +01:00
ColorModeToggle.vue UI/UX tweaks and improvements. 2026-04-05 12:28:41 +01:00
CooperativeTagSelector.vue fix: correct POST body field name and state enum values in tag components 2026-04-05 16:25:10 +01:00
CraftTagSelector.vue Add CraftTagSelector, CooperativeTagSelector, and TagSuggestModal components 2026-04-05 16:23:22 +01:00
DashedBox.vue feat: add zine-direction shared components 2026-04-02 21:16:00 +01:00
DevLoginPanel.vue Accessibility fixes. 2026-04-05 16:03:10 +01:00
EventSeriesBadge.vue Migrate design system from ethereal/cool to warm/craft/guild theme 2026-02-24 20:01:11 +00:00
EventSeriesTicketCard.vue Readying for design 2026-03-04 18:24:20 +00:00
EventsMiniSidebar.vue UX/UI improvements. 2026-04-05 13:26:51 +01:00
EventTicketCard.vue fix: use private helcimApiToken for all server-side Helcim API calls 2026-04-04 13:37:34 +01:00
EventTicketPurchase.vue Readying for design 2026-03-04 18:24:20 +00:00
FilterBar.vue feat: add zine-direction shared components 2026-04-02 21:16:00 +01:00
ImageUpload.vue Readying for design 2026-03-04 18:24:20 +00:00
LoginModal.vue Huge bunch of UI/UX improvements and tweaks! 2026-04-06 16:17:12 +01:00
MemberStatusBanner.vue UI/UX tweaks and improvements. 2026-04-05 12:28:41 +01:00
MemberStatusIndicator.vue Many an update! 2025-12-01 15:26:42 +00:00
NaturalDateInput.vue feat: reskin admin pages to zine design system 2026-04-03 10:56:01 +01:00
PageHeader.vue feat: add zine-direction shared components 2026-04-02 21:16:00 +01:00
ParchmentInset.vue feat: reskin admin pages to zine design system 2026-04-03 10:56:01 +01:00
PeerSupportBadge.vue Readying for design 2026-03-04 18:24:20 +00:00
PrivacyToggle.vue UI/UX tweaks and improvements. 2026-04-05 12:28:41 +01:00
SeriesPassPurchase.vue fix: use private helcimApiToken for all server-side Helcim API calls 2026-04-04 13:37:34 +01:00
SidebarLayout.vue Tests, UX improvements. 2026-04-05 14:25:29 +01:00
TagInput.vue UI/UX tweaks and improvements. 2026-04-05 12:28:41 +01:00
TagSuggestModal.vue fix: correct POST body field name and state enum values in tag components 2026-04-05 16:25:10 +01:00
TierPicker.vue UI/UX tweaks and improvements. 2026-04-05 12:28:41 +01:00
TopStrip.vue UX/UI improvements. 2026-04-05 13:26:51 +01:00