import type { ReactNode } from "react"; import Link from "next/link"; import { ArrowUpRight, Info } from "lucide-react"; import { cn } from "@/lib/utils"; import { toneBadge, type BadgeTone } from "./tokens"; interface DashboardSectionProps { title: string; infoText?: string; badge?: { text: string; tone: BadgeTone }; action?: { label: string; href: string }; children: ReactNode; className?: string; } /** * 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, }: DashboardSectionProps) { return (

{title}

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