feat: setup global nav and layout structure
This commit is contained in:
+16
-4
@@ -1,6 +1,7 @@
|
|||||||
import type { Metadata } from "next";
|
import type { Metadata } from "next";
|
||||||
import { Geist, Geist_Mono } from "next/font/google";
|
import { Geist, Geist_Mono } from "next/font/google";
|
||||||
import "./globals.css";
|
import "./globals.css";
|
||||||
|
import Navbar from "@/components/Navbar";
|
||||||
|
|
||||||
const geistSans = Geist({
|
const geistSans = Geist({
|
||||||
variable: "--font-geist-sans",
|
variable: "--font-geist-sans",
|
||||||
@@ -13,8 +14,8 @@ const geistMono = Geist_Mono({
|
|||||||
});
|
});
|
||||||
|
|
||||||
export const metadata: Metadata = {
|
export const metadata: Metadata = {
|
||||||
title: "Create Next App",
|
title: "Marca | Personal Portfolio",
|
||||||
description: "Generated by create next app",
|
description: "Informatics Student & Developer Portfolio",
|
||||||
};
|
};
|
||||||
|
|
||||||
export default function RootLayout({ children }: LayoutProps<"/">) {
|
export default function RootLayout({ children }: LayoutProps<"/">) {
|
||||||
@@ -23,7 +24,18 @@ export default function RootLayout({ children }: LayoutProps<"/">) {
|
|||||||
lang="en"
|
lang="en"
|
||||||
className={`${geistSans.variable} ${geistMono.variable} h-full antialiased`}
|
className={`${geistSans.variable} ${geistMono.variable} h-full antialiased`}
|
||||||
>
|
>
|
||||||
<body className="min-h-full flex flex-col">{children}</body>
|
<body className="min-h-full flex flex-col bg-zinc-950 text-zinc-100">
|
||||||
|
<Navbar />
|
||||||
|
<main className="flex-1 max-w-3xl w-full mx-auto px-6 py-10">
|
||||||
|
{children}
|
||||||
|
</main>
|
||||||
|
<footer className="border-t border-zinc-800 py-6 text-center text-sm text-zinc-500">
|
||||||
|
© 2026 Yohannes Marcel Lalopua —{" "}
|
||||||
|
<a href="https://github.com/" target="_blank" className="text-zinc-300 hover:underline">
|
||||||
|
GitHub
|
||||||
|
</a>
|
||||||
|
</footer>
|
||||||
|
</body>
|
||||||
</html>
|
</html>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
import Link from "next/link";
|
||||||
|
|
||||||
|
export default function Navbar() {
|
||||||
|
return (
|
||||||
|
<nav className="border-b border-zinc-800 py-4 px-6">
|
||||||
|
<div className="max-w-3xl mx-auto flex justify-between items-center">
|
||||||
|
<Link href="/" className="font-bold text-lg tracking-tight">Marca.</Link>
|
||||||
|
<div className="flex gap-6 text-sm text-zinc-400">
|
||||||
|
<Link href="/" className="hover:text-white transition">Home</Link>
|
||||||
|
<Link href="/projects" className="hover:text-white transition">Projects</Link>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
);
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user