diff --git a/app/javascript/dashboard/i18n/locale/en/campaign.json b/app/javascript/dashboard/i18n/locale/en/campaign.json index c875d8614..261b5a1e9 100644 --- a/app/javascript/dashboard/i18n/locale/en/campaign.json +++ b/app/javascript/dashboard/i18n/locale/en/campaign.json @@ -209,6 +209,10 @@ "SUMMARY": "{delivered} of {audience} contacts received this campaign. {skipped} skipped and {failed} failed.", "RATE": "{value} of audience", "PAGE_INFO": "Page {current} of {total}", + "BREADCRUMB": { + "CAMPAIGNS": "Campaigns", + "WHATSAPP": "WhatsApp" + }, "FILTERS": { "ALL": "All" }, diff --git a/app/javascript/dashboard/routes/dashboard/campaigns/pages/WhatsAppCampaignAnalyticsPage.vue b/app/javascript/dashboard/routes/dashboard/campaigns/pages/WhatsAppCampaignAnalyticsPage.vue index 81b1b4cb5..f603ef01c 100644 --- a/app/javascript/dashboard/routes/dashboard/campaigns/pages/WhatsAppCampaignAnalyticsPage.vue +++ b/app/javascript/dashboard/routes/dashboard/campaigns/pages/WhatsAppCampaignAnalyticsPage.vue @@ -6,6 +6,7 @@ import { useStore, useStoreGetters } from 'dashboard/composables/store'; import Button from 'dashboard/components-next/button/Button.vue'; import Spinner from 'dashboard/components-next/spinner/Spinner.vue'; +import Breadcrumb from 'dashboard/components-next/breadcrumb/Breadcrumb.vue'; import CampaignsAPI from 'dashboard/api/campaigns'; const { t } = useI18n(); @@ -30,6 +31,15 @@ const campaign = computed(() => record => Number(record.id) === campaignId.value ) ); +const campaignTitle = computed( + () => campaign.value?.title || `#${campaignId.value}` +); + +const breadcrumbItems = computed(() => [ + { label: t('CAMPAIGN.WHATSAPP.ANALYTICS.BREADCRUMB.CAMPAIGNS') }, + { label: t('CAMPAIGN.WHATSAPP.ANALYTICS.BREADCRUMB.WHATSAPP') }, + { label: campaignTitle.value }, +]); const statusOptions = computed(() => [ { key: 'all', label: t('CAMPAIGN.WHATSAPP.ANALYTICS.FILTERS.ALL') }, @@ -179,6 +189,10 @@ const goBack = () => { router.push({ name: 'campaigns_whatsapp_index' }); }; +const handleBreadcrumbClick = () => { + goBack(); +}; + onMounted(() => { store.dispatch('campaigns/get'); fetchMetrics(); @@ -193,37 +207,31 @@ watch(