diff options
Diffstat (limited to 'packages/web/app/dashboard/settings/components/AddApiKey.tsx')
| -rw-r--r-- | packages/web/app/dashboard/settings/components/AddApiKey.tsx | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/packages/web/app/dashboard/settings/components/AddApiKey.tsx b/packages/web/app/dashboard/settings/components/AddApiKey.tsx index f4f2894c..c438f4b1 100644 --- a/packages/web/app/dashboard/settings/components/AddApiKey.tsx +++ b/packages/web/app/dashboard/settings/components/AddApiKey.tsx @@ -53,20 +53,22 @@ function AddApiKeyForm({ onSuccess }: { onSuccess: (key: string) => void }) { name: z.string(), }); const router = useRouter(); + const mutator = api.apiKeys.create.useMutation({ + onSuccess: (resp) => { + onSuccess(resp.key); + router.refresh(); + }, + onError: () => { + toast({ description: "Something went wrong", variant: "destructive" }); + }, + }); const form = useForm<z.infer<typeof formSchema>>({ resolver: zodResolver(formSchema), }); async function onSubmit(value: z.infer<typeof formSchema>) { - try { - const resp = await api.apiKeys.create.mutate({ name: value.name }); - onSuccess(resp.key); - } catch (e) { - toast({ description: "Something went wrong", variant: "destructive" }); - return; - } - router.refresh(); + mutator.mutate({ name: value.name }); } const onError: SubmitErrorHandler<z.infer<typeof formSchema>> = (errors) => { |
