'use client'; import { useState } from 'react'; import Link from 'next/link'; import { CalendarIcon, FileTextIcon, SearchIcon } from 'lucide-react'; import { Card, CardContent, CardHeader, CardTitle } from '@kit/ui/card'; import { Input } from '@kit/ui/input'; import { Progress } from '@kit/ui/progress'; interface PRDSummary { filename: string; title: string; lastUpdated: string; progress: number; totalStories: number; completedStories: number; } interface PRDsListInterfaceProps { initialPrds: PRDSummary[]; } export function PRDsListInterface({ initialPrds }: PRDsListInterfaceProps) { const [searchTerm, setSearchTerm] = useState(''); const filteredPrds = initialPrds.filter( (prd) => prd.title.toLowerCase().includes(searchTerm.toLowerCase()) || prd.filename.toLowerCase().includes(searchTerm.toLowerCase()), ); return (
{/* Header */}

Product Requirements Documents

Browse and view all PRDs in your project

{/* Search */}
setSearchTerm(e.target.value)} className="pl-10" />
{/* PRD Grid */} {filteredPrds.length === 0 ? (

{searchTerm ? 'No PRDs match your search' : 'No PRDs found'}

) : (
{filteredPrds.map((prd) => ( {prd.title} {/* Progress */}
Progress {prd.completedStories}/{prd.totalStories} stories
{prd.progress}%
{/* Metadata */}
Updated {prd.lastUpdated}
{/* Filename */}
{prd.filename}
))}
)}
); }