'use client'; /** * BlockSection Component * * Groups related content within a Cortex block with a header. * * Epic: E1.S1 - Block Layout */ import type { ReactNode } from 'react'; import type { LucideIcon } from 'lucide-react'; import { cn } from '@/lib/utils'; interface BlockSectionProps { /** Icoon component */ icon: LucideIcon; /** Tailwind kleur class voor icoon */ iconColor?: string; /** Sectie titel */ title: string; /** Optionele count badge */ count?: number; /** Sectie inhoud */ children: ReactNode; /** Extra CSS classes */ className?: string; } /** * Section wrapper for Cortex blocks. * Shows icon + title header with optional count, wraps children content. */ export function BlockSection({ icon: Icon, iconColor = 'text-slate-600', title, count, children, className, }: BlockSectionProps) { return (
{/* Header */}

{title}

{count !== undefined && ( ({count}) )}
{/* Content */} {children}
); }