/** * Issue Summary Component * * Sidebar component showing issue counts by status. */ 'use client'; import { GitBranch, CircleDot, PlayCircle, Clock, AlertCircle, CheckCircle2, } from 'lucide-react'; import { cn } from '@/lib/utils'; import { Button } from '@/components/ui/button'; import { Card, CardContent, CardHeader, CardTitle, } from '@/components/ui/card'; import { Separator } from '@/components/ui/separator'; import { Skeleton } from '@/components/ui/skeleton'; import type { IssueCountSummary } from './types'; // ============================================================================ // Types // ============================================================================ interface IssueSummaryProps { /** Issue summary data */ summary: IssueCountSummary | null; /** Whether data is loading */ isLoading?: boolean; /** Callback when "View All Issues" is clicked */ onViewAllIssues?: () => void; /** Additional CSS classes */ className?: string; } interface StatusRowProps { icon: React.ElementType; iconColor: string; label: string; count: number; } // ============================================================================ // Subcomponents // ============================================================================ function StatusRow({ icon: Icon, iconColor, label, count }: StatusRowProps) { return (
No issues found