From fab23846f7ea3d834dfcaf0e8881ee962c885274 Mon Sep 17 00:00:00 2001 From: John SJ Anderson Date: Wed, 25 Sep 2024 12:19:05 -0700 Subject: [PATCH] Basic layout and nav implemented in App Router [#134] _Largely_ derived from material in Pages Router pages and components, but with a number of redundant or otherwise unneeded styling elements excised for minimalism. Does not yet implement logged in state, and explicitly drops "minimized" as a nav-bar concept, at least for the moment. --- static-site/app/layout.tsx | 85 + static-site/app/styles/bootstrap.css | 3872 +++++++++++++++++ .../app/styles/browserCompatability.css | 446 ++ static-site/app/styles/globals.css | 137 + static-site/components/footer/index.tsx | 85 + .../components/footer/site-map.module.css | 49 + static-site/components/footer/site-map.tsx | 50 + static-site/components/footer/sitemap.ts | 49 + static-site/components/footer/team-list.tsx | 30 + static-site/components/line/index.tsx | 8 + static-site/components/line/styles.module.css | 5 + static-site/components/logos/index.tsx | 128 + .../components/logos/styles.module.css | 26 + static-site/components/nav/index.tsx | 31 + static-site/components/nav/nav-logo.tsx | 45 + static-site/components/nav/styles.module.css | 30 + .../components/people/avatars.module.css | 30 + static-site/components/people/avatars.tsx | 42 + static-site/components/people/teamMembers.ts | 219 + .../components/plausible-analytics/index.tsx | 16 + static-site/components/spacers/index.tsx | 37 + 21 files changed, 5420 insertions(+) create mode 100644 static-site/app/layout.tsx create mode 100644 static-site/app/styles/bootstrap.css create mode 100644 static-site/app/styles/browserCompatability.css create mode 100644 static-site/app/styles/globals.css create mode 100644 static-site/components/footer/index.tsx create mode 100644 static-site/components/footer/site-map.module.css create mode 100644 static-site/components/footer/site-map.tsx create mode 100644 static-site/components/footer/sitemap.ts create mode 100644 static-site/components/footer/team-list.tsx create mode 100644 static-site/components/line/index.tsx create mode 100644 static-site/components/line/styles.module.css create mode 100644 static-site/components/logos/index.tsx create mode 100644 static-site/components/logos/styles.module.css create mode 100644 static-site/components/nav/index.tsx create mode 100644 static-site/components/nav/nav-logo.tsx create mode 100644 static-site/components/nav/styles.module.css create mode 100644 static-site/components/people/avatars.module.css create mode 100644 static-site/components/people/avatars.tsx create mode 100644 static-site/components/people/teamMembers.ts create mode 100644 static-site/components/plausible-analytics/index.tsx create mode 100644 static-site/components/spacers/index.tsx diff --git a/static-site/app/layout.tsx b/static-site/app/layout.tsx new file mode 100644 index 000000000..9397ff8e0 --- /dev/null +++ b/static-site/app/layout.tsx @@ -0,0 +1,85 @@ +import { Metadata } from "next"; +import { Lato } from "next/font/google"; +import React from "react"; + +import { BigSpacer } from "../components/spacers"; +import Footer from "../components/footer"; +import Line from "../components/line"; +import Nav from "../components/nav"; +import PlausibleAnalytics from "../components/plausible-analytics/"; +import { + blogFeedUrls, + groupsApp, + siteTitle, + siteTitleAlt, +} from "../data/BaseConfig"; + +import "./styles/browserCompatability.css"; +import "./styles/bootstrap.css"; +import "./styles/globals.css"; + +// Custom fonts bundled (i.e. no external requests), see +// +const lato = Lato({ + style: ["normal", "italic"], + subsets: ["latin"], + variable: "--lato", + weight: ["300", "400", "700"], +}); + +export const metadata: Metadata = { + title: { + absolute: siteTitle, + template: `%s - ${siteTitle}`, + }, + description: siteTitleAlt, +}; + +export default function RootLayout({ + children, +}: { + children: React.ReactNode; +}): React.ReactElement { + return ( + + + {!groupsApp && ( + <> + + + + + + )} + + +