diff --git a/src/app/(dashboard)/dashboard/api-communications/edit/[id]/page.tsx b/src/app/(dashboard)/dashboard/api-communications/edit/[id]/page.tsx index b2f8faf..e216295 100644 --- a/src/app/(dashboard)/dashboard/api-communications/edit/[id]/page.tsx +++ b/src/app/(dashboard)/dashboard/api-communications/edit/[id]/page.tsx @@ -2,10 +2,8 @@ import { ScrollArea, ScrollBar } from "@/components/ui/scroll-area"; import { Separator } from "@/components/ui/separator"; -import ConfigurationForm from "@/components/configuration-form"; import Breadcrumb from "@/components/breadcrumb"; -import { dummyApiCommunications, dummyConfigurations } from "@/constants/data"; -import { Configuration } from "@/types/configuration"; +import { dummyApiCommunications } from "@/constants/data"; import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; import APICommunicationForm from "@/components/api-communication-form"; import { ApiCommunication } from "@/types/api-communication"; diff --git a/src/app/(dashboard)/dashboard/criteria/add/page.tsx b/src/app/(dashboard)/dashboard/criteria/add/page.tsx index 3a11f98..f667181 100644 --- a/src/app/(dashboard)/dashboard/criteria/add/page.tsx +++ b/src/app/(dashboard)/dashboard/criteria/add/page.tsx @@ -1,7 +1,9 @@ +"use client"; + import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; import { ScrollArea, ScrollBar } from "@/components/ui/scroll-area"; import { Separator } from "@/components/ui/separator"; -import AddCriteriaForm from "@/components/add-criteria-form"; +import AddCriteriaForm from "@/components/criteria-form"; export default function SettingsDisplayPage() { return ( @@ -16,7 +18,11 @@ export default function SettingsDisplayPage() { - + {}} + btn1_content="Save and continue editing" + btn2_content="Save changes" + /> diff --git a/src/app/(dashboard)/dashboard/criteria/edit/[id]/page.tsx b/src/app/(dashboard)/dashboard/criteria/edit/[id]/page.tsx new file mode 100644 index 0000000..437b1d1 --- /dev/null +++ b/src/app/(dashboard)/dashboard/criteria/edit/[id]/page.tsx @@ -0,0 +1,55 @@ +"use client"; + +import { ScrollArea, ScrollBar } from "@/components/ui/scroll-area"; +import { Separator } from "@/components/ui/separator"; +import ConfigurationForm from "@/components/configuration-form"; +import Breadcrumb from "@/components/breadcrumb"; +import { + dummyApiCommunications, + dummyConfigurations, + dummyCriteria, +} from "@/constants/data"; +import { Configuration } from "@/types/configuration"; +import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; +import APICommunicationForm from "@/components/api-communication-form"; +import { ApiCommunication } from "@/types/api-communication"; +import CriteriaForm from "@/components/criteria-form"; +import { Criteria } from "@/types/criteria"; + +const breadcrumbItems = [ + { title: "Dashboard", link: "/dashboard" }, + { title: "Api Communications", link: "/dashboard/api-communications" }, + { title: "Edit" }, +]; + +export default function Page({ params }: { params: { id: string } }) { + const criteria = dummyCriteria.find((criteria) => criteria.id === +params.id); + + return ( + +
+ +
+ + + + Edit Criteria + + + + + + {}} + btn1_content="Save and continue editing" + btn2_content="Save changes" + /> + + +
+
+ +
+ ); +} diff --git a/src/components/api-communication-form.tsx b/src/components/api-communication-form.tsx index 90ed2f8..5a02add 100644 --- a/src/components/api-communication-form.tsx +++ b/src/components/api-communication-form.tsx @@ -78,17 +78,17 @@ const displayFormSchema = z.object({ type DisplayFormValues = z.infer; -// This can come from your database or API. -const defaultValues: Partial = { - pt: "", - messages: "", - completion: "", - ct: "", - tt: "", - status: "", - type: "", - evaluation: "", -}; +// // This can come from your database or API. +// const defaultValues: Partial = { +// pt: "", +// messages: "", +// completion: "", +// ct: "", +// tt: "", +// status: "", +// type: "", +// evaluation: "", +// }; type Props = { apiCommunication?: ApiCommunication; diff --git a/src/components/add-criteria-form.tsx b/src/components/criteria-form.tsx similarity index 80% rename from src/components/add-criteria-form.tsx rename to src/components/criteria-form.tsx index ac9a887..bdb31ad 100644 --- a/src/components/add-criteria-form.tsx +++ b/src/components/criteria-form.tsx @@ -16,6 +16,7 @@ import { import { toast } from "@/components/ui/use-toast"; import { Input } from "./ui/input"; import { Textarea } from "./ui/textarea"; +import { Criteria } from "@/types/criteria"; const displayFormSchema = z.object({ name: z.string().trim().min(1, "Name is required."), @@ -25,17 +26,33 @@ const displayFormSchema = z.object({ type DisplayFormValues = z.infer; -// This can come from your database or API. -const defaultValues: Partial = { - name: "", - description: "", - prompt: "", +// // This can come from your database or API. +// const defaultValues: Partial = { +// name: "", +// description: "", +// prompt: "", +// }; + +type Props = { + criteria?: Criteria; + onSubmit: () => void; + btn1_content: string; + btn2_content: string; }; -export default function AddCriteriaForm() { +export default function CriteriaForm({ + criteria, + onSubmit: onFormSubmit, + btn1_content, + btn2_content, +}: Props) { const form = useForm({ resolver: zodResolver(displayFormSchema), - defaultValues, + defaultValues: { + name: criteria?.name || "", + description: criteria?.description || "", + prompt: criteria?.prompt || "", + }, }); function onSubmit(data: DisplayFormValues) { @@ -47,6 +64,8 @@ export default function AddCriteriaForm() { ), }); + + onFormSubmit(); } return ( @@ -94,10 +113,10 @@ export default function AddCriteriaForm() {
diff --git a/src/components/criteria-table/cell-action.tsx b/src/components/criteria-table/cell-action.tsx index 0e2cc79..a0b1a86 100644 --- a/src/components/criteria-table/cell-action.tsx +++ b/src/components/criteria-table/cell-action.tsx @@ -13,6 +13,7 @@ import { Criteria } from "@/types/criteria"; import { EvaluationStart } from "@/types/evaluation-start"; import { Edit, GitCommit, MoreHorizontal, Trash } from "lucide-react"; +import Link from "next/link"; import { useRouter } from "next/navigation"; import { useState } from "react"; @@ -48,13 +49,13 @@ export const CellAction: React.FC = ({ data }) => { Actions - - // router.push(`#`) - // } - > - Edit + + + Edit +