From 8a09fba01e49bead5cdd2bd5fe4b52ecfcf8fd3e Mon Sep 17 00:00:00 2001 From: "P. Reis" Date: Wed, 20 Nov 2024 20:44:28 -0300 Subject: [PATCH] fix(AdminNostrRelays): refetchQueries after onSuccess, display toast success and error --- src/features/admin/nostr-relays.tsx | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/features/admin/nostr-relays.tsx b/src/features/admin/nostr-relays.tsx index 7d90c1c49..98fc17d72 100644 --- a/src/features/admin/nostr-relays.tsx +++ b/src/features/admin/nostr-relays.tsx @@ -9,11 +9,14 @@ import Form from 'soapbox/components/ui/form.tsx'; import Stack from 'soapbox/components/ui/stack.tsx'; import RelayEditor, { RelayData } from 'soapbox/features/nostr-relays/components/relay-editor.tsx'; import { useApi } from 'soapbox/hooks/useApi.ts'; +import { queryClient } from 'soapbox/queries/client.ts'; +import toast from 'soapbox/toast.tsx'; import { useAdminNostrRelays } from './hooks/useAdminNostrRelays.ts'; const messages = defineMessages({ title: { id: 'column.admin.nostr_relays', defaultMessage: 'Relays' }, + success: { id: 'generic.saved', defaultMessage: 'Saved' }, }); const AdminNostrRelays: React.FC = () => { @@ -25,6 +28,13 @@ const AdminNostrRelays: React.FC = () => { const mutation = useMutation({ mutationFn: async () => api.put('/api/v1/admin/ditto/relays', relays), + onSuccess: () => { + queryClient.refetchQueries({ queryKey: ['NostrRelay'] }); + toast.success(messages.success); + }, + onError: (data) => { + toast.error(data.message); // `data.message` is a generic error message, not the `error` message returned from the backend + }, }); const handleSubmit = () => {