No description
- src/lib/ezy.ts — getTariffs() (5min cache), createPayment() via multipart/form-data - src/lib/qr.ts — generateQRDataUrl(), getTicketVerifyUrl() - src/lib/email.ts — Nodemailer HTML confirmation email - src/app/(frontend)/payments/page.tsx — 3-step checkout (select → buyer → pay) - src/app/(frontend)/thank-you/page.tsx — simple confirmation (ezy handles ticket display) - src/app/api/tickets/create/route.ts — Order(PENDING) → ezy.createPayment() → paymentUrl - src/app/api/tickets/webhook/route.ts — mark PAID, create Ticket records with QR URLs - src/app/api/tickets/verify/[code]/route.ts — staff scanner endpoint, marks isUsed - Fix: orderNumber/ticketCode not required in schema (hooks generate them) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .claude | ||
| docker/postgres | ||
| src | ||
| .env.example | ||
| .gitignore | ||
| .npmrc | ||
| .pnpmfile.cjs | ||
| components.json | ||
| CONTEXT_HANDOVER.md | ||
| docker-compose.yml | ||
| Dockerfile | ||
| implementation_plan.md | ||
| next-env.d.ts | ||
| next.config.ts | ||
| package.json | ||
| pnpm-lock.yaml | ||
| postcss.config.mjs | ||
| tsconfig.json | ||
| tsconfig.tsbuildinfo | ||