import type { ReactNode } from "react"; import Link from "next/link"; import { ArrowUpRight, Info } from "lucide-react"; import { cn } from "@/lib/utils"; import { sectionRail, sectionTone, toneBadge, type BadgeTone, type SectionToneKey, } from "./tokens"; interface DashboardSectionProps { title: string; infoText?: string; badge?: { text: string; tone: BadgeTone }; action?: { label: string; href: string }; children: ReactNode; className?: string; tone?: SectionToneKey; } /** * Standard dashboard card section. * Uses .surface-card so all color values come from design tokens — * no hardcoded palette classes. */ export function DashboardSection({ title, infoText, badge, action, children, className, tone = "neutral", }: DashboardSectionProps) { return (

{title}

{infoText && ( )}
{badge && ( {badge.text} )} {action && ( {action.label} )}
{children}
); }