From 126ad05949055cb173ba2c8b1cec293a73ba3946 Mon Sep 17 00:00:00 2001 From: Tobi Abiodun Date: Fri, 29 Nov 2024 16:09:44 -0500 Subject: [PATCH] feat(manual-dialer): add hotline validation (#1310) - Add `hasActiveHotline` computed property to ensure a hotline is active before allowing dial functionality. - Import `useActiveHotlines` to check for active hotline incidents. - Update button `:disabled` logic to include `hasActiveHotline`. - Optimize imports by removing unused `useI18n` and `useEmitter`. --- src/components/phone/ManualDialer.vue | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/components/phone/ManualDialer.vue b/src/components/phone/ManualDialer.vue index b51890e6f..b203a02db 100644 --- a/src/components/phone/ManualDialer.vue +++ b/src/components/phone/ManualDialer.vue @@ -46,7 +46,7 @@ :alt=" dialing ? $t('phoneDashboard.dialing') : $t('phoneDashboard.dial') " - :disabled="dialing || !phone || after10pmEastern" + :disabled="dialing || !phone || after10pmEastern || !hasActiveHotline" @click="handleDial" > @@ -71,6 +71,7 @@ import useEmitter from '../../hooks/useEmitter'; import BaseInput from '@/components/BaseInput.vue'; import moment from 'moment'; import PhoneNumberInput from '@/components/PhoneNumberInput.vue'; +import { useActiveHotlines } from '@/hooks/useActiveHotlines'; export default defineComponent({ name: 'EnhancedManualDialer', @@ -87,8 +88,7 @@ export default defineComponent({ }, emits: ['onDial', 'onRemoveNumberFromQueue'], setup(props, { emit }) { - const { t } = useI18n(); - const { emitter } = useEmitter(); + const { isLoading, incidentsWithActiveHotline } = useActiveHotlines(); const phone = ref(''); const selectedCountryCode = ref('+1'); @@ -116,6 +116,10 @@ export default defineComponent({ emit('onRemoveNumberFromQueue', phone.value); }; + const hasActiveHotline = computed(() => { + return incidentsWithActiveHotline.value.length > 0; + }); + onMounted(() => { updateAfter10State(); if (props.phoneNumber) { @@ -129,6 +133,7 @@ export default defineComponent({ handleDial, removeNumberFromQueue, after10pmEastern, + hasActiveHotline, }; }, });