"use client"; import { useParams } from "react-router-dom"; import { BookOpen, Clock, ShieldCheck } from "lucide-react"; import { Badge, Card, CardContent, CardDescription, CardHeader, CardTitle, PageHeader } from "@/components/ui"; import { getKnowledgeForProject } from "@/shared/lib/projectbrainSelectors"; import { projectBrainClientMode } from "@/shared/api/projectBrainClient"; import { ProjectKnowledgeCenter } from "@/features/knowledge/components/ProjectKnowledgeCenter"; const decayVariant = (status?: string) => status === "fresh" ? "default" : status === "watch" ? "secondary" : status === "stale" || status === "obsolete" ? "destructive" : "outline"; const decayLabel = (status?: string) => status === "fresh" ? "Actueel" : status === "watch" ? "Controleren" : status === "stale" ? "Verouderd" : status === "obsolete" ? "Niet meer geldig" : "Onbekend"; const KnowledgeVault = () => { const { projectId } = useParams(); if (projectBrainClientMode === "real" && projectId) return
; const knowledge = projectId ? getKnowledgeForProject(projectId) : []; const fresh = knowledge.filter((item) => item.decayStatus === "fresh").length; const watch = knowledge.filter((item) => item.decayStatus === "watch" || item.decayStatus === "stale").length; return

{knowledge.length}

kennisitems

{fresh}

actueel

{watch}

controleren

VoorbeeldkennisDeze fallback toont geen productieclaim en bevat geen losstaande contextpack-workflow.{knowledge.map((item) =>

{item.title}

{decayLabel(item.decayStatus)}

{item.summary}

{item.confidence}% zekerheid{item.lastUpdated}
)}{!knowledge.length ?

Geen lokale voorbeeldkennis beschikbaar.

: null}
; }; export default KnowledgeVault;