fix: templates creation UI gating

This commit is contained in:
Philipinho
2026-06-29 12:21:08 +01:00
parent 10cb07cca6
commit 510e3777ff
4 changed files with 12 additions and 4 deletions
@@ -990,6 +990,8 @@
"Are you sure you want to delete this template?": "Are you sure you want to delete this template?",
"Template scope updated": "Template scope updated",
"Choose which space this template belongs to": "Choose which space this template belongs to",
"Only workspace admins can create global templates.": "Only workspace admins can create global templates.",
"You need edit access to this space to create templates.": "You need edit access to this space to create templates.",
"Scope": "Scope",
"Select scope": "Select scope",
"Title": "Title",
@@ -29,11 +29,17 @@ import UseTemplateModal from "@/ee/template/components/use-template-modal";
import TemplatePreviewModal from "@/ee/template/components/template-preview-modal";
import useUserRole from "@/hooks/use-user-role";
import CreateTemplateModal from "@/ee/template/components/create-template-modal";
import { useAtomValue } from "jotai";
import { workspaceAtom } from "@/features/user/atoms/current-user-atom";
export default function TemplateList() {
const { t } = useTranslation();
const navigate = useNavigate();
const { isAdmin: isWorkspaceAdmin } = useUserRole();
const workspace = useAtomValue(workspaceAtom);
const canCreateTemplate =
isWorkspaceAdmin ||
workspace?.settings?.templates?.allowMemberTemplates === true;
const [spaceFilter, setSpaceFilter] = useState<string | null>(null);
const [selectedTemplate, setSelectedTemplate] = useState<ITemplate | null>(
null,
@@ -105,7 +111,7 @@ export default function TemplateList() {
<Container size="900" pt="xl">
<Group justify="space-between" mb="xl">
<Title order={3}>{t("Templates")}</Title>
{isWorkspaceAdmin && (
{canCreateTemplate && (
<Button
leftSection={<IconPlus size={16} />}
onClick={openCreateModal}
@@ -76,7 +76,7 @@ export function useCreateTemplateMutation() {
onError: (error) => {
const errorMessage = error["response"]?.data?.message;
notifications.show({
message: errorMessage || t("Failed to create template"),
message: errorMessage ? t(errorMessage) : t("Failed to create template"),
color: "red",
});
},
@@ -117,7 +117,7 @@ export function useUpdateTemplateMutation() {
onError: (error) => {
const errorMessage = error["response"]?.data?.message;
notifications.show({
message: errorMessage || t("Failed to update template"),
message: errorMessage ? t(errorMessage) : t("Failed to update template"),
color: "red",
});
},