// The shapes both halves of the branding contract use: the procedures (index.ts) and the stylesheet // layer a brand becomes (style.ts). A file of its own so neither imports the other. import { z } from "zod" export const LOGO_VARIANTS = ["light", "dark"] as const export type LogoVariant = (typeof LOGO_VARIANTS)[number] /** `null` is "not set": the app's own brand shows through. */ export const brandViewSchema = z.object({ displayName: z.string().nullable(), primary: z.string().nullable(), accent: z.string().nullable(), logoLight: z.string().nullable(), logoDark: z.string().nullable(), }) export type BrandView = z.output