Skip to content

Commit 852d669

Browse files
committed
feat: add footer and update hero tagline
- Add SiteFooter component with brand, navigation, and resources - Update hero tagline to single punchy line - Maintain footer with descriptive text
1 parent ad631ea commit 852d669

File tree

3 files changed

+70
-3
lines changed

3 files changed

+70
-3
lines changed

app/layout.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import type { Metadata } from "next";
22
import { Inter } from "next/font/google";
33
import "./globals.css";
4+
import { SiteFooter } from "@/components/site-footer";
45
import { SiteHeader } from "@/components/site-header";
56
import { ThemeProvider } from "@/components/theme-provider";
67

@@ -28,6 +29,7 @@ export default function RootLayout({
2829
<div className="relative flex min-h-screen flex-col overflow-x-hidden">
2930
<SiteHeader />
3031
<main className="flex-1">{children}</main>
32+
<SiteFooter />
3133
</div>
3234
</ThemeProvider>
3335
</body>

app/page.tsx

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,8 @@ export default function Home() {
3434
Developer Tools & Kits
3535
</h1>
3636
<p className="mx-auto max-w-[700px] text-sm sm:text-base text-muted-foreground md:text-lg break-words">
37-
Foundational kits and patterns for building robust software systems.
38-
<br />
39-
Designed to survive contact with reality.
37+
Foundational kits and patterns built to survive contact with
38+
reality.
4039
</p>
4140
</div>
4241

components/site-footer.tsx

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
import Link from "next/link";
2+
3+
export function SiteFooter() {
4+
return (
5+
<footer className="border-t bg-background">
6+
<div className="container px-4 sm:px-6 py-6 sm:py-8">
7+
<div className="mx-auto max-w-5xl">
8+
<div className="grid gap-6 sm:grid-cols-2 lg:grid-cols-3">
9+
{/* Brand */}
10+
<div className="space-y-3">
11+
<Link href="/" className="font-bold text-lg">
12+
prosdevlab
13+
</Link>
14+
<p className="text-sm text-muted-foreground max-w-xs">
15+
Foundational kits and patterns for building robust software
16+
systems.
17+
</p>
18+
</div>
19+
20+
{/* Navigation */}
21+
<div className="space-y-3">
22+
<h3 className="font-semibold text-sm">Catalog</h3>
23+
<nav className="flex flex-col space-y-2 text-sm">
24+
<Link
25+
href="/kits"
26+
className="text-muted-foreground hover:text-foreground transition-colors"
27+
>
28+
Kits
29+
</Link>
30+
<Link
31+
href="/tools"
32+
className="text-muted-foreground hover:text-foreground transition-colors"
33+
>
34+
Tools
35+
</Link>
36+
</nav>
37+
</div>
38+
39+
{/* Resources (placeholder for future) */}
40+
<div className="space-y-3">
41+
<h3 className="font-semibold text-sm">Resources</h3>
42+
<nav className="flex flex-col space-y-2 text-sm">
43+
<a
44+
href="https://github.com/prosdevlab"
45+
target="_blank"
46+
rel="noopener noreferrer"
47+
className="text-muted-foreground hover:text-foreground transition-colors"
48+
>
49+
GitHub
50+
</a>
51+
</nav>
52+
</div>
53+
</div>
54+
55+
{/* Copyright */}
56+
<div className="mt-8 pt-6 border-t">
57+
<p className="text-xs text-muted-foreground text-center sm:text-left">
58+
© {new Date().getFullYear()} prosdevlab. Built to survive contact
59+
with reality.
60+
</p>
61+
</div>
62+
</div>
63+
</div>
64+
</footer>
65+
);
66+
}

0 commit comments

Comments
 (0)