diff --git a/backend/custom_admin/src/components/schedule-builder/root.tsx b/backend/custom_admin/src/components/schedule-builder/root.tsx index bf71577fba..d66c24f054 100644 --- a/backend/custom_admin/src/components/schedule-builder/root.tsx +++ b/backend/custom_admin/src/components/schedule-builder/root.tsx @@ -1,10 +1,15 @@ +import { Flex, Spinner } from "@radix-ui/themes"; +import { Suspense } from "react"; import { Base } from "../shared/base"; import { DjangoAdminLayout } from "../shared/django-admin-layout"; import { useCurrentConference } from "../utils/conference"; import { AddItemModalProvider } from "./add-item-modal/context"; import { Calendar } from "./calendar"; import { PendingItemsBasket } from "./pending-items-basket"; -import { useConferenceScheduleQuery } from "./schedule.generated"; +import { + useConferenceScheduleQuery, + useConferenceScheduleSuspenseQuery, +} from "./schedule.generated"; export const ScheduleBuilderRoot = ({ conferenceId, @@ -21,7 +26,23 @@ export const ScheduleBuilderRoot = ({ > - + + + + } + > + + @@ -30,7 +51,7 @@ export const ScheduleBuilderRoot = ({ const ScheduleBuilder = () => { const { conferenceCode } = useCurrentConference(); - const { error, loading, data } = useConferenceScheduleQuery({ + const { error, data } = useConferenceScheduleSuspenseQuery({ variables: { conferenceCode, }, @@ -38,22 +59,20 @@ const ScheduleBuilder = () => { const { conference: { days }, - } = data ?? { conference: {} }; + } = data; + + if (error) { + return ( +

Something went wrong. Make sure you have the right permissions.

+ ); + } return ( <> - {loading &&

Please wait

} - {!loading && error && ( -

Something went wrong. Make sure you have the right permissions.

- )} - {!loading && ( - <> - {days.map((day) => ( - - ))} - - - )} + {days.map((day) => ( + + ))} + ); };