feat(registratura): add manual toggle for monitoring (Opreste/Reactiveaza)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -948,6 +948,7 @@ function ExternalStatusSection({
|
||||
if (!tracking) return null;
|
||||
|
||||
const [checking, setChecking] = useState(false);
|
||||
const [toggling, setToggling] = useState(false);
|
||||
const [checkResult, setCheckResult] = useState<{
|
||||
changed: boolean;
|
||||
error: string | null;
|
||||
@@ -1001,6 +1002,26 @@ function ExternalStatusSection({
|
||||
return `acum ${days}z`;
|
||||
};
|
||||
|
||||
const handleToggleActive = useCallback(async () => {
|
||||
setToggling(true);
|
||||
try {
|
||||
const updated = { ...liveTracking, active: !liveTracking.active };
|
||||
await fetch("/api/registratura", {
|
||||
method: "PUT",
|
||||
headers: { "Content-Type": "application/json" },
|
||||
body: JSON.stringify({
|
||||
id: entry.id,
|
||||
updates: { externalStatusTracking: updated },
|
||||
}),
|
||||
});
|
||||
setLiveTracking(updated);
|
||||
} catch {
|
||||
// Best effort
|
||||
} finally {
|
||||
setToggling(false);
|
||||
}
|
||||
}, [entry.id, liveTracking]);
|
||||
|
||||
const t = liveTracking;
|
||||
|
||||
return (
|
||||
@@ -1022,6 +1043,19 @@ function ExternalStatusSection({
|
||||
<Pencil className="h-3 w-3 mr-1" />
|
||||
Modifica
|
||||
</Button>
|
||||
<Button
|
||||
variant="ghost"
|
||||
size="sm"
|
||||
className={cn("h-6 px-2 text-xs", !t.active && "text-green-600")}
|
||||
onClick={handleToggleActive}
|
||||
disabled={toggling}
|
||||
>
|
||||
{t.active ? (
|
||||
<><BellOff className="h-3 w-3 mr-1" />Opreste</>
|
||||
) : (
|
||||
<><Bell className="h-3 w-3 mr-1" />Reactiveaza</>
|
||||
)}
|
||||
</Button>
|
||||
{t.active && (
|
||||
<Button
|
||||
variant="ghost"
|
||||
|
||||
Reference in New Issue
Block a user