Add theme toggle, hero snippet, and reorganize homepage components

- Set up next-themes with a light/dark toggle in the header and move all
  sections onto theme tokens; dark mode stays pure black
- Replace the hero terminal line with the AI Elements Snippet component
- Restructure components into layout/, sections/, and shared/ with
  site-wide config in lib/site.ts

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
Rami Bitar
2026-09-18 09:29:12 -04:00
co-authored by Claude Fable 5.1
parent a40edbffa9
commit 07a99b441c
28 changed files with 812 additions and 437 deletions
+44
View File
@@ -0,0 +1,44 @@
import { cn } from '@/lib/utils';
export function SectionHeading({
eyebrow,
title,
description,
align = 'left',
className,
}: {
eyebrow?: string;
title: string;
description?: string;
align?: 'left' | 'center';
className?: string;
}) {
return (
<div
className={cn(
'max-w-2xl',
align === 'center' && 'mx-auto text-center',
className,
)}
>
{eyebrow && (
<p className="font-mono text-xs uppercase tracking-[0.2em] text-foreground/40">
{eyebrow}
</p>
)}
<h2
className={cn(
'text-3xl font-semibold tracking-tight sm:text-4xl',
eyebrow && 'mt-4',
)}
>
{title}
</h2>
{description && (
<p className="mt-5 text-lg leading-8 text-foreground/55">
{description}
</p>
)}
</div>
);
}