import { createFileRoute, useNavigate } from "@tanstack/react-router"; import { getPlatformApiPlatformsIdGetOptions, getRomsApiRomsGetOptions, } from "../../../clients/romm/@tanstack/react-query.gen"; import { useEventListener, useSessionStorage } from "usehooks-ts"; import { CollectionsDetail } from "../../components/CollectionsDetail"; import { useQuery, useSuspenseQuery } from "@tanstack/react-query"; import { DefaultRommStaleTime, RPC_PORT, RPC_URL } from "../../../shared/constants"; import { Suspense } from "react"; export const Route = createFileRoute("/platform/$id")({ component: RouteComponent }); function PlatformSlug () { const { id } = Route.useParams(); const { data: platform } = useSuspenseQuery({ ...getPlatformApiPlatformsIdGetOptions({ path: { id: Number(id) } }), staleTime: DefaultRommStaleTime }); return
{platform.display_name}
; } function PlatformTitle () { const { id } = Route.useParams(); const { data: platform } = useSuspenseQuery({ ...getPlatformApiPlatformsIdGetOptions({ path: { id: Number(id) } }), staleTime: DefaultRommStaleTime }); return
{platform.display_name}
; } function RouteComponent () { const { id } = Route.useParams(); const [, setBackground] = useSessionStorage( "home-background", undefined, ); const navigate = useNavigate(); useEventListener("cancel", () => navigate({ to: "/", viewTransition: { types: ['zoom-out'] } })); return (
} setBackground={setBackground} filters={{ platformIds: [Number(id)] }} />
); }