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).
42 lines
1.0 KiB
JSON
42 lines
1.0 KiB
JSON
{
|
|
"name": "@kit/booking-management",
|
|
"version": "0.1.0",
|
|
"private": true,
|
|
"typesVersions": {
|
|
"*": {
|
|
"*": [
|
|
"src/*"
|
|
]
|
|
}
|
|
},
|
|
"exports": {
|
|
"./api": "./src/server/api.ts",
|
|
"./schema/*": "./src/schema/*.ts",
|
|
"./components": "./src/components/index.ts",
|
|
"./actions/*": "./src/server/actions/*.ts",
|
|
"./services/*": "./src/server/services/*.ts",
|
|
"./lib/*": "./src/lib/*.ts"
|
|
},
|
|
"scripts": {
|
|
"clean": "git clean -xdf .turbo node_modules",
|
|
"typecheck": "tsc --noEmit"
|
|
},
|
|
"devDependencies": {
|
|
"@hookform/resolvers": "catalog:",
|
|
"@kit/next": "workspace:*",
|
|
"@kit/shared": "workspace:*",
|
|
"@kit/supabase": "workspace:*",
|
|
"@kit/tsconfig": "workspace:*",
|
|
"@kit/ui": "workspace:*",
|
|
"@supabase/supabase-js": "catalog:",
|
|
"@types/react": "catalog:",
|
|
"next": "catalog:",
|
|
"next-safe-action": "catalog:",
|
|
"react": "catalog:",
|
|
"react-hook-form": "catalog:",
|
|
"zod": "catalog:"
|
|
},
|
|
"dependencies": {
|
|
"lucide-react": "catalog:"
|
|
}
|
|
} |