From f4629a48c2204e0ff1ebb0ec3f28727965d0c027 Mon Sep 17 00:00:00 2001 From: Jeff Emmett Date: Wed, 25 Feb 2026 00:04:29 -0800 Subject: [PATCH] feat: standardize Header, EcosystemFooter, and shared components Move nav to shared Header in layout.tsx, remove inline header/footer from page.tsx. Add UserMenu, SpaceSwitcher, and updated AppSwitcher. Co-Authored-By: Claude Opus 4.6 --- app/layout.tsx | 4 ++ app/page.tsx | 67 ----------------------- components/AppSwitcher.tsx | 97 +++++++++++++++++++++++++--------- components/EcosystemFooter.tsx | 62 ++++++++++++++++++++++ components/Header.tsx | 60 +++++++++++++++++++++ components/UserMenu.tsx | 93 ++++++++++++++++++++++++++++++++ 6 files changed, 291 insertions(+), 92 deletions(-) create mode 100644 components/EcosystemFooter.tsx create mode 100644 components/Header.tsx create mode 100644 components/UserMenu.tsx diff --git a/app/layout.tsx b/app/layout.tsx index 757d1bd..a956011 100644 --- a/app/layout.tsx +++ b/app/layout.tsx @@ -1,6 +1,8 @@ import type { Metadata } from 'next' import localFont from 'next/font/local' import './globals.css' +import { Header } from '@/components/Header' +import { EcosystemFooter } from '@/components/EcosystemFooter' const geistSans = localFont({ src: './fonts/GeistVF.woff', @@ -35,7 +37,9 @@ export default function RootLayout({