diff --git a/apps/console/src/pages/organizations/cookie-banners/configuration/cookies/CookieBannerCookiesPage.tsx b/apps/console/src/pages/organizations/cookie-banners/configuration/cookies/CookieBannerCookiesPage.tsx index d68b6db86..b87d42946 100644 --- a/apps/console/src/pages/organizations/cookie-banners/configuration/cookies/CookieBannerCookiesPage.tsx +++ b/apps/console/src/pages/organizations/cookie-banners/configuration/cookies/CookieBannerCookiesPage.tsx @@ -22,8 +22,7 @@ import { graphql } from "relay-runtime"; import type { CookieBannerCookiesPageDeleteMutation } from "#/__generated__/core/CookieBannerCookiesPageDeleteMutation.graphql"; import type { CookieBannerCookiesPageQuery } from "#/__generated__/core/CookieBannerCookiesPageQuery.graphql"; -import { CategoryDialog } from "../_components/CategoryDialog"; - +import { CategoryDialog } from "./_components/CategoryDialog"; import { CategorySection } from "./_components/CategorySection"; export const cookieBannerCookiesPageQuery = graphql` diff --git a/apps/console/src/pages/organizations/cookie-banners/configuration/cookies/_components/AddCookieRow.tsx b/apps/console/src/pages/organizations/cookie-banners/configuration/cookies/_components/AddCookieRow.tsx index ddd943864..e92974210 100644 --- a/apps/console/src/pages/organizations/cookie-banners/configuration/cookies/_components/AddCookieRow.tsx +++ b/apps/console/src/pages/organizations/cookie-banners/configuration/cookies/_components/AddCookieRow.tsx @@ -15,10 +15,16 @@ import { toMaxAgeSeconds } from "@probo/helpers"; import { useTranslate } from "@probo/i18n"; import { Button, DurationInput, Input, Td, Tr } from "@probo/ui"; -import { useState } from "react"; +import { Controller, useForm } from "react-hook-form"; import type { CookieEntry } from "./CategorySection"; +interface CookieFormValues { + name: string; + duration: { value: string; unit: string }; + description: string; +} + interface AddCookieRowProps { isUpdating: boolean; onSave: (cookie: CookieEntry) => void; @@ -31,16 +37,20 @@ export function AddCookieRow({ onCancel, }: AddCookieRowProps) { const { __ } = useTranslate(); - const [name, setName] = useState(""); - const [durationValue, setDurationValue] = useState(""); - const [durationUnit, setDurationUnit] = useState("days"); - const [description, setDescription] = useState(""); - const handleSave = () => { + const { register, handleSubmit, control } = useForm({ + defaultValues: { + name: "", + duration: { value: "", unit: "days" }, + description: "", + }, + }); + + const onSubmit = (data: CookieFormValues) => { onSave({ - name, - maxAgeSeconds: toMaxAgeSeconds(durationValue, durationUnit), - description, + name: data.name, + maxAgeSeconds: toMaxAgeSeconds(data.duration.value, data.duration.unit), + description: data.description, }); }; @@ -48,30 +58,34 @@ export function AddCookieRow({ setName(e.target.value)} + {...register("name")} placeholder={__("Cookie name")} /> - ( + field.onChange({ ...field.value, value: v })} + onUnitChange={u => field.onChange({ ...field.value, unit: u })} + /> + )} /> setDescription(e.target.value)} + {...register("description")} placeholder={__("Description")} />