diff --git a/packages/frontend/src/pages/Lessons.tsx b/packages/frontend/src/pages/Lessons.tsx new file mode 100644 index 0000000..bd86ace --- /dev/null +++ b/packages/frontend/src/pages/Lessons.tsx @@ -0,0 +1,61 @@ +import { useEffect, useState } from 'react'; +import { lessonsApi } from '../api/lessons.js'; +import { useLessons } from '../stores/lessonsStore.js'; +import { LessonTree } from '../components/LessonTree.js'; + +export function LessonsPage() { + const { tree, refresh, loading } = useLessons(); + const [newRoot, setNewRoot] = useState(''); + const [filter, setFilter] = useState(''); + + useEffect(() => { refresh(); }, [refresh]); + + async function addRoot() { + if (!newRoot.trim()) return; + await lessonsApi.create({ name: newRoot.trim(), parentId: null }); + setNewRoot(''); + await refresh(); + } + + return ( +
+ Maak een hiërarchie van lessen en sublessen. Sleep aan ⋮⋮ om te herordenen. Klik op een les voor details. +
+Laden…
+ ) : tree.length === 0 ? ( +