From 30e3413f6c1c55d4b5b49e1ddc5ed2633672975c Mon Sep 17 00:00:00 2001 From: Tatevik Date: Tue, 21 Apr 2026 13:31:18 +0400 Subject: [PATCH 1/5] Templates --- assets/router/index.js | 4 + .../components/templates/TemplateLibrary.vue | 149 +++++++++++ assets/vue/views/TemplateEditView.vue | 235 ++++++++++++++++++ assets/vue/views/TemplatesView.vue | 12 + package.json | 2 +- src/Controller/TemplatesController.php | 34 +++ yarn.lock | 8 +- 7 files changed, 439 insertions(+), 5 deletions(-) create mode 100644 assets/vue/components/templates/TemplateLibrary.vue create mode 100644 assets/vue/views/TemplateEditView.vue create mode 100644 assets/vue/views/TemplatesView.vue create mode 100644 src/Controller/TemplatesController.php diff --git a/assets/router/index.js b/assets/router/index.js index 9cdbb48..715f3f7 100644 --- a/assets/router/index.js +++ b/assets/router/index.js @@ -5,6 +5,8 @@ import ListsView from '../vue/views/ListsView.vue' import ListSubscribersView from '../vue/views/ListSubscribersView.vue' import CampaignsView from '../vue/views/CampaignsView.vue' import CampaignEditView from '../vue/views/CampaignEditView.vue' +import TemplatesView from '../vue/views/TemplatesView.vue' +import TemplateEditView from '../vue/views/TemplateEditView.vue' export const router = createRouter({ history: createWebHistory(), @@ -13,6 +15,8 @@ export const router = createRouter({ { path: '/subscribers', name: 'subscribers', component: SubscribersView, meta: { title: 'Subscribers' } }, { path: '/lists', name: 'lists', component: ListsView, meta: { title: 'Lists' } }, { path: '/campaigns', name: 'campaigns', component: CampaignsView, meta: { title: 'Campaigns' } }, + { path: '/templates', name: 'templates', component: TemplatesView, meta: { title: 'Templates' } }, + { path: '/templates/:templateId/edit', name: 'template-edit', component: TemplateEditView, meta: { title: 'Edit Template' } }, { path: '/campaigns/create', name: 'campaign-create', component: CampaignEditView, meta: { title: 'Create Campaign' } }, { path: '/campaigns/:campaignId/edit', name: 'campaign-edit', component: CampaignEditView, meta: { title: 'Edit Campaign' } }, { path: '/lists/:listId/subscribers', name: 'list-subscribers', component: ListSubscribersView, meta: { title: 'List Subscribers' } }, diff --git a/assets/vue/components/templates/TemplateLibrary.vue b/assets/vue/components/templates/TemplateLibrary.vue new file mode 100644 index 0000000..5e3f99b --- /dev/null +++ b/assets/vue/components/templates/TemplateLibrary.vue @@ -0,0 +1,149 @@ + + + diff --git a/assets/vue/views/TemplateEditView.vue b/assets/vue/views/TemplateEditView.vue new file mode 100644 index 0000000..5a4bf01 --- /dev/null +++ b/assets/vue/views/TemplateEditView.vue @@ -0,0 +1,235 @@ +