aboutsummaryrefslogtreecommitdiffstats
path: root/packages/web/app/dashboard/settings/components
diff options
context:
space:
mode:
authorMohamedBassem <me@mbassem.com>2024-02-16 20:33:00 +0000
committerMohamedBassem <me@mbassem.com>2024-02-16 20:33:00 +0000
commit6febe13b3f4ad4eff3f205ece445b3577255bf41 (patch)
tree776e5dd7337ce21eaf6f4b7efc71cd587c21bf9d /packages/web/app/dashboard/settings/components
parente4f4270790936db81364bab057d3cdb4bbdaa31e (diff)
downloadkarakeep-6febe13b3f4ad4eff3f205ece445b3577255bf41.tar.zst
Migrating to react query for client side queries
Diffstat (limited to 'packages/web/app/dashboard/settings/components')
-rw-r--r--packages/web/app/dashboard/settings/components/AddApiKey.tsx18
-rw-r--r--packages/web/app/dashboard/settings/components/DeleteApiKey.tsx24
2 files changed, 25 insertions, 17 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) => {
diff --git a/packages/web/app/dashboard/settings/components/DeleteApiKey.tsx b/packages/web/app/dashboard/settings/components/DeleteApiKey.tsx
index 715b7a2c..bc3e3c92 100644
--- a/packages/web/app/dashboard/settings/components/DeleteApiKey.tsx
+++ b/packages/web/app/dashboard/settings/components/DeleteApiKey.tsx
@@ -13,9 +13,9 @@ import {
DialogTitle,
DialogTrigger,
} from "@/components/ui/dialog";
-import { api } from "@/lib/trpc";
import { useRouter } from "next/navigation";
import { toast } from "@/components/ui/use-toast";
+import { api } from "@/lib/trpc";
export default function DeleteApiKey({
name,
@@ -25,13 +25,15 @@ export default function DeleteApiKey({
id: string;
}) {
const router = useRouter();
- const deleteKey = async () => {
- await api.apiKeys.revoke.mutate({ id });
- toast({
- description: "Key was successfully deleted",
- });
- router.refresh();
- };
+ const mutator = api.apiKeys.revoke.useMutation({
+ onSuccess: () => {
+ toast({
+ description: "Key was successfully deleted",
+ });
+ router.refresh();
+ },
+ });
+
return (
<Dialog>
<DialogTrigger asChild>
@@ -54,7 +56,11 @@ export default function DeleteApiKey({
</Button>
</DialogClose>
<DialogClose asChild>
- <Button type="button" variant="destructive" onClick={deleteKey}>
+ <Button
+ type="button"
+ variant="destructive"
+ onClick={() => mutator.mutate({ id })}
+ >
Delete
</Button>
</DialogClose>