import "server-only"; import { PrototypeStarterScreensClient } from "@prototype/components/starter-screens/prototype-starter-screens-client"; import { PrototypeGalleryHeader, PrototypeGalleryPageLayout, } from "@prototype/components/shell/prototype-gallery-shell"; import { createStarterScreenRegistry } from "@prototype/lib/prototypes/create-starter-screen-registry"; import type { StarterScreenConfig } from "@prototype/lib/prototypes/starter-screen-config-types"; import { formatSourceDirectoryName } from "@prototype/lib/format-source-directory-name"; import { readScreenshotManifest } from "@prototype/lib/prototypes/screenshot-manifest"; import { readHostEnvValue, resolveHostRoot } from "../server/host-env"; const STARTER_SCREENS_HEADER_TITLE = "Starter Screens"; const STARTER_SCREENS_HEADER_DESCRIPTION = "Base screens to start your prototype with."; type PrototypeStarterScreensPageOptions = { config?: StarterScreenConfig; starterScreensPagePath?: string; sourcePath?: string; }; export function createPrototypeStarterScreensPage( options: PrototypeStarterScreensPageOptions = {}, ) { const { config, starterScreensPagePath = "src/app/starter-screens/page.tsx", sourcePath = readHostEnvValue(resolveHostRoot(), "SOURCE_PATH"), } = options; const sourceDirectoryName = formatSourceDirectoryName(sourcePath); const registry = config ? createStarterScreenRegistry(config) : null; async function StarterScreensGallery() { const starterScreens = registry?.getAllStarterScreens() ?? []; const screenshotManifest = process.env.NODE_ENV === "development" ? await readScreenshotManifest() : {}; const screenshotVersions = process.env.NODE_ENV === "development" ? screenshotManifest : {}; return ( ); } function StarterScreensPage() { return ( } > ); } return StarterScreensPage; }