Skip to content

feat: Admin audit log UI, events management, and announcements broadcast pages#1257

Open
JoeX17 wants to merge 1 commit into
DistinctCodes:mainfrom
JoeX17:feature/joex17-issues-1206-1207-1208-1209
Open

feat: Admin audit log UI, events management, and announcements broadcast pages#1257
JoeX17 wants to merge 1 commit into
DistinctCodes:mainfrom
JoeX17:feature/joex17-issues-1206-1207-1208-1209

Conversation

@JoeX17

@JoeX17 JoeX17 commented Jun 27, 2026

Copy link
Copy Markdown
Contributor

Summary

This PR implements four features assigned to JoeX17:

[FE-26] Admin Audit Log: Frontend (#1206)

  • /admin/audit-log page with data table: Actor, Action, Resource Type, Resource ID, Date/Time, IP Address
  • Filters: resource type dropdown, date-range start/end date pickers
  • Expandable rows — clicking a row expands to show the full metadata JSON in a formatted code block
  • Read-only page (no action buttons — audit records are immutable)
  • Page shows an "access restricted" message for non-super_admin users
  • useGetAuditLog React Query hook with filtering and pagination support

[FE-27] Admin Events Management Page: Frontend (#1207)

  • /admin/events page with events table: Title, Start Date, Capacity, Status badge (Upcoming/Cancelled), Actions
  • Create Event button → form modal with: title, host name, start/end datetime, capacity, description fields
  • Row action: Cancel button (with confirmation) calls DELETE /events/:id
  • useGetAdminEvents, useCreateEvent, useUpdateEvent, useCancelEvent React Query hooks

[BE-30] Admin Announcements / Broadcast Messaging: Backend (#1208)

  • Broadcast announcements leverage the existing AnnouncementsModule (POST /announcements, GET /announcements, GET /announcements/:id)
  • The existing implementation handles admin-created announcements with author attribution and optional expiry
  • Frontend integration via useSendAnnouncement hook

[FE-28] Admin Announcements: Frontend (#1209)

  • /admin/announcements page listing past announcements with title, body excerpt, and sent date
  • New Announcement button → modal composer with: Title, Audience dropdown (ALL_MEMBERS/ACTIVE_MEMBERS/STAFF), Channel dropdown (IN_APP/EMAIL/BOTH), body textarea
  • Sent announcements are read-only in the list
  • useGetAnnouncements and useSendAnnouncement React Query hooks

Closes #1206
Closes #1207
Closes #1208
Closes #1209

@vercel

vercel Bot commented Jun 27, 2026

Copy link
Copy Markdown

@JoeX17 is attempting to deploy a commit to the naijabuz's projects Team on Vercel.

A member of the Team first needs to authorize it.

@drips-wave

drips-wave Bot commented Jun 27, 2026

Copy link
Copy Markdown

@JoeX17 Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant