mirror of
https://github.com/lingble/chatwoot.git
synced 2025-11-20 13:05:16 +00:00
# Pull Request Template ## Description Repalces campaignMixin and its usage with the new useCampaign mixin Fixes https://linear.app/chatwoot/issue/CW-3463/rewrite-campaignmixin-mixin-to-a-composable --------- Co-authored-by: Shivam Mishra <scm.mymail@gmail.com> Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com>
44 lines
1.1 KiB
JavaScript
44 lines
1.1 KiB
JavaScript
import { computed } from 'vue';
|
|
import { useRoute } from 'dashboard/composables/route';
|
|
import { CAMPAIGN_TYPES } from '../constants/campaign';
|
|
|
|
/**
|
|
* Composable to manage campaign types.
|
|
*
|
|
* @returns {Object} - Computed properties for campaign type and its checks.
|
|
*/
|
|
export const useCampaign = () => {
|
|
const route = useRoute();
|
|
|
|
/**
|
|
* Computed property to determine the current campaign type based on the route name.
|
|
*/
|
|
const campaignType = computed(() => {
|
|
const campaignTypeMap = {
|
|
ongoing_campaigns: CAMPAIGN_TYPES.ONGOING,
|
|
one_off: CAMPAIGN_TYPES.ONE_OFF,
|
|
};
|
|
return campaignTypeMap[route.name];
|
|
});
|
|
|
|
/**
|
|
* Computed property to check if the current campaign type is 'ongoing'.
|
|
*/
|
|
const isOngoingType = computed(() => {
|
|
return campaignType.value === CAMPAIGN_TYPES.ONGOING;
|
|
});
|
|
|
|
/**
|
|
* Computed property to check if the current campaign type is 'one-off'.
|
|
*/
|
|
const isOneOffType = computed(() => {
|
|
return campaignType.value === CAMPAIGN_TYPES.ONE_OFF;
|
|
});
|
|
|
|
return {
|
|
campaignType,
|
|
isOngoingType,
|
|
isOneOffType,
|
|
};
|
|
};
|