import { Search, Shield, Users } from 'lucide-react'; import { useMemo } from 'react'; import { Badge } from '@/components/ui/badge'; import { Card, CardDescription, CardHeader, CardTitle, } from '@/components/ui/card'; import { isUserActive } from '@/lib/admin'; import type { AdminUser, RagConfig } from '@/types/admin'; export function AdminOverviewCards({ ragConfig, users = [], }: { ragConfig?: RagConfig | null; users?: AdminUser[]; }) { const userStats = useMemo(() => { const activeCount = users.filter(isUserActive).length; const adminCount = users.filter((user) => user.role === 'admin').length; return { activeCount, adminCount, total: users.length, }; }, [users]); return (
LLM
Model aktif {ragConfig?.llm_config?.active_model ?? '-'}
Retrieval
Top K {ragConfig?.retrieval?.top_k ?? '-'}
User
User aktif {userStats.activeCount}/{userStats.total}
); }