feat: Implement initial website structure, core pages, and layout components, including a redesigned homepage.

This commit is contained in:
1elle1
2026-02-03 21:41:03 +01:00
parent 1cc779e89c
commit 578bb8edb3
13 changed files with 1749 additions and 80 deletions
+15 -3
View File
@@ -1,20 +1,32 @@
import type { ElementType, ReactNode } from "react";
type SectionVariant = "default" | "hero" | "sm" | "lg" | "flush";
interface SectionProps {
children: ReactNode;
className?: string;
as?: ElementType;
variant?: SectionVariant;
id?: string;
}
export function Section({
children,
className = "",
as: Tag = "section",
variant = "default",
id,
}: SectionProps) {
const variantClasses: Record<SectionVariant, string> = {
default: "section",
hero: "section section--hero",
sm: "section section--sm",
lg: "section section--lg",
flush: "section section--flush",
};
return (
<Tag
className={`py-[var(--section-spacing-y)] ${className}`.trim()}
>
<Tag id={id} className={`${variantClasses[variant]} ${className}`.trim()}>
{children}
</Tag>
);