import { FormActions, FormBody, FormDialog } from "@repo/rdx-ui/components/form-dialog"; import { Button } from "@repo/shadcn-ui/components/button"; import { Input } from "@repo/shadcn-ui/components/input"; import { Label } from "@repo/shadcn-ui/components/label"; import { useId } from "react"; import { useTranslation } from "react-i18next"; import { EntityHelp } from "../../help"; import { AccessApiError } from "../../shared/api"; import { useQuickCreateDialogController } from "../controllers"; import type { QuickCreateDialogProps } from "../types"; export function QuickCreateDialog(props: QuickCreateDialogProps) { const { target, scope, onCreated } = props; const { form, existing, mutation, submit, changeOpen } = useQuickCreateDialogController(props); const { t } = useTranslation("access"); const id = useId(); return (
{target.kind === "environment" && (

{t("quickEnvironmentContext", { name: target.systemName })}

)}
value.trim().length > 0 })} /> {form.formState.errors.name && (

{t("invalid")}

)}
{mutation.isError && (

{t( `errors.${mutation.error instanceof AccessApiError ? mutation.error.code : "INTERNAL_ERROR"}` )}

)} {existing && (

{t("quickExisting")}

)}

{t("quickCreateNotice")}

); }