From 1e2ce070aab3cdd94830ed13c0ed5f37ca66c095 Mon Sep 17 00:00:00 2001 From: Muhsin Keloth Date: Wed, 30 Jul 2025 16:48:08 +0400 Subject: [PATCH] chore: add getFilteredWhatsAppTemplates getter --- .../WhatsAppCampaign/WhatsAppCampaignForm.vue | 6 +- .../components/ActionButtons.vue | 6 +- .../components/ComposeNewConversationForm.vue | 1 + .../components/WhatsAppOptions.vue | 35 +-- .../WhatsappTemplates/TemplatesPicker.vue | 31 +- .../dashboard/store/modules/inboxes.js | 43 +++ .../modules/specs/inboxes/getters.spec.js | 266 ++++++++++++++++++ 7 files changed, 331 insertions(+), 57 deletions(-) diff --git a/app/javascript/dashboard/components-next/Campaigns/Pages/CampaignPage/WhatsAppCampaign/WhatsAppCampaignForm.vue b/app/javascript/dashboard/components-next/Campaigns/Pages/CampaignPage/WhatsAppCampaign/WhatsAppCampaignForm.vue index 80aafe29f..ab059e11c 100644 --- a/app/javascript/dashboard/components-next/Campaigns/Pages/CampaignPage/WhatsAppCampaign/WhatsAppCampaignForm.vue +++ b/app/javascript/dashboard/components-next/Campaigns/Pages/CampaignPage/WhatsAppCampaign/WhatsAppCampaignForm.vue @@ -19,7 +19,9 @@ const formState = { uiFlags: useMapGetter('campaigns/getUIFlags'), labels: useMapGetter('labels/getLabels'), inboxes: useMapGetter('inboxes/getWhatsAppInboxes'), - getWhatsAppTemplates: useMapGetter('inboxes/getWhatsAppTemplates'), + getFilteredWhatsAppTemplates: useMapGetter( + 'inboxes/getFilteredWhatsAppTemplates' + ), }; const initialState = { @@ -68,7 +70,7 @@ const inboxOptions = computed(() => const templateOptions = computed(() => { if (!state.inboxId) return []; - const templates = formState.getWhatsAppTemplates.value(state.inboxId); + const templates = formState.getFilteredWhatsAppTemplates.value(state.inboxId); return templates.map(template => { // Create a more user-friendly label from template name const friendlyName = template.name diff --git a/app/javascript/dashboard/components-next/NewConversation/components/ActionButtons.vue b/app/javascript/dashboard/components-next/NewConversation/components/ActionButtons.vue index 90cb67c4f..894dc5357 100644 --- a/app/javascript/dashboard/components-next/NewConversation/components/ActionButtons.vue +++ b/app/javascript/dashboard/components-next/NewConversation/components/ActionButtons.vue @@ -25,6 +25,7 @@ const props = defineProps({ hasNoInbox: { type: Boolean, default: false }, isDropdownActive: { type: Boolean, default: false }, messageSignature: { type: String, default: '' }, + inboxId: { type: Number, default: null }, }); const emit = defineEmits([ @@ -150,9 +151,10 @@ useKeyboardEvents(keyboardEvents);
-
+
@@ -206,7 +208,7 @@ useKeyboardEvents(keyboardEvents); />
-
+