import { AssetForm } from "@metis/assets/client"; import { FormDialog } from "@repo/rdx-ui/components/form-dialog"; import { useTranslation } from "react-i18next"; import { AccessForm } from "../../access"; import { MailFeedback } from "../../mail-configurations/shared/ui/mail-feedback"; import { PersonForm } from "../../people"; import { useConfigurationQuickEditorController } from "../controllers"; import type { ConfigurationQuickEditorProps } from "../types"; const titles = { person: "newPerson", account: "newAccount", asset: "newAsset", authorization: "authorize", } as const; export function ConfigurationQuickEditor(props: ConfigurationQuickEditorProps) { const { kind, title, company, values, data } = props; const { created, close, catalog } = useConfigurationQuickEditorController(props); const { t } = useTranslation("companies"); return ( { if (!open) { close(); } }} open title={title ?? t(`mail.${titles[kind]}`)} wide > {kind === "person" && ( created("personId", id)} requireActive /> )} {(kind === "account" || kind === "authorization") && data && ( { if (kind === "account") { created("accountId", id); } else { close(); } }} people={company.people} scope={company.id} /> )} {kind === "asset" && (catalog.data ? ( undefined, onCreateSite: () => undefined, }} onSaved={(id) => created("assetId", id)} /> ) : ( <>

{t("loading")}

))}
); }