Files
buzz-sheet/lib/content/loaders.ts
T

39 lines
952 B
TypeScript

import "server-only";
import {
demoAdminNavigation,
demoDirectory,
getDemoAdminPage,
getDemoPage,
} from "@/lib/content/demo";
import {
getAdminNavigation,
getAdminPage,
getPublicPage,
listPublicCharacters,
} from "@/lib/content/queries";
function demoMode(): boolean {
return process.env.BUZZ_DEMO_MODE === "true";
}
export async function loadPublicDirectory() {
return demoMode() ? demoDirectory : listPublicCharacters();
}
export async function loadPublicPage(characterSlug: string, pageSlug?: string) {
return demoMode()
? getDemoPage(characterSlug, pageSlug)
: getPublicPage(characterSlug, pageSlug);
}
export async function loadAdminPage(characterSlug: string, pageSlug: string) {
return demoMode()
? getDemoAdminPage(characterSlug, pageSlug)
: getAdminPage(characterSlug, pageSlug);
}
export async function loadAdminNavigation() {
return demoMode() ? demoAdminNavigation : getAdminNavigation();
}