- drop headshot photo (coherence break vs. full terminal aesthetic) - replace FA icons with plain-text brackets ([github], [linkedin], [email]) - remove Font Awesome CDN dependency - nav logo tk → ~/; theme toggle fa-sun/fa-moon → [light]/[dark] - reorder home sections: projects before skills/journey - add font-mono + opacity-70 to timeline descriptions (#2 bug + #8 polish) - uniform opacity-70 across hero bio, project desc, timeline desc - add hover:bg-surface-raised to ProjectCard article - drop journey badge count (noise) - change status ● online → ● available
50 lines
1.4 KiB
TypeScript
50 lines
1.4 KiB
TypeScript
import type { Metadata } from "next";
|
|
import { Source_Code_Pro } from "next/font/google";
|
|
import "./globals.css";
|
|
import ThemeScript from "@/components/ThemeScript";
|
|
import Nav from "@/components/Nav";
|
|
import Footer from "@/components/Footer";
|
|
import { ThemeProvider } from "@/context/ThemeContext";
|
|
|
|
const sourceCodePro = Source_Code_Pro({
|
|
subsets: ["latin"],
|
|
variable: "--font-mono",
|
|
display: "swap",
|
|
});
|
|
|
|
export const metadata: Metadata = {
|
|
title: "Tyler Koenig",
|
|
description:
|
|
"SOC Helpdesk I by day, building beyond the title. Projects in AI tooling, mobile apps, infrastructure, and more.",
|
|
};
|
|
|
|
export default function RootLayout({
|
|
children,
|
|
}: {
|
|
children: React.ReactNode;
|
|
}) {
|
|
return (
|
|
<html lang="en" className="dark">
|
|
<head>
|
|
<ThemeScript />
|
|
</head>
|
|
<body
|
|
className={`${sourceCodePro.variable} bg-[var(--color-bg)] text-[var(--color-text)] font-mono min-h-screen`}
|
|
>
|
|
<ThemeProvider>
|
|
{/* Full-width sticky nav */}
|
|
<Nav />
|
|
|
|
{/* Centered content column — border-l/r makes centering always visible */}
|
|
<div className="max-w-[740px] mx-auto border-l border-r border-[var(--color-border)]">
|
|
<main className="px-8 py-14">
|
|
{children}
|
|
</main>
|
|
<Footer />
|
|
</div>
|
|
</ThemeProvider>
|
|
</body>
|
|
</html>
|
|
);
|
|
}
|