mirror of
https://github.com/lingble/chatwoot.git
synced 2025-10-31 19:17:48 +00:00
164 lines
4.9 KiB
Vue
164 lines
4.9 KiB
Vue
<template>
|
|
<div v-if="isATwilioChannel" class="settings--content">
|
|
<settings-section
|
|
:title="$t('INBOX_MGMT.ADD.TWILIO.API_CALLBACK.TITLE')"
|
|
:sub-title="$t('INBOX_MGMT.ADD.TWILIO.API_CALLBACK.SUBTITLE')"
|
|
>
|
|
<woot-code :script="inbox.callback_webhook_url" lang="html" />
|
|
</settings-section>
|
|
</div>
|
|
<div v-else-if="isALineChannel" class="settings--content">
|
|
<settings-section
|
|
:title="$t('INBOX_MGMT.ADD.LINE_CHANNEL.API_CALLBACK.TITLE')"
|
|
:sub-title="$t('INBOX_MGMT.ADD.LINE_CHANNEL.API_CALLBACK.SUBTITLE')"
|
|
>
|
|
<woot-code :script="inbox.callback_webhook_url" lang="html" />
|
|
</settings-section>
|
|
</div>
|
|
<div v-else-if="isAWebWidgetInbox">
|
|
<div class="settings--content">
|
|
<settings-section
|
|
:title="$t('INBOX_MGMT.SETTINGS_POPUP.MESSENGER_HEADING')"
|
|
:sub-title="$t('INBOX_MGMT.SETTINGS_POPUP.MESSENGER_SUB_HEAD')"
|
|
>
|
|
<woot-code :script="inbox.web_widget_script" />
|
|
</settings-section>
|
|
|
|
<settings-section
|
|
:title="$t('INBOX_MGMT.SETTINGS_POPUP.HMAC_VERIFICATION')"
|
|
:sub-title="$t('INBOX_MGMT.SETTINGS_POPUP.HMAC_DESCRIPTION')"
|
|
>
|
|
<woot-code :script="inbox.hmac_token" />
|
|
</settings-section>
|
|
<settings-section
|
|
:title="$t('INBOX_MGMT.SETTINGS_POPUP.HMAC_MANDATORY_VERIFICATION')"
|
|
:sub-title="$t('INBOX_MGMT.SETTINGS_POPUP.HMAC_MANDATORY_DESCRIPTION')"
|
|
>
|
|
<div class="enter-to-send--checkbox">
|
|
<input
|
|
id="hmacMandatory"
|
|
v-model="hmacMandatory"
|
|
type="checkbox"
|
|
@change="handleHmacFlag"
|
|
/>
|
|
<label for="hmacMandatory">
|
|
{{ $t('INBOX_MGMT.EDIT.ENABLE_HMAC.LABEL') }}
|
|
</label>
|
|
</div>
|
|
</settings-section>
|
|
</div>
|
|
</div>
|
|
<div v-else-if="isAPIInbox" class="settings--content">
|
|
<settings-section
|
|
:title="$t('INBOX_MGMT.SETTINGS_POPUP.INBOX_IDENTIFIER')"
|
|
:sub-title="$t('INBOX_MGMT.SETTINGS_POPUP.INBOX_IDENTIFIER_SUB_TEXT')"
|
|
>
|
|
<woot-code :script="inbox.inbox_identifier" />
|
|
</settings-section>
|
|
|
|
<settings-section
|
|
:title="$t('INBOX_MGMT.SETTINGS_POPUP.HMAC_VERIFICATION')"
|
|
:sub-title="$t('INBOX_MGMT.SETTINGS_POPUP.HMAC_DESCRIPTION')"
|
|
>
|
|
<woot-code :script="inbox.hmac_token" />
|
|
</settings-section>
|
|
<settings-section
|
|
:title="$t('INBOX_MGMT.SETTINGS_POPUP.HMAC_MANDATORY_VERIFICATION')"
|
|
:sub-title="$t('INBOX_MGMT.SETTINGS_POPUP.HMAC_MANDATORY_DESCRIPTION')"
|
|
>
|
|
<div class="enter-to-send--checkbox">
|
|
<input
|
|
id="hmacMandatory"
|
|
v-model="hmacMandatory"
|
|
type="checkbox"
|
|
@change="handleHmacFlag"
|
|
/>
|
|
<label for="hmacMandatory">
|
|
{{ $t('INBOX_MGMT.EDIT.ENABLE_HMAC.LABEL') }}
|
|
</label>
|
|
</div>
|
|
</settings-section>
|
|
</div>
|
|
<div v-else-if="isAnEmailChannel">
|
|
<div class="settings--content">
|
|
<settings-section
|
|
:title="$t('INBOX_MGMT.SETTINGS_POPUP.FORWARD_EMAIL_TITLE')"
|
|
:sub-title="$t('INBOX_MGMT.SETTINGS_POPUP.FORWARD_EMAIL_SUB_TEXT')"
|
|
>
|
|
<woot-code :script="inbox.forward_to_email" />
|
|
</settings-section>
|
|
</div>
|
|
<imap-settings :inbox="inbox" />
|
|
<smtp-settings v-if="inbox.imap_enabled" :inbox="inbox" />
|
|
</div>
|
|
<div v-else-if="isAWhatsAppChannel && !isATwilioChannel">
|
|
<div v-if="inbox.provider_config" class="settings--content">
|
|
<settings-section
|
|
:title="$t('INBOX_MGMT.SETTINGS_POPUP.WHATSAPP_SECTION_TITLE')"
|
|
:sub-title="$t('INBOX_MGMT.SETTINGS_POPUP.WHATSAPP_SECTION_SUBHEADER')"
|
|
>
|
|
<woot-code :script="inbox.provider_config.api_key" />
|
|
</settings-section>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
import alertMixin from 'shared/mixins/alertMixin';
|
|
import inboxMixin from 'shared/mixins/inboxMixin';
|
|
import SettingsSection from '../../../../../components/SettingsSection';
|
|
import ImapSettings from '../ImapSettings';
|
|
import SmtpSettings from '../SmtpSettings';
|
|
|
|
export default {
|
|
components: {
|
|
SettingsSection,
|
|
ImapSettings,
|
|
SmtpSettings,
|
|
},
|
|
mixins: [inboxMixin, alertMixin],
|
|
props: {
|
|
inbox: {
|
|
type: Object,
|
|
default: () => ({}),
|
|
},
|
|
},
|
|
data() {
|
|
return {
|
|
hmacMandatory: false,
|
|
};
|
|
},
|
|
watch: {
|
|
inbox() {
|
|
this.setDefaults();
|
|
},
|
|
},
|
|
mounted() {
|
|
this.setDefaults();
|
|
},
|
|
methods: {
|
|
setDefaults() {
|
|
this.hmacMandatory = this.inbox.hmac_mandatory || false;
|
|
},
|
|
handleHmacFlag() {
|
|
this.updateInbox();
|
|
},
|
|
async updateInbox() {
|
|
try {
|
|
const payload = {
|
|
id: this.inbox.id,
|
|
formData: false,
|
|
channel: {
|
|
hmac_mandatory: this.hmacMandatory,
|
|
},
|
|
};
|
|
await this.$store.dispatch('inboxes/updateInbox', payload);
|
|
this.showAlert(this.$t('INBOX_MGMT.EDIT.API.SUCCESS_MESSAGE'));
|
|
} catch (error) {
|
|
this.showAlert(this.$t('INBOX_MGMT.EDIT.API.SUCCESS_MESSAGE'));
|
|
}
|
|
},
|
|
},
|
|
};
|
|
</script>
|