diff --git a/management-ui/src/pages/Backups/RemoteTargets.tsx b/management-ui/src/pages/Backups/RemoteTargets.tsx
index 06a9e45..10c8a6c 100644
--- a/management-ui/src/pages/Backups/RemoteTargets.tsx
+++ b/management-ui/src/pages/Backups/RemoteTargets.tsx
@@ -116,6 +116,16 @@ export default function RemoteTargetsTab() {
},
onError: (e: Error) => msg.error(e.message),
})
+ const quickToggle = useMutation({
+ mutationFn: async ({ id, row, checked }: { id: number; row: RemoteTarget; checked: boolean }) => {
+ await apiClient.put(`/backup-remotes/${id}`, {
+ name: row.name, kind: row.kind, target_url: row.target_url,
+ settings: row.settings, active: checked,
+ })
+ },
+ onSuccess: () => { void qc.invalidateQueries({ queryKey: ['backup-remotes'] }) },
+ onError: (e: Error) => message.error(e.message),
+ })
const del = useMutation({
mutationFn: async (id: number) => { await apiClient.delete(`/backup-remotes/${id}`) },
onSuccess: () => { qc.invalidateQueries({ queryKey: ['backup-remotes'] }) },
@@ -156,7 +166,14 @@ export default function RemoteTargetsTab() {
},
{
title: t('remotes.col.active'), dataIndex: 'active', width: 80,
- render: (v: boolean) => v ? an : aus,
+ render: (v: boolean, r: RemoteTarget) => (
+ quickToggle.mutate({ id: r.id, row: r, checked })}
+ />
+ ),
},
{
title: t('common.actions'), key: 'a', width: 240,