feat: portfolio with subpages, hero homepage, and obfuscated asset URLs

This commit is contained in:
ralksta
2026-02-14 00:59:57 +01:00
parent 688a28c7df
commit 415aef98f2
20 changed files with 2231 additions and 123 deletions

View File

@@ -1,31 +1,35 @@
import type { Metadata } from "next";
import { Geist, Geist_Mono } from "next/font/google";
import "./globals.css";
/**
* Root layout — site header with portfolio-style navigation.
* Shows all subpages + standalone albums as nav links.
*/
const geistSans = Geist({
variable: "--font-geist-sans",
subsets: ["latin"],
});
const geistMono = Geist_Mono({
variable: "--font-geist-mono",
subsets: ["latin"],
});
import type { Metadata } from 'next';
import Link from 'next/link';
import './globals.css';
import { SubpageNav } from '@/components/SubpageNav';
export const metadata: Metadata = {
title: "Create Next App",
description: "Generated by create next app",
title: process.env.SITE_TITLE || 'Gallery',
description: 'A curated photography portfolio',
};
export default function RootLayout({
children,
}: Readonly<{
}: {
children: React.ReactNode;
}>) {
}) {
return (
<html lang="en">
<body className={`${geistSans.variable} ${geistMono.variable}`}>
{children}
<body>
<header className="header">
<nav className="header__nav">
<Link href="/" className="header__nav-link">
Home
</Link>
<SubpageNav />
</nav>
</header>
<main className="main">{children}</main>
</body>
</html>
);