import { useEffect, useState } from 'react'; import { Check, X, Clock, Sparkles } from 'lucide-react'; import { kbStore } from '../../lib/kbStore'; import Button from '../ui/Button'; /** * Admin sub-panel inside the Knowledge Graph view. Shows pending R42 chatbot * suggestions with approve / reject controls. */ export default function SuggestionsQueue({ onApplied }) { const [pending, setPending] = useState([]); const refresh = () => setPending(kbStore.listSuggestions('pending')); useEffect(() => { refresh(); const onChange = () => refresh(); window.addEventListener('respellion:kb-updated', onChange); return () => window.removeEventListener('respellion:kb-updated', onChange); }, []); if (pending.length === 0) { return (
Geen openstaande voorstellen van R42.
); } return (
R42-voorstellen ({pending.length})
{pending.map(s => (
{new Date(s.ts).toLocaleString()} {s.proposedByName && <> ยท door {s.proposedByName}}
{s.reason &&

{s.reason}

} {(s.topics?.length > 0 || s.relations?.length > 0) && ( )}
))}
); }