import { Section, SettingNumber, SettingSelect, SettingText, SettingToggle } from "../components/Form"; import type { OptionSpec, PageSpec } from "./spec"; import styles from "./Pages.module.css"; function Option({ o }: { o: OptionSpec }) { switch (o.kind) { case "toggle": return ; case "number": return ( ); case "select": return ; case "text": return ; case "custom": { const C = o.component; return ; } } } /** Renders a declarative page spec. */ export function OptionsPage({ spec }: { spec: PageSpec }) { const Footer = spec.footer; return (
{spec.sections?.map((section, i) => (
{section.options.map((o) => (
))} {Footer &&
); }