diff --git a/web/apps/marketing/src/app/_components/Footer.tsx b/web/apps/marketing/src/app/_components/Footer.tsx index f8e0aaf9..6886b521 100644 --- a/web/apps/marketing/src/app/_components/Footer.tsx +++ b/web/apps/marketing/src/app/_components/Footer.tsx @@ -1,23 +1,37 @@ -import { DOCS_URL } from "../_lib/urls"; +import Link from "next/link"; + +import { DOCS_URL, GITHUB_URL } from "../_lib/urls"; import { GithubLink } from "./GithubLink"; +/** Two groups, which is the information: the fine print (who holds the + * copyright, the licence that qualifies it, the two legal pages) on the + * left in the quiet tone, and the places to go next (docs, the code) on + * the right. On a phone the groups + * stack, links first and fine print last, in their order of importance + * rather than their DOM order. No "all rights reserved": the software is + * Apache 2.0 and the line would say otherwise. */ export function Footer() { + const quiet = "transition-colors hover:text-ink dark:hover:text-paper"; return ( diff --git a/web/apps/marketing/src/app/_components/LegalPage.tsx b/web/apps/marketing/src/app/_components/LegalPage.tsx new file mode 100644 index 00000000..3b6fdaf7 --- /dev/null +++ b/web/apps/marketing/src/app/_components/LegalPage.tsx @@ -0,0 +1,38 @@ +import type { ReactNode } from "react"; + +import { Footer } from "./Footer"; +import { Navbar } from "./Navbar"; + +/** The shell the two legal pages share: the site chrome around a + * narrow reading measure. Sections are plain h2 + paragraphs so the + * text, not the layout, carries the page. */ +export function LegalPage({ title, effective, children }: { title: string; effective: string; children: ReactNode }) { + return ( + <> + +
+

{title}

+

Effective {effective}

+
{children}
+
+