Website : rimsha.abasa.com
backdoor
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
var
/
www
/
talha_silentcontent
/
src
/
components
/
Filename :
LongPromptSelector.tsx
back
Copy
"use client"; import { zodResolver } from "@hookform/resolvers/zod"; import { FieldValues, 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 } from "@tanstack/react-query"; import axios, { AxiosError } from "axios"; import { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, } from "./ui/card"; import { Label } from "@radix-ui/react-label"; import { RiDeleteBin6Line } from "react-icons/ri"; import { useRouter } from "next/navigation"; import APIKeysSettings from "./APIKeysSettings"; import PromptSettings from "./PromptSettings"; import { Textarea } from "./ui/textarea"; import { ReloadIcon } from "@radix-ui/react-icons"; // @ts-ignore export function LongPromptSelector({id}) { const router = useRouter(); const { handleSubmit, getValues, register, ...form } = useForm(); const { mutate: updatePrompt, isLoading } = useMutation({ mutationFn: async (data) => { const payload = { // @ts-ignore ...data, promptType: 'long', } console.log(payload) const response = await axios.post(`/api/prompt/${id}`, payload); console.log(response.data); return data; }, onSuccess: (data) => { console.log(`Your Prompt has been been set`); toast({ description: "Your Prompt has been registered.", }); // window.location.reload(true); form.reset(); }, onError: (err) => { return toast({ title: "There was an error storing prompt", description: "Your prompt was not registered. Please try again.", variant: "destructive", }); }, }) return ( <> <form className="mt-4"> <Card> <CardHeader className="pb-6"> <CardTitle className="text-3xl" >Multiple Step Prompt</CardTitle> <CardDescription>Please enter the name, outline and section prompt. Make sure the variable in the prompt is written like {"{{KEYWORD}}"}</CardDescription> </CardHeader> <CardContent className="flex flex-col gap-4"> <CardDescription className="flex flex-col text-foreground text-base"> Name: <Input id="name" className="w-[450px] mt-[14px] inline-block mr-3" size={32} placeholder="ex: AH7" {...register("name")} /> </CardDescription> <CardDescription className="flex flex-col text-foreground text-base"> Enter Outline Prompt: <Textarea id="name2" className="w-[450px] h-[150px] mt-[14px] mr-3" placeholder="Write something" {...register("outlinePrompt")} /> </CardDescription> <CardDescription className="flex flex-col text-foreground text-base"> Enter Outline Prompt: <Textarea id="name2" className="w-[450px] h-[150px] mt-[14px] mr-3 mb-5" placeholder="Write something" {...register("sectionPrompt")} /> </CardDescription> {/* @ts-ignore */} <Button className="w-48" variant={'gradient'} type="submit" onClick={handleSubmit((prompt) => updatePrompt(prompt))}> {" "} {isLoading && <ReloadIcon className="mr-2 h-4 w-4 animate-spin" />}Submit</Button> </CardContent> </Card> </form> </> ); }