From 9dc9280a380609b6227418ebe41952af48606c8c Mon Sep 17 00:00:00 2001 From: John SJ Anderson Date: Fri, 27 Sep 2024 12:23:55 -0700 Subject: [PATCH 1/8] Update tsconfig for new layout [#134] --- static-site/tsconfig.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/static-site/tsconfig.json b/static-site/tsconfig.json index e9e6b477e..55dce1703 100644 --- a/static-site/tsconfig.json +++ b/static-site/tsconfig.json @@ -54,8 +54,16 @@ be set and will rewrite this file if they aren't set.² "esModuleInterop": true, "module": "esnext", "resolveJsonModule": true, + "plugins": [ + { + "name": "next" + } + ] }, "include": [ + ".next/types/**/*.ts", + "app/**/*", + "components/**/*", "next-env.d.ts", "pages/**/*", "src/**/*", From 3e7fe67d8a2fc0ffbdc85f60063347332200206f Mon Sep 17 00:00:00 2001 From: John SJ Anderson Date: Wed, 25 Sep 2024 12:19:05 -0700 Subject: [PATCH 2/8] 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 | 46 + 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 | 43 + static-site/components/nav/styles.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, 5415 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.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 && ( + <> + + + + + + )} + + +