import React, { useState, useMemo } from 'react'; import { Card, CardContent, CardHeader, CardTitle, CardDescription } from '@/components/ui/card'; import { Input } from '@/components/ui/input'; import { Badge } from '@/components/ui/badge'; import { Search, BookOpen } from 'lucide-react'; import { nbr6123Glossary } from '@/data/glossary'; const Glossary: React.FC = () => { const [searchTerm, setSearchTerm] = useState(''); const filteredTerms = useMemo(() => { const termLower = searchTerm.toLowerCase(); return nbr6123Glossary.filter(item => { if (item.term.toLowerCase().includes(termLower)) return true; if (item.definition.toLowerCase().includes(termLower)) return true; if (item.tags.some(t => t.toLowerCase().includes(termLower))) return true; if (item.reference.toLowerCase().includes(termLower)) return true; return false; }); }, [searchTerm]); return (
Glossário NBR 6123 Dicionário técnico com termos aerodinâmicos e variáveis normativas explicadas de forma didática.
setSearchTerm(e.target.value)} />
{filteredTerms.length > 0 ? ( filteredTerms.map((item) => ( {item.term} {item.reference}

{item.definition}

{item.tags.map((tag, idx) => ( {tag} ))}
)) ) : (
Nenhum termo encontrado para "{searchTerm}".
)}
); }; export default Glossary;