import Link from "next/link"; import type { ReactNode } from "react"; export interface NavigationItem { readonly external: boolean; readonly href: string; readonly label: string; } export interface SocialLink { readonly label: string; readonly url: string; } export function SiteHeader({ businessName, navigation, }: Readonly<{ businessName: string; navigation: readonly NavigationItem[] }>) { return (
Skip to main content
{businessName}
); } export function SiteFooter({ businessName, socialLinks, }: Readonly<{ businessName: string; socialLinks: readonly SocialLink[] }>) { return ( ); } export function ProductGrid({ children }: Readonly<{ children: ReactNode }>) { return
{children}
; } export function ProductCard({ description, formattedPrice, href, mediaLabel, name, }: Readonly<{ description: string; formattedPrice: string; href: string; mediaLabel: string; name: string; }>) { return (
Media placeholder

{name}

{description}

View product
); } export function PriceDisplay({ value }: Readonly<{ value: string }>) { return {value}; } export function QuantitySelector({ disabled = false, id, label = "Quantity", onChange, value, }: Readonly<{ disabled?: boolean; id: string; label?: string; onChange?: (value: number) => void; value?: number; }>) { return ( ); } export function CartLine({ actions, details, formattedPrice, name, }: Readonly<{ actions?: ReactNode; details?: ReactNode; formattedPrice: string; name: string }>) { return (

{name}

{details}
{actions}
); }