export const Route = createFileRoute('/_auth/gameserver/$gameServerId/modules')({
loader: async ({ params, context }) => {
const [modules, moduleInstallations] = await Promise.all([
context.queryClient.ensureQueryData(modulesQueryOptions()),
context.queryClient.ensureQueryData(gameServerModuleInstallationsOptions(params.gameServerId)),
]);
return { modules: modules, installations: moduleInstallations };
},
component: Component,
pendingComponent: () => (
<CardList>
{Array.from({ length: 10 }).map((_, i) => (
<Skeleton key={i} variant="rectangular" height="100%" width="100%" />
))}
</CardList>
),
});
export function Component() {
const loaderData = Route.useLoaderData();
const { gameServerId } = Route.useParams();
const { data: installations } = useSuspenseQuery({
...gameServerModuleInstallationsOptions(gameServerId),
initialData: loaderData.installations,
});
const { data: modules } = useSuspenseQuery({
...modulesQueryOptions(),
initialData: loaderData.modules,
});
const mappedModules = modules.data.map((mod) => {
...
});
export const Route = createFileRoute('/_auth/gameserver/$gameServerId/modules')({
loader: async ({ params, context }) => {
const [modules, moduleInstallations] = await Promise.all([
context.queryClient.ensureQueryData(modulesQueryOptions()),
context.queryClient.ensureQueryData(gameServerModuleInstallationsOptions(params.gameServerId)),
]);
return { modules: modules, installations: moduleInstallations };
},
component: Component,
pendingComponent: () => (
<CardList>
{Array.from({ length: 10 }).map((_, i) => (
<Skeleton key={i} variant="rectangular" height="100%" width="100%" />
))}
</CardList>
),
});
export function Component() {
const loaderData = Route.useLoaderData();
const { gameServerId } = Route.useParams();
const { data: installations } = useSuspenseQuery({
...gameServerModuleInstallationsOptions(gameServerId),
initialData: loaderData.installations,
});
const { data: modules } = useSuspenseQuery({
...modulesQueryOptions(),
initialData: loaderData.modules,
});
const mappedModules = modules.data.map((mod) => {
...
});