import * as React from "react"; import Link from "next/link"; import { cn } from "@/lib/utils"; export const LEGAL_VERSION = "2026-09-07"; export const LEGAL_EFFECTIVE = "2026-09-07"; export type LegalSection = { id: string; title: string; body: React.ReactNode }; const OTHER_DOCS: Array<[string, string]> = [ ["Terms of Service", "/legal/terms"], ["Privacy Policy", "/legal/privacy"], ["Acceptable Use Policy", "/legal/acceptable-use"], ["Data Processing Addendum", "/legal/dpa"], ["Cookie Policy", "/legal/cookies"], ]; /** Prose styling without @tailwindcss/typography. Applied to each section body. */ export const legalProse = cn( "text-[15px] leading-[1.7] text-fg-muted", "[&_p]:mt-3.5 [&_p:first-child]:mt-0", "[&_h3]:mt-6 [&_h3]:text-[15px] [&_h3]:font-semibold [&_h3]:text-fg [&_h3]:tracking-tight", "[&_ul]:mt-3.5 [&_ul]:list-disc [&_ul]:pl-5 [&_ol]:mt-3.5 [&_ol]:list-decimal [&_ol]:pl-5 [&_li]:mt-1.5 [&_li]:pl-0.5", "[&_a]:text-accent [&_a]:underline-offset-4 hover:[&_a]:underline", "[&_strong]:font-semibold [&_strong]:text-fg", "[&_code]:rounded-[4px] [&_code]:border [&_code]:border-border [&_code]:bg-bg-muted [&_code]:px-1.5 [&_code]:py-0.5 [&_code]:font-mono [&_code]:text-[0.85em] [&_code]:text-fg", "[&_table]:mt-4 [&_table]:w-full [&_table]:text-[13.5px] [&_th]:border-b [&_th]:border-border [&_th]:py-2 [&_th]:pr-4 [&_th]:text-left [&_th]:text-[11.5px] [&_th]:font-medium [&_th]:uppercase [&_th]:tracking-wide [&_th]:text-fg-subtle [&_td]:border-b [&_td]:border-border [&_td]:py-2 [&_td]:pr-4 [&_td]:align-top", ); export function LegalLayout({ title, summary, current, sections }: { title: string; summary: string; current: string; sections: LegalSection[] }) { return (

Legal

{title}

Version {LEGAL_VERSION} ยท Effective {LEGAL_EFFECTIVE}

{summary}

{sections.map((s, i) => (

{i + 1}. {s.title}

{s.body}
))}
); }