feat(behandelplan): E3 UI componenten en documentatie updates

Behandelplan UI (E3):
- page-client.tsx: Client-side behandelplan pagina
- actions.ts: Server actions voor CRUD operaties
- behandelplan-view.tsx: Volledige behandelplan weergave
- behandelplan-list.tsx: Lijst van behandelplannen
- editable-section.tsx: Herbruikbare edit sectie component
- sections/: Goal, intervention en behandelstructuur forms

UI Componenten:
- components/ui/checkbox.tsx (shadcn)
- components/ui/input.tsx (shadcn)
- components/ui/select.tsx (shadcn)

Documentatie:
- agenda-systeem.mdx toegevoegd
- _index.json en metadata.json bijgewerkt

Dependencies:
- @radix-ui/react-checkbox toegevoegd

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
colinislit
2025-12-06 00:35:00 +01:00
parent d965f69a9b
commit 9e4e16035b
20 changed files with 3243 additions and 47 deletions

View File

@@ -1,9 +1,10 @@
/**
* Behandelplan Page
* E2.S3: Placeholder for behandelplan functionality (future epic)
* E3.S1: Server component met data loading
*/
import { Calendar } from 'lucide-react';
import { getCarePlans, getPatientIntakes, getPatientConditions } from './actions';
import { BehandelplanPageClient } from './page-client';
export default async function BehandelplanPage({
params,
@@ -12,29 +13,21 @@ export default async function BehandelplanPage({
}) {
const { id } = await params;
// Parallel data loading - haal ALLE plannen op
const [allPlans, intakes, conditions] = await Promise.all([
getCarePlans(id),
getPatientIntakes(id),
getPatientConditions(id),
]);
return (
<div className="p-6">
{/* Page Header */}
<div className="mb-6">
<h2 className="text-lg font-semibold text-slate-900">Behandelplan</h2>
<p className="text-sm text-slate-600 mt-1">
Behandeldoelen, interventies en planning
</p>
</div>
{/* Placeholder */}
<div className="bg-white rounded-lg border border-slate-200 p-12 text-center">
<div className="inline-flex items-center justify-center w-16 h-16 rounded-full bg-indigo-50 mb-4">
<Calendar className="h-8 w-8 text-indigo-500" />
</div>
<h3 className="text-lg font-semibold text-slate-900 mb-2">
Behandelplan Module - Coming Soon
</h3>
<p className="text-sm text-slate-600 max-w-md mx-auto">
De behandelplan functionaliteit wordt in een latere fase geïmplementeerd.
Dit omvat doelstellingen, interventies en planning van de behandeling.
</p>
</div>
<BehandelplanPageClient
patientId={id}
allPlans={allPlans}
intakes={intakes}
conditions={conditions}
/>
</div>
);
}