diff --git a/app/javascript/dashboard/components-next/Editor/Editor.vue b/app/javascript/dashboard/components-next/Editor/Editor.vue index 671a628dc..6b5fefab9 100644 --- a/app/javascript/dashboard/components-next/Editor/Editor.vue +++ b/app/javascript/dashboard/components-next/Editor/Editor.vue @@ -41,6 +41,8 @@ const props = defineProps({ default: 'info', validator: value => ['info', 'error', 'success'].includes(value), }, + enableVariables: { type: Boolean, default: false }, + enableCannedResponses: { type: Boolean, default: true }, }); const emit = defineEmits(['update:modelValue']); @@ -116,6 +118,8 @@ watch( :placeholder="placeholder" :focus-on-mount="focusOnMount" :disabled="disabled" + :enable-variables="enableVariables" + :enable-canned-responses="enableCannedResponses" @input="handleInput" @focus="handleFocus" @blur="handleBlur" diff --git a/app/javascript/dashboard/components-next/NewConversation/ComposeConversation.vue b/app/javascript/dashboard/components-next/NewConversation/ComposeConversation.vue index b5d57f202..44ab54393 100644 --- a/app/javascript/dashboard/components-next/NewConversation/ComposeConversation.vue +++ b/app/javascript/dashboard/components-next/NewConversation/ComposeConversation.vue @@ -2,6 +2,7 @@ import { ref, computed, onMounted, watch } from 'vue'; import { useStore, useMapGetter } from 'dashboard/composables/store'; import { useI18n } from 'vue-i18n'; +import { useUISettings } from 'dashboard/composables/useUISettings'; import { vOnClickOutside } from '@vueuse/components'; import { useAlert } from 'dashboard/composables'; import { ExceptionWithMessage } from 'shared/helpers/CustomErrors'; @@ -30,6 +31,8 @@ const props = defineProps({ const store = useStore(); const { t } = useI18n(); +const { fetchSignatureFlagFromUISettings } = useUISettings(); + const contacts = ref([]); const selectedContact = ref(null); const targetInbox = ref(null); @@ -43,6 +46,11 @@ const contactsUiFlags = useMapGetter('contacts/getUIFlags'); const currentUser = useMapGetter('getCurrentUser'); const globalConfig = useMapGetter('globalConfig/get'); const uiFlags = useMapGetter('contactConversations/getUIFlags'); +const messageSignature = useMapGetter('getMessageSignature'); + +const sendWithSignature = computed(() => + fetchSignatureFlagFromUISettings(targetInbox.value?.channelType) +); const directUploadsEnabled = computed( () => globalConfig.value.directUploadsEnabled @@ -202,6 +210,8 @@ useKeyboardEvents(keyboardEvents); :contact-conversations-ui-flags="uiFlags" :contacts-ui-flags="contactsUiFlags" :class="composePopoverClass" + :message-signature="messageSignature" + :send-with-signature="sendWithSignature" @search-contacts="onContactSearch" @reset-contact-search="resetContacts" @update-selected-contact="handleSelectedContact" diff --git a/app/javascript/dashboard/components-next/NewConversation/components/ActionButtons.vue b/app/javascript/dashboard/components-next/NewConversation/components/ActionButtons.vue index 89784037d..4df1e87be 100644 --- a/app/javascript/dashboard/components-next/NewConversation/components/ActionButtons.vue +++ b/app/javascript/dashboard/components-next/NewConversation/components/ActionButtons.vue @@ -1,6 +1,5 @@ diff --git a/app/javascript/dashboard/components-next/textarea/TextArea.vue b/app/javascript/dashboard/components-next/textarea/TextArea.vue index 16e0fe052..80ab8e3df 100644 --- a/app/javascript/dashboard/components-next/textarea/TextArea.vue +++ b/app/javascript/dashboard/components-next/textarea/TextArea.vue @@ -1,72 +1,35 @@ @@ -161,6 +160,7 @@ onMounted(() => { }, ]" > +