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,