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>
34 lines
751 B
TypeScript
34 lines
751 B
TypeScript
/**
|
|
* Behandelplan Page
|
|
* E3.S1: Server component met data loading
|
|
*/
|
|
|
|
import { getCarePlans, getPatientIntakes, getPatientConditions } from './actions';
|
|
import { BehandelplanPageClient } from './page-client';
|
|
|
|
export default async function BehandelplanPage({
|
|
params,
|
|
}: {
|
|
params: Promise<{ id: string }>;
|
|
}) {
|
|
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">
|
|
<BehandelplanPageClient
|
|
patientId={id}
|
|
allPlans={allPlans}
|
|
intakes={intakes}
|
|
conditions={conditions}
|
|
/>
|
|
</div>
|
|
);
|
|
}
|