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

39 lines
1004 B
TypeScript

import { FormDialog } from "@repo/shadcn-ui/components/form-dialog";
import type { ComponentProps, ReactNode } from "react";
import { useTranslation } from "react-i18next";
import { ResourceDetail } from "./resource-detail";
export function ResourceDetailDialog({
resource,
references,
relatedContent,
onClose,
}: {
resource: ComponentProps<typeof ResourceDetail>["resource"];
references: NonNullable<ComponentProps<typeof ResourceDetail>["references"]>;
relatedContent:
| ((resource: ComponentProps<typeof ResourceDetail>["resource"]) => ReactNode)
| undefined;
onClose: () => void;
}) {
const { t } = useTranslation("resources");
return (
<FormDialog
cancelLabel={t("close")}
onOpenChange={(open) => {
if (!open) {
onClose();
}
}}
open
title={resource.values.name}
wide
>
<ResourceDetail references={references} resource={resource} />
{relatedContent?.(resource)}
</FormDialog>
);
}