'use client'; import { useState, useEffect } from 'react'; import { Card } from '@/components/ui/card'; import { Badge } from '@/components/ui/badge'; import { Button } from '@/components/ui/button'; import { Input } from '@/components/ui/input'; import { RefreshCw } from 'lucide-react'; import { numberingApi, NumberSequence } from '@/lib/api/numbering'; export function SequenceViewer() { const [sequences, setSequences] = useState([]); const [search, setSearch] = useState(''); const [loading, setLoading] = useState(false); const fetchSequences = async () => { setLoading(true); try { const data = await numberingApi.getSequences(); setSequences(data); } finally { setLoading(false); } }; useEffect(() => { fetchSequences(); }, []); const filteredSequences = sequences.filter(s => s.year.toString().includes(search) || s.organization_code?.toLowerCase().includes(search.toLowerCase()) || s.discipline_code?.toLowerCase().includes(search.toLowerCase()) ); return (

Number Sequences

setSearch(e.target.value)} />
{filteredSequences.length === 0 && (
No sequences found
)} {filteredSequences.map((seq) => (
Year {seq.year} {seq.organization_code && ( {seq.organization_code} )} {seq.discipline_code && ( {seq.discipline_code} )}
Current: {seq.current_number} | Last Generated:{' '} {seq.last_generated_number}
Updated {new Date(seq.updated_at).toLocaleDateString()}
))}
); }