feat:accessibility, new routes, cookie consent, and UI improvements
- Add contact, privacy, and terms pages - Add CookieConsent component with accept/decline and localStorage - Add self-hosted DM Sans font with @font-face definitions - Improve registration form with field validation, blur handlers, and performer toggle - Redesign Info section with 'Ongedesemd Brood' hero and FAQ layout - Remove scroll-snap behavior from all sections - Add reduced motion support and selection color theming - Add SVG favicon and SEO meta tags in root layout - Improve accessibility: aria attributes, semantic HTML, focus styles - Add link-hover underline animation utility
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
import { randomUUID } from "node:crypto";
|
||||
import { db } from "@kk/db";
|
||||
import { adminRequest, registration } from "@kk/db/schema";
|
||||
import { user } from "@kk/db/schema/auth";
|
||||
import type { RouterClient } from "@orpc/server";
|
||||
import { randomUUID } from "crypto";
|
||||
import { and, count, desc, eq, gte, like, lte } from "drizzle-orm";
|
||||
import { z } from "zod";
|
||||
import { adminProcedure, protectedProcedure, publicProcedure } from "../index";
|
||||
@@ -12,8 +12,10 @@ const submitRegistrationSchema = z.object({
|
||||
lastName: z.string().min(1),
|
||||
email: z.string().email(),
|
||||
phone: z.string().optional(),
|
||||
artForm: z.string().min(1),
|
||||
wantsToPerform: z.boolean().default(false),
|
||||
artForm: z.string().optional(),
|
||||
experience: z.string().optional(),
|
||||
extraQuestions: z.string().optional(),
|
||||
});
|
||||
|
||||
const getRegistrationsSchema = z.object({
|
||||
@@ -46,8 +48,10 @@ export const appRouter = {
|
||||
lastName: input.lastName,
|
||||
email: input.email,
|
||||
phone: input.phone || null,
|
||||
artForm: input.artForm,
|
||||
wantsToPerform: input.wantsToPerform,
|
||||
artForm: input.artForm || null,
|
||||
experience: input.experience || null,
|
||||
extraQuestions: input.extraQuestions || null,
|
||||
});
|
||||
|
||||
return { success: true, id: result.lastInsertRowid };
|
||||
@@ -149,8 +153,10 @@ export const appRouter = {
|
||||
"Last Name",
|
||||
"Email",
|
||||
"Phone",
|
||||
"Wants To Perform",
|
||||
"Art Form",
|
||||
"Experience",
|
||||
"Extra Questions",
|
||||
"Created At",
|
||||
];
|
||||
const rows = data.map((r) => [
|
||||
@@ -159,8 +165,10 @@ export const appRouter = {
|
||||
r.lastName,
|
||||
r.email,
|
||||
r.phone || "",
|
||||
r.artForm,
|
||||
r.wantsToPerform ? "Yes" : "No",
|
||||
r.artForm || "",
|
||||
r.experience || "",
|
||||
r.extraQuestions || "",
|
||||
r.createdAt.toISOString(),
|
||||
]);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user