import Link from "next/link"; import { ReactNode } from "react"; export function Button({ href, children, variant = "primary", className, type = "button" }: { href?: string; children: ReactNode; variant?: "primary" | "secondary" | "ghost"; className?: string; type?: "button" | "submit" | "reset"; }) { const styleClass = variant === "primary" ? "bg-gradient-to-br from-primary to-primary-container text-white rounded-full hover:brightness-105 shadow-sm shadow-primary/30" : variant === "secondary" ? "bg-surface-container-low text-on-surface border border-outline-variant/70 rounded-full hover:bg-surface-container-high" : "text-on-surface-variant hover:text-on-surface hover:bg-surface-container-low"; if (href) { return ( {children} ); } return ( ); } export function SectionCard({ title, description, children }: { title: string; description?: string; children: ReactNode; }) { return (

{title}

{description ?

{description}

: null}
{children}
); } export function Badge({ children, tone = "default" }: { children: ReactNode; tone?: "default" | "success" | "warning" | "danger"; }) { const tones = { default: "bg-surface-container-high text-on-surface-variant", success: "bg-success/10 text-success", warning: "bg-warning/10 text-warning", danger: "bg-error/10 text-danger" }; return ( {children} ); } export function PageHeader({ title, description, actions }: { title: string; description: string; actions?: ReactNode; }) { return (

ZappCare

{title}

{description}

{actions ?
{actions}
: null}
); }