import { Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, } from '@/components/ui/dialog'; import { Button } from '@/components/ui/button'; import { Card, CardHeader, CardTitle, CardDescription } from '@/components/ui/card'; import { ArchiveRestore, Trash2 } from 'lucide-react'; import { Feature } from '@/store/app-store'; import { extractImplementationSummary } from '@/lib/log-parser'; import { getFirstNonEmptySummary } from '@/lib/summary-selection'; interface CompletedFeaturesModalProps { open: boolean; onOpenChange: (open: boolean) => void; completedFeatures: Feature[]; onUnarchive: (feature: Feature) => void; onDelete: (feature: Feature) => void; } export function CompletedFeaturesModal({ open, onOpenChange, completedFeatures, onUnarchive, onDelete, }: CompletedFeaturesModalProps) { return ( Completed Features {completedFeatures.length === 0 ? 'No completed features yet.' : `${completedFeatures.length} completed feature${ completedFeatures.length > 1 ? 's' : '' }`}
{completedFeatures.length === 0 ? (

No completed features

) : (
{completedFeatures.map((feature) => { const implementationSummary = extractImplementationSummary(feature.summary); const displayText = getFirstNonEmptySummary( implementationSummary, feature.summary, feature.description, feature.id ); return ( {displayText ?? feature.id} {feature.category || 'Uncategorized'}
); })}
)}
); }