Skip to content

Feature/event sign admin - #108

Open
conradangwz wants to merge 7 commits into
mainfrom
feature/event-sign-admin
Open

conradangwz wants to merge 7 commits into
mainfrom
feature/event-sign-admin

Conversation

@conradangwz

Copy link
Copy Markdown
Contributor

📑 Description

Added an Event Sign Ups section to the admin dashboard so admins can view registrations for upcoming and past events, manage the waitlist, remove registrations, and record attendance. Includes confirmed/waitlisted tabs, name and email search, attendance filtering, sorting, pagination, and registration totals.

Connected the existing UpcomingEvent signup flow to the ticket API while preserving its design and form fields. Registrations now show confirmed or waitlisted status, prevent duplicate submissions, and respect event capacity and signup opening times.

Updated the event signup view and shared admin table styling to match the existing admin design. Styles are centralised in client/src/style/admin.css using regular CSS, prefixed class names, and reusable theme variables to make future styling changes easier. Includes responsive table/card layouts and improved loading, error, and empty states.

Event payment processing is not connected yet. The existing payment fields remain, but registrations currently use "N/A" as the payment ID.

✏️ Summary of Changes

EventSignupsSection.tsx — added event selection, registration totals, confirmed/waitlisted tabs, attendance filtering and checkboxes, removal confirmation, and waitlist promotion controls
DataTable.tsx — updated shared table styling, search controls, pagination, loading states, and responsive card layout
AdminDashboard.tsx — added the Event Sign Ups dashboard section
AdminSidebar.tsx — added Events navigation
Admin.tsx — added events to the available admin sections
admin.css — centralised shared admin styling in the style folder using regular CSS and reusable theme variables
UpcomingEvent.tsx — connected signup to the registration API, added existing registration lookup, confirmed/waitlisted feedback, and submission guards while retaining the existing fields and layout
EventPageWrapper.tsx — added event registration metadata and prevented stale requests from displaying the wrong event
ticketsApi.ts — added typed registration, lookup, attendance, cancellation, and promotion API helpers
ticketController.ts — added capacity-aware registration, duplicate protection, current-user lookup, admin registration management, and transaction handling
ticketRoutes.ts — added current-user lookup and admin-protected management routes
ticket.ts — added registration status, attendance, waitlist and cancellation fields, plus compound indexes
event.ts — added registration version tracking for concurrent registration updates
index.ts — added ticket index creation before the server starts listening
migrateToWebp.ts — applied formatting updates

📸 Screenshots

image

✅ Ready?

  • Client production build passed
  • Targeted ESLint checks passed for DataTable and EventSignupsSection
  • Verified the regular CSS conversion preserves existing styling
  • Added automated tests for registration and waitlist behaviour
  • Completed end-to-end signup and admin action testing
  • Added updated screenshots
  • Updated documentation/README if necessary
  • Confirmed branch and PR title naming conventions
  • Completed final self-review

@RLee64 RLee64 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm :)

This branch has not been deployed

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants