diff --git a/src/client/components/admin-calendar.tsx b/src/client/components/admin-calendar.tsx index ab261d6..7250f2c 100644 --- a/src/client/components/admin-calendar.tsx +++ b/src/client/components/admin-calendar.tsx @@ -69,8 +69,8 @@ export function AdminCalendar() { const startDate = new Date(firstDay); startDate.setDate(startDate.getDate() - firstDay.getDay()); - const calendarDays = []; - const currentDate = new Date(startDate); + const calendarDays: Date[] = []; + const currentDate: Date = new Date(startDate); for (let i = 0; i < 42; i++) { calendarDays.push(new Date(currentDate)); diff --git a/src/client/components/booking-status-page.tsx b/src/client/components/booking-status-page.tsx index 6c0f5b3..45ba6b2 100644 --- a/src/client/components/booking-status-page.tsx +++ b/src/client/components/booking-status-page.tsx @@ -61,13 +61,15 @@ export default function BookingStatusPage({ token }: BookingStatusPageProps) { // Fetch booking details const { data: booking, isLoading, error, refetch } = useQuery({ queryKey: ["booking", "status", token], - queryFn: () => queryClient.cancellation.getBookingByToken({ token }), + // oRPC React Query Helper liefert .queryOptions() + ...queryClient.cancellation.getBookingByToken.queryOptions({ token }), retry: false, }); // Cancellation mutation const cancelMutation = useMutation({ - mutationFn: () => queryClient.cancellation.cancelByToken({ token }), + // oRPC React Query Helper liefert .mutationOptions() + ...queryClient.cancellation.cancelByToken.mutationOptions(), onSuccess: (result) => { setCancellationResult({ success: true, @@ -90,7 +92,7 @@ export default function BookingStatusPage({ token }: BookingStatusPageProps) { const handleCancel = () => { setIsCancelling(true); setCancellationResult(null); - cancelMutation.mutate(); + cancelMutation.mutate({ token }); }; if (isLoading) { diff --git a/src/server/rpc/bookings.ts b/src/server/rpc/bookings.ts index 4414088..64b4cd3 100644 --- a/src/server/rpc/bookings.ts +++ b/src/server/rpc/bookings.ts @@ -5,7 +5,7 @@ import { createKV } from "@/server/lib/create-kv"; import { createKV as createAvailabilityKV } from "@/server/lib/create-kv"; import { sendEmail, sendEmailWithAGB, sendEmailWithAGBAndCalendar, sendEmailWithInspirationPhoto } from "@/server/lib/email"; import { renderBookingPendingHTML, renderBookingConfirmedHTML, renderBookingCancelledHTML, renderAdminBookingNotificationHTML } from "@/server/lib/email-templates"; -import { router } from "@/server/rpc"; +import { router as rootRouter } from "@/server/rpc"; import { createORPCClient } from "@orpc/client"; import { RPCLink } from "@orpc/client/fetch"; import { checkBookingRateLimit, getClientIP } from "@/server/lib/rate-limiter"; @@ -13,7 +13,7 @@ import { validateEmail } from "@/server/lib/email-validator"; // Create a server-side client to call other RPC endpoints const link = new RPCLink({ url: "http://localhost:5173/rpc" }); -const queryClient = createORPCClient(link); +const queryClient = createORPCClient(link); // Helper function to convert date from yyyy-mm-dd to dd.mm.yyyy function formatDateGerman(dateString: string): string { diff --git a/vite.config.ts b/vite.config.ts index d866a15..82548b4 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -16,7 +16,6 @@ export default defineConfig(({ mode }) => { host: "0.0.0.0", port: 5173, // Erlaube Zugriffe von beliebigen Hosts (lokal + Proxy/Funnel) - allowedHosts: ["localhost", "127.0.0.1", "master11.warbler-bearded.ts.net", ".ts.net"], cors: true, // Keine explizite HMR/Origin-Konfiguration, Vite-Defaults für localhost funktionieren am stabilsten }, @@ -30,8 +29,6 @@ export default defineConfig(({ mode }) => { // it interferes with image imports. exclude: [/src\/client\/.*/, ...defaultOptions.exclude], entry: "./src/server/index.ts", - // Allow all hosts for Tailscale Funnel - allowedHosts: ["localhost", "127.0.0.1", "master11.warbler-bearded.ts.net", ".ts.net"], }), ], };