39 lines
1004 B
TypeScript
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>
|
|
);
|
|
}
|