metis-desk/modules/assets/src/web/asset-detail-dialog.tsx
2026-10-08 16:43:34 +02:00

48 lines
1.2 KiB
TypeScript

import { FormDialog } from "@repo/shadcn-ui/components/form-dialog";
import type { ComponentProps } from "react";
import { useTranslation } from "react-i18next";
import { AssetDetail } from "./asset-detail";
import { AssetRelationships } from "./asset-relationships";
import { AssetSupport } from "./asset-support";
export function AssetDetailDialog({
asset,
lookups,
companyId,
csrfToken,
onClose,
}: {
asset: ComponentProps<typeof AssetDetail>["asset"];
lookups: ComponentProps<typeof AssetDetail>["lookups"];
companyId: string;
csrfToken: string;
onClose: () => void;
}) {
const { t } = useTranslation("assets");
return (
<FormDialog
cancelLabel={t("close")}
onOpenChange={(open) => {
if (!open) {
onClose();
}
}}
open
title={asset.values.name}
wide
>
<AssetDetail asset={asset} lookups={lookups}>
<AssetRelationships assetId={asset.id} companyId={companyId} csrfToken={csrfToken} />
<AssetSupport
assetId={asset.id}
companyId={companyId}
csrfToken={csrfToken}
retired={asset.values.status === "retired"}
/>
</AssetDetail>
</FormDialog>
);
}