import { _ as __unplugin_components_6 } from "./TemplateDetails-CFhSg1pL.js"; import { d as defineComponent, bk as useTemplatesStore, ad as useNodeTypesStore, a2 as useRoute, b as useRouter, ax as useDocumentTitle, r as ref, x as computed, a7 as watch, o as onMounted, e as createBlock, g as openBlock, bq as createSlots, w as withCtx, j as createBaseVNode, n as normalizeClass, f as createCommentVNode, i as createVNode, eA as N8nMarkdown, l as unref, c as useI18n, h as createElementBlock, m as N8nHeading, k as createTextVNode, t as toDisplayString, p as N8nText, dD as N8nLoading, q as N8nButton, al as useTelemetry, bo as useExternalHooks, _ as _export_sfc } from "./index-CeNA_ukL.js"; import { W as WorkflowPreview } from "./WorkflowPreview-BZs8Di_n.js"; import { u as useTemplateWorkflow } from "./templateActions-D45UELiN.js"; import { T as TemplatesView } from "./TemplatesView-kwADW1e_.js"; import "./Tags-DxSdhB5Q.js"; import "./Tag-ZyDcgFEj.js"; const _sfc_main = /* @__PURE__ */ defineComponent({ __name: "TemplatesWorkflowView", setup(__props) { const externalHooks = useExternalHooks(); const templatesStore = useTemplatesStore(); const nodeTypesStore = useNodeTypesStore(); const route = useRoute(); const router = useRouter(); const telemetry = useTelemetry(); const i18n = useI18n(); const documentTitle = useDocumentTitle(); const loading = ref(true); const showPreview = ref(true); const notFoundError = ref(false); const templateId = computed( () => Array.isArray(route.params.id) ? route.params.id[0] : route.params.id ); const template = computed(() => templatesStore.getFullTemplateById(templateId.value)); const openTemplateSetup = async (id, e) => { await useTemplateWorkflow({ router, templateId: id, inNewBrowserTab: e.metaKey || e.ctrlKey, externalHooks, nodeTypesStore, telemetry, templatesStore, source: "template_preview" }); }; const onHidePreview = () => { showPreview.value = false; }; const scrollToTop = () => { const contentArea = document.getElementById("content"); if (contentArea) { contentArea.scrollTo({ top: 0 }); } }; watch( () => template.value, (newTemplate) => { if (newTemplate) { documentTitle.set(`Template template: ${newTemplate.name}`); } else { documentTitle.set("Templates"); } } ); onMounted(async () => { scrollToTop(); if (template.value?.full) { loading.value = false; return; } try { await templatesStore.fetchTemplateById(templateId.value); } catch (e) { notFoundError.value = true; } loading.value = false; }); return (_ctx, _cache) => { const _component_n8n_heading = N8nHeading; const _component_n8n_text = N8nText; const _component_n8n_loading = N8nLoading; const _component_n8n_button = N8nButton; const _component_WorkflowPreview = WorkflowPreview; const _component_n8n_markdown = N8nMarkdown; const _component_TemplateDetails = __unplugin_components_6; return openBlock(), createBlock(TemplatesView, { "go-back-enabled": true }, createSlots({ header: withCtx(() => [ !notFoundError.value ? (openBlock(), createElementBlock("div", { key: 0, class: normalizeClass(_ctx.$style.wrapper) }, [ createBaseVNode("div", { class: normalizeClass(_ctx.$style.title) }, [ template.value && template.value.name ? (openBlock(), createBlock(_component_n8n_heading, { key: 0, tag: "h1", size: "2xlarge" }, { default: withCtx(() => [ createTextVNode(toDisplayString(template.value.name), 1) ]), _: 1 })) : createCommentVNode("", true), template.value && template.value.name ? (openBlock(), createBlock(_component_n8n_text, { key: 1, color: "text-base", size: "small" }, { default: withCtx(() => [ createTextVNode(toDisplayString(unref(i18n).baseText("generic.workflow")), 1) ]), _: 1 })) : createCommentVNode("", true), createVNode(_component_n8n_loading, { loading: !template.value || !template.value.name, rows: 2, variant: "h1" }, null, 8, ["loading"]) ], 2), createBaseVNode("div", { class: normalizeClass(_ctx.$style.button) }, [ template.value ? (openBlock(), createBlock(_component_n8n_button, { key: 0, "data-test-id": "use-template-button", label: unref(i18n).baseText("template.buttons.useThisWorkflowButton"), size: "large", onClick: _cache[0] || (_cache[0] = ($event) => openTemplateSetup(templateId.value, $event)) }, null, 8, ["label"])) : createCommentVNode("", true), createVNode(_component_n8n_loading, { loading: !template.value, rows: 1, variant: "button" }, null, 8, ["loading"]) ], 2) ], 2)) : (openBlock(), createElementBlock("div", { key: 1, class: normalizeClass(_ctx.$style.notFound) }, [ createVNode(_component_n8n_text, { color: "text-base" }, { default: withCtx(() => [ createTextVNode(toDisplayString(unref(i18n).baseText("templates.workflowsNotFound")), 1) ]), _: 1 }) ], 2)) ]), _: 2 }, [ !notFoundError.value ? { name: "content", fn: withCtx(() => [ createBaseVNode("div", { class: normalizeClass(_ctx.$style.image) }, [ showPreview.value ? (openBlock(), createBlock(_component_WorkflowPreview, { key: 0, loading: loading.value, workflow: template.value?.workflow, onClose: onHidePreview }, null, 8, ["loading", "workflow"])) : createCommentVNode("", true) ], 2), createBaseVNode("div", { class: normalizeClass(_ctx.$style.content) }, [ createBaseVNode("div", { class: normalizeClass(_ctx.$style.markdown), "data-test-id": "template-description" }, [ createVNode(_component_n8n_markdown, { content: template.value?.description, images: template.value?.image, loading: loading.value }, null, 8, ["content", "images", "loading"]) ], 2), createBaseVNode("div", { class: normalizeClass(_ctx.$style.details) }, [ createVNode(_component_TemplateDetails, { "block-title": unref(i18n).baseText("template.details.appsInTheWorkflow"), loading: loading.value, template: template.value }, null, 8, ["block-title", "loading", "template"]) ], 2) ], 2) ]), key: "0" } : void 0 ]), 1024); }; } }); const wrapper = "_wrapper_gfp08_123"; const notFound = "_notFound_gfp08_128"; const title = "_title_gfp08_132"; const button = "_button_gfp08_136"; const image = "_image_gfp08_140"; const content = "_content_gfp08_151"; const markdown = "_markdown_gfp08_162"; const details = "_details_gfp08_173"; const style0 = { wrapper, notFound, title, button, image, content, markdown, details }; const cssModules = { "$style": style0 }; const TemplatesWorkflowView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__cssModules", cssModules]]); export { TemplatesWorkflowView as default };