"use client"; import { useState } from "react"; import Button from "../../../components/buttons/Button"; import TextInput from "../../../components/controls/TextInput"; import Dialog from "../../../components/modals/Dialog"; import { useTranslation } from "../../../contexts/MessagesContext"; const COMMUNITY_NAME_MAX = 48; export function MakeACopyDialog({ isOpen, onClose, possessive, countsSpoken, viewerEmail, busy, error, onConfirm, }: { isOpen: boolean; onClose: () => void; possessive: string; countsSpoken: string; viewerEmail: string; busy: boolean; error: string | null; onConfirm: (_title: string) => void; }) { const t = useTranslation("pages.invite"); const [title, setTitle] = useState(""); const [nameError, setNameError] = useState(null); const trimmed = title.trim(); return ( { if (!busy) onClose(); }} title={t("dialogTitle")} description={t("dialogDescription") .replace("{possessive}", possessive) .replace("{counts}", countsSpoken)} footer={ <> } >
{ setTitle(event.target.value); setNameError(null); }} />

{t("comesWithTitle")}

{t("comesWithBody")}

{t("staysWithTitle")}

{t("staysWithBody")}

{t("saveTo").replace("{email}", viewerEmail)}

{error ? (

{error}

) : null}
); }