This PR introduces a new channel type for voice conversations. ref: #11481 ## Changes - Add database migration for channel_voice table with phone_number and provider_config - Create Channel::Voice model with E.164 phone number validation and Twilio config validation - Add voice channel association to Account model - Extend inbox helpers and types to support voice channels - Add voice channel setup UI with Twilio configuration form - Include voice channel in channel factory and list components - Add API routes and store actions for voice channel creation - Add comprehensive translations for voice channel management --------- Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com> Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com> Co-authored-by: iamsivin <iamsivin@gmail.com>
43 lines
1.0 KiB
Vue
43 lines
1.0 KiB
Vue
<script>
|
|
import { defineComponent, h } from 'vue';
|
|
import Facebook from './channels/Facebook.vue';
|
|
import Website from './channels/Website.vue';
|
|
import Twitter from './channels/Twitter.vue';
|
|
import Api from './channels/Api.vue';
|
|
import Email from './channels/Email.vue';
|
|
import Sms from './channels/Sms.vue';
|
|
import Whatsapp from './channels/Whatsapp.vue';
|
|
import Line from './channels/Line.vue';
|
|
import Telegram from './channels/Telegram.vue';
|
|
import Instagram from './channels/Instagram.vue';
|
|
import Voice from './channels/Voice.vue';
|
|
|
|
const channelViewList = {
|
|
facebook: Facebook,
|
|
website: Website,
|
|
twitter: Twitter,
|
|
api: Api,
|
|
email: Email,
|
|
sms: Sms,
|
|
whatsapp: Whatsapp,
|
|
line: Line,
|
|
telegram: Telegram,
|
|
instagram: Instagram,
|
|
voice: Voice,
|
|
};
|
|
|
|
export default defineComponent({
|
|
name: 'NewChannelView',
|
|
props: {
|
|
channelName: {
|
|
type: String,
|
|
required: true,
|
|
},
|
|
},
|
|
render() {
|
|
const ChannelComponent = channelViewList[this.channelName];
|
|
return ChannelComponent ? h(ChannelComponent) : null;
|
|
},
|
|
});
|
|
</script>
|