Every module had buttons that rendered visually but did nothing when
clicked. Server actions existed for all of them. Created client
components with dialogs/forms and wired them in.
BOOKINGS MODULE:
- BookingStatusActions: Check-in/Check-out/Cancel buttons now call
updateBookingStatus server action with loading states + toast
- CreateRoomDialog: 'Neues Zimmer' opens dialog with room number,
name, capacity, price/night fields → calls createRoom
- CreateGuestDialog: 'Neuer Gast' opens dialog with first/last name,
email, phone fields → calls createGuest
COURSES MODULE:
- EnrollParticipantDialog: 'Teilnehmer anmelden' on participants
page opens dialog with first/last name, email, phone → calls
enrollParticipant
EVENTS MODULE:
- EventRegistrationDialog: 'Anmeldung' button on event detail opens
dialog with participant data + DOB → calls registerForEvent
- CreateHolidayPassDialog: 'Neuer Ferienpass' opens dialog with name,
year, description, price, date range → calls createHolidayPass
NEWSLETTER MODULE:
- CreateTemplateDialog: 'Neue Vorlage' opens dialog with name,
subject, HTML body → calls createTemplate
SITE-BUILDER MODULE:
- Posts 'Neuer Beitrag' button now links to /posts/new page
All dialogs use German labels, helpful placeholders, loading spinners,
toast notifications, and form validation appropriate for association
board members (Vereinsvorstände, 40-65, moderate tech skills).
The previous lint fix incorrectly renamed ctx to _ctx in server actions
that actually USE ctx.user.id for authorization. This caused runtime
'ctx is not defined' errors when creating pages, modules, etc.
Reverted all 13 action files back to using ctx properly.