import * as z from "zod"; import React from "react"; import { Button, Group, Modal, Textarea } from "@mantine/core"; import { useForm, zodResolver } from "@mantine/form"; import { useTranslation } from "react-i18next"; import { useActivateMutation } from "@/ee/licence/queries/license-query.ts"; import { useDisclosure } from "@mantine/hooks"; import { useAtom } from "jotai"; import { workspaceAtom } from "@/features/user/atoms/current-user-atom.ts"; import RemoveLicense from "@/ee/licence/components/remove-license.tsx"; export default function ActivateLicense() { const { t } = useTranslation(); const [opened, { open, close }] = useDisclosure(false); const [workspace] = useAtom(workspaceAtom); return ( {workspace?.hasLicenseKey && } ); } const formSchema = z.object({ licenseKey: z.string().min(1), }); type FormValues = z.infer; interface ActivateLicenseFormProps { onClose?: () => void; } export function ActivateLicenseForm({ onClose }: ActivateLicenseFormProps) { const { t } = useTranslation(); const activateLicenseMutation = useActivateMutation(); const form = useForm({ validate: zodResolver(formSchema), initialValues: { licenseKey: "", }, }); async function handleSubmit(data: { licenseKey: string }) { await activateLicenseMutation.mutateAsync(data.licenseKey); form.reset(); onClose(); } return (