From 5e35f5152d90bd98f6e57bf5de3a52e798f2b40a Mon Sep 17 00:00:00 2001 From: Niek Rabelink Date: Sat, 12 Sep 2026 14:24:24 +0200 Subject: [PATCH] Ai aanpassingen en slepen in planner blokken --- api/brainstorm.php | 33 ++++++++ api/roadmap.php | 4 + auth/login.php | 2 +- brainstorm_canvas.php | 162 +++++++++++++++++++++++++++++++++----- planner.php | 176 +++++++++++++++++++++++++++++++++++++++++- roadmap.php | 98 ++++++++++++++++++++++- timeline.php | 101 ++++++++++++++++++++++-- 7 files changed, 545 insertions(+), 31 deletions(-) diff --git a/api/brainstorm.php b/api/brainstorm.php index 0d8ca46..f40447f 100644 --- a/api/brainstorm.php +++ b/api/brainstorm.php @@ -113,6 +113,39 @@ try { exit; } + // 3b. Kaart verplaatsen naar andere categorie/lane (Drag & Drop) + if ($action === 'move_card') { + $data = json_decode(file_get_contents('php://input'), true); + $cardId = (int)($data['card_id'] ?? 0); + $category = trim($data['category'] ?? ''); + + $validCategories = ['Ideeën', 'Knelpunten', 'Oplossingen', 'Quick Wins']; + if (!$cardId || !in_array($category, $validCategories, true)) { + echo json_encode(['error' => 'Ongeldige kaart of categorie']); + exit; + } + + // Bepaal kleur behorend bij de nieuwe categorie + $colorMap = [ + 'Ideeën' => 'amber', + 'Knelpunten' => 'rose', + 'Oplossingen' => 'teal', + 'Quick Wins' => 'indigo' + ]; + $newColor = $colorMap[$category] ?? 'amber'; + + $stmt = $db->prepare("UPDATE brainstorm_cards SET category = ?, color = ? WHERE id = ?"); + $stmt->execute([$category, $newColor, $cardId]); + + echo json_encode([ + 'success' => true, + 'card_id' => $cardId, + 'category' => $category, + 'color' => $newColor + ]); + exit; + } + // 4. Omzetten naar Roadmap! if ($action === 'convert_to_roadmap') { $data = json_decode(file_get_contents('php://input'), true); diff --git a/api/roadmap.php b/api/roadmap.php index d617236..9260d59 100644 --- a/api/roadmap.php +++ b/api/roadmap.php @@ -53,6 +53,10 @@ try { $fields[] = "status = ?"; $params[] = $status; } + if (isset($data['quarter']) && in_array($data['quarter'], ['Q1', 'Q2', 'Q3', 'Q4'], true)) { + $fields[] = "quarter = ?"; + $params[] = $data['quarter']; + } if ($progress !== null) { $fields[] = "progress = ?"; $params[] = max(0, min(100, $progress)); diff --git a/auth/login.php b/auth/login.php index a0508ec..bad2905 100644 --- a/auth/login.php +++ b/auth/login.php @@ -34,7 +34,7 @@ if ($currentUser) { $error = null; $infoMessage = null; if (isset($_GET['expired'])) { - $infoMessage = "Uw sessie is beëindigd wegens inactiviteit of een dagwissel. Log opnieuw in om verder te gaan."; + $infoMessage = "Uw sessie is beeïndigd. Log opnieuw in om verder te gaan."; } if (isset($_GET['revoked'])) { $infoMessage = "Uw sessie is op afstand beëindigd of ingetrokken. Log opnieuw in om verder te gaan."; diff --git a/brainstorm_canvas.php b/brainstorm_canvas.php index d3a8eab..706895a 100644 --- a/brainstorm_canvas.php +++ b/brainstorm_canvas.php @@ -121,33 +121,45 @@ $categories = [ $catConfig): $catCards = array_filter($cards, fn($c) => $c['category'] === $catKey); ?> -
+

- +
- -
+ +
-
+
Nog geen kaarten in deze categorie.
-
+
-
-