diff --git a/app/[event-code]/loading.tsx b/app/[event-code]/loading.tsx index df4d086d..786da26d 100644 --- a/app/[event-code]/loading.tsx +++ b/app/[event-code]/loading.tsx @@ -8,20 +8,18 @@ export default function Loading() {
-
+
-
-
-
-
-
+
+ +
+
+
- -
); diff --git a/app/[event-code]/page.tsx b/app/[event-code]/page.tsx index 8ab1599b..c8e56fbf 100644 --- a/app/[event-code]/page.tsx +++ b/app/[event-code]/page.tsx @@ -1,10 +1,13 @@ import { notFound } from "next/navigation"; -import { fetchEventDetails, fetchSelfAvailability } from "../_utils/fetch-data"; -import { processEventData } from "../_utils/process-event-data"; +import { + fetchEventDetails, + fetchAvailabilityData, +} from "@/app/_utils/fetch-data"; +import { processEventData } from "@/app/_utils/process-event-data"; -import AvailabilityClientPage from "@/app/ui/layout/availability-page"; -import { EventCodePageProps } from "../_lib/types/event-code-page-props"; -import { getAuthCookieString } from "../_utils/cookie-utils"; +import ResultsPage from "@/app/ui/layout/results-page"; +import { getAuthCookieString } from "@/app/_utils/cookie-utils"; +import { EventCodePageProps } from "@/app/_lib/types/event-code-page-props"; export default async function Page({ params }: EventCodePageProps) { const { "event-code": eventCode } = await params; @@ -14,18 +17,20 @@ export default async function Page({ params }: EventCodePageProps) { notFound(); } - const [eventData, initialAvailabilityData] = await Promise.all([ - fetchEventDetails(eventCode), - fetchSelfAvailability(eventCode, authCookies), + const [initialEventData, availabilityData] = await Promise.all([ + fetchEventDetails(eventCode, authCookies), + fetchAvailabilityData(eventCode, authCookies), ]); - const { eventName, eventRange } = processEventData(eventData); + + // Process the data here, on the server! + const { eventName, eventRange } = processEventData(initialEventData); return ( - ); } diff --git a/app/[event-code]/results/loading.tsx b/app/[event-code]/painting/loading.tsx similarity index 69% rename from app/[event-code]/results/loading.tsx rename to app/[event-code]/painting/loading.tsx index 786da26d..df4d086d 100644 --- a/app/[event-code]/results/loading.tsx +++ b/app/[event-code]/painting/loading.tsx @@ -8,18 +8,20 @@ export default function Loading() {
-
+
-
- -
-
- +
+
+
+
+
+ +
); diff --git a/app/[event-code]/results/page.tsx b/app/[event-code]/painting/page.tsx similarity index 52% rename from app/[event-code]/results/page.tsx rename to app/[event-code]/painting/page.tsx index c8e56fbf..6422bc79 100644 --- a/app/[event-code]/results/page.tsx +++ b/app/[event-code]/painting/page.tsx @@ -1,13 +1,13 @@ import { notFound } from "next/navigation"; import { fetchEventDetails, - fetchAvailabilityData, + fetchSelfAvailability, } from "@/app/_utils/fetch-data"; import { processEventData } from "@/app/_utils/process-event-data"; -import ResultsPage from "@/app/ui/layout/results-page"; -import { getAuthCookieString } from "@/app/_utils/cookie-utils"; +import AvailabilityClientPage from "@/app/ui/layout/availability-page"; import { EventCodePageProps } from "@/app/_lib/types/event-code-page-props"; +import { getAuthCookieString } from "@/app/_utils/cookie-utils"; export default async function Page({ params }: EventCodePageProps) { const { "event-code": eventCode } = await params; @@ -17,20 +17,18 @@ export default async function Page({ params }: EventCodePageProps) { notFound(); } - const [initialEventData, availabilityData] = await Promise.all([ - fetchEventDetails(eventCode, authCookies), - fetchAvailabilityData(eventCode, authCookies), + const [eventData, initialAvailabilityData] = await Promise.all([ + fetchEventDetails(eventCode), + fetchSelfAvailability(eventCode, authCookies), ]); - - // Process the data here, on the server! - const { eventName, eventRange } = processEventData(initialEventData); + const { eventName, eventRange } = processEventData(eventData); return ( - ); } diff --git a/app/ui/components/selectors/time-selector.tsx b/app/ui/components/selectors/time-selector.tsx index 98d71b75..7757c819 100644 --- a/app/ui/components/selectors/time-selector.tsx +++ b/app/ui/components/selectors/time-selector.tsx @@ -19,7 +19,7 @@ export default function TimeSelector({ }: TimeSelectorProps) { const isMobile = useCheckMobile(); - let options = Array.from({ length: 24 }, (_, i) => { + const options = Array.from({ length: 24 }, (_, i) => { const hour = i % 12 === 0 ? 12 : i % 12; const period = i < 12 ? "am" : "pm"; return { label: `${hour}:00 ${period}`, value: i }; diff --git a/app/ui/components/toasts/copy-toast.tsx b/app/ui/components/toasts/copy-toast.tsx index 48c297f0..891dac78 100644 --- a/app/ui/components/toasts/copy-toast.tsx +++ b/app/ui/components/toasts/copy-toast.tsx @@ -3,9 +3,10 @@ import { CopyIcon } from "@radix-ui/react-icons"; import { useToast } from "@/app/_lib/toast-context"; -export default function CopyToast() { +export default function CopyToast({ code }: { code: string }) { const { addToast } = useToast(); - const currentURL = typeof window !== "undefined" ? window.location.href : ""; + const currentURL = + typeof window !== "undefined" ? `${window.location.origin}/${code}` : ""; const copyToClipboard = async () => { try { diff --git a/app/ui/components/weekday-calendar.tsx b/app/ui/components/weekday-calendar.tsx index f21a4e1d..850692f0 100644 --- a/app/ui/components/weekday-calendar.tsx +++ b/app/ui/components/weekday-calendar.tsx @@ -14,7 +14,6 @@ type WeekdayCalendarProps = { export default function WeekdayCalendar({ selectedDays, onChange, - inDrawer = false, }: WeekdayCalendarProps) { // const [startMonday, setStartMonday] = useState(false); // const reorderedDays = startMonday ? [...days.slice(1), days[0]] : days; diff --git a/app/ui/layout/availability-page.tsx b/app/ui/layout/availability-page.tsx index e2381543..3cf236ea 100644 --- a/app/ui/layout/availability-page.tsx +++ b/app/ui/layout/availability-page.tsx @@ -88,7 +88,7 @@ export default function AvailabilityPage({ body: JSON.stringify(payload), }); - if (response.ok) router.push(`/${eventCode}/results`); + if (response.ok) router.push(`/${eventCode}`); else createErrorToast(formatApiError(await response.json())); } catch (error) { console.error("Error submitting availability:", error); @@ -107,7 +107,17 @@ export default function AvailabilityPage({
- + + {initialData && ( + + )}