import { Card, Text, ActionIcon, Menu, Group } from "@mantine/core"; import { IconDots, IconEdit, IconTrash, IconFileText, } from "@tabler/icons-react"; import { ITemplate } from "@/ee/template/types/template.types"; import { useTranslation } from "react-i18next"; import classes from "./template-card.module.css"; type TemplateCardProps = { template: ITemplate; spaceName?: string; onUse: (template: ITemplate) => void; onEdit?: (template: ITemplate) => void; onDelete?: (template: ITemplate) => void; canManage?: boolean; }; export default function TemplateCard({ template, spaceName, onUse, onEdit, onDelete, canManage, }: TemplateCardProps) { const { t } = useTranslation(); return ( onUse(template)} >
{template.icon ? (
{template.icon}
) : (
)} {canManage && ( e.stopPropagation()} aria-label={t("Template menu")} > } onClick={(e) => { e.stopPropagation(); onEdit?.(template); }} > {t("Edit")} } onClick={(e) => { e.stopPropagation(); onDelete?.(template); }} > {t("Delete")} )}
{template.title}
{template.spaceId ? (spaceName || t("Space")) : t("Global")}
); }