import { AssetInventoryPage, WorkstationsPage } from "@metis/assets/client"; import { FormDialog } from "@repo/shadcn-ui/components/form-dialog"; import { useState } from "react"; import { useTranslation } from "react-i18next"; import type { CompanyDTO } from "../../common"; import { PersonForm } from "./person-form"; import { SiteForm } from "./site-form"; export function CompanyInventory({ company, csrfToken, workstations = false, initialId, initialCreate, }: { company: CompanyDTO; csrfToken: string; workstations?: boolean; initialId?: string | undefined; initialCreate?: boolean | undefined; }) { const { t } = useTranslation("companies"); const { t: assetTranslation } = useTranslation("assets"); const [quick, setQuick] = useState<{ kind: "site" | "person"; onCreated: (id: string) => void; }>(); const Page = workstations ? WorkstationsPage : AssetInventoryPage; return ( <> setQuick({ kind: "site", onCreated }), onCreatePerson: (onCreated) => setQuick({ kind: "person", onCreated }), }} /> {quick && ( { if (!open) { setQuick(undefined); } }} open title={t(quick.kind === "site" ? "newSite" : "newPerson")} >

{assetTranslation("relatedNotice")}

{quick.kind === "site" ? ( { quick.onCreated(id); setQuick(undefined); }} showTitle={false} /> ) : ( { quick.onCreated(id); setQuick(undefined); }} requireActive /> )}
)} ); }