Website : rimsha.abasa.com
backdoor
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
var
/
www
/
talha_silentcontent
/
src
/
components
/
Filename :
SettingsForm.tsx
back
Copy
"use client"; import { zodResolver } from "@hookform/resolvers/zod"; import { useForm } from "react-hook-form"; import * as z from "zod"; import { Button } from "@/components/ui/button"; import { Input } from "@/components/ui/input"; import { toast } from "@/components/ui/use-toast"; import { SettingsForm } from "@/lib/validators/settingsValidator"; import { useEffect, useState } from "react"; import { useMutation, useQuery } from "@tanstack/react-query"; import axios, { AxiosError } from "axios"; import { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, } from "./ui/card"; import APIKeysSettings from "./APIKeysSettings"; import LoadingSpinner from "./LoadingSpinner"; export function SettingForm() { const { handleSubmit, getValues, register, formState: { errors }, } = useForm<z.infer<typeof SettingsForm>>({ resolver: zodResolver(SettingsForm), }); const { mutate: updateAPIKey, isLoading } = useMutation({ mutationFn: async (data: z.infer<typeof SettingsForm>) => { const payload = { data }; console.log(payload) const response = await axios.patch("/api/setting", payload); console.log(response.data); return data; }, onSuccess: (data) => { console.log(`Your API Key has been been set ${data}`); toast({ description: "Your API_Key has been registered.", }); //@ts-ignore window.location.reload(true); }, onError: (err) => { return toast({ title: "API Key already exists", description: "Your API_Key was not registered. Please try again.", variant: "destructive", }); }, }); if (isLoading ) { return <LoadingSpinner message="Loading Keys" />; } return ( <> <form > <Card> <CardHeader className="pb-0" > <CardTitle className="text-xl pb-4 ">API Keys:</CardTitle> <CardDescription> Enter your API Keys </CardDescription> </CardHeader> <CardContent className="pb-0 flex flex-col gap-4"> <Input placeholder="sk-proj-5FYncOQI5k8nn2BXGrzYT3BlbkFJ3WiwH4otDCi6RFx5zGKV" id="name" className=" w-full md:w-[450px] mt-[14px] inline-block mr-3" size={32} {...register("API_Key")} /> <Button className="w-[160px] text-md" type="submit" variant={"gradient"} onClick={handleSubmit((apiKey) => updateAPIKey(apiKey))}>Add</Button> {errors?.API_Key && ( <p className="px-1 text-xs text-red-600"> {errors.API_Key.message} </p> )} <APIKeysSettings /> </CardContent> </Card> </form> </> ); }