diff --git a/src/components/admin/graph/GraphControls.jsx b/src/components/admin/graph/GraphControls.jsx new file mode 100644 index 0000000..12ff5cb --- /dev/null +++ b/src/components/admin/graph/GraphControls.jsx @@ -0,0 +1,54 @@ +import { RefreshCw, AlertCircle } from 'lucide-react'; +import Button from '../../ui/Button'; +import SuggestionsQueue from '../SuggestionsQueue'; + +/** + * Sidebar controls panel: the exclude-nodes toggle, the AI analysis button, + * and the R42 suggestions queue. + * + * Kept intentionally thin — all async logic lives in the KnowledgeGraph + * orchestrator and is injected via props. + */ +export default function GraphControls({ + showExcludeNodes, + onShowExcludeChange, + onAnalyze, + isAnalyzing, + analyzeError, + disabled, + onApplied, +}) { + return ( +
+
Compete, learn, and earn badges based on your weekly knowledge tests.
-{board[1].name}
-{board[1].points} pts
- -{board[0].name}
-{board[0].points} pts
- -{board[2].name}
-{board[2].points} pts
- -
- {user.name}
- {isMe &&
-
+ // knowledge contributions +
+{me.name}
++ @{me.name.toLowerCase().replace(/\s+/g, '.')} +
++ 26-week contributions +
++ $ no contributions yet — start your first week +
+ ) : ( +