diff --git a/frontend/src/pages/CaseDetail.jsx b/frontend/src/pages/CaseDetail.jsx
index 339f8c3..77e7b6f 100644
--- a/frontend/src/pages/CaseDetail.jsx
+++ b/frontend/src/pages/CaseDetail.jsx
@@ -1,7 +1,7 @@
import React, { useState, useEffect, useRef } from 'react';
import { commentService, activityService, attachmentService, medicalRecordService } from '../services/api';
import { STATUS_MAP } from '../utils/statusHelper';
-import { Stethoscope, Lock, FileText, CheckCircle, Upload, Trash2, ExternalLink } from 'lucide-react';
+import { Stethoscope, Lock, FileText, CheckCircle, Upload, Trash2, ExternalLink, UserMinus } from 'lucide-react';
const CaseDetail = ({ caseData, onBack, onGoToPet, currentUserId, userRole }) => {
const [newMessage, setNewMessage] = useState('');
@@ -87,6 +87,17 @@ const CaseDetail = ({ caseData, onBack, onGoToPet, currentUserId, userRole }) =>
}
};
+ const handleReleaseCase = async () => {
+ if (!window.confirm("Släppa ärendet? Det blir ledigt för en annan veterinär att ta över.")) return;
+ try {
+ const res = await medicalRecordService.unassignVet(caseData.id);
+ if (res?.data?.status) setLocalStatus(res.data.status);
+ await refetchActivityLog();
+ } catch (error) {
+ alert("Kunde inte släppa ärendet.");
+ }
+ };
+
// FIX: Atomisk stängning enligt förra fyndet
const handleCloseCase = async () => {
if (!clinicalNote.trim()) return alert("Vänligen skriv en slutnotering.");
@@ -211,6 +222,14 @@ const CaseDetail = ({ caseData, onBack, onGoToPet, currentUserId, userRole }) =>
+ {caseData.assignedVetId === currentUserId && (
+
+ )}