mirror of
				https://github.com/lingble/chatwoot.git
				synced 2025-11-03 20:48:07 +00:00 
			
		
		
		
	Ensures users are seamlessly directed to the first available menu item upon opening a group, improving UX by reducing unnecessary clicks. This change enhances navigation flow within groups. Co-authored-by: Pranav <pranavrajs@gmail.com>
		
			
				
	
	
		
			55 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
import { createApp } from 'vue';
 | 
						|
import { createI18n } from 'vue-i18n';
 | 
						|
 | 
						|
import VueDOMPurifyHTML from 'vue-dompurify-html';
 | 
						|
import store from '../widget/store';
 | 
						|
import App from '../widget/App.vue';
 | 
						|
import ActionCableConnector from '../widget/helpers/actionCable';
 | 
						|
import i18nMessages from '../widget/i18n';
 | 
						|
import router from '../widget/router';
 | 
						|
import { directive as onClickaway } from 'vue3-click-away';
 | 
						|
import { domPurifyConfig } from '../shared/helpers/HTMLSanitizer';
 | 
						|
import { plugin, defaultConfig } from '@formkit/vue';
 | 
						|
 | 
						|
import {
 | 
						|
  startsWithPlus,
 | 
						|
  isPhoneNumberValidWithDialCode,
 | 
						|
} from 'shared/helpers/Validators';
 | 
						|
 | 
						|
const i18n = createI18n({
 | 
						|
  legacy: false, // https://github.com/intlify/vue-i18n/issues/1902
 | 
						|
  locale: 'en',
 | 
						|
  messages: i18nMessages,
 | 
						|
});
 | 
						|
 | 
						|
const app = createApp(App);
 | 
						|
app.use(i18n);
 | 
						|
app.use(store);
 | 
						|
app.use(router);
 | 
						|
app.use(VueDOMPurifyHTML, domPurifyConfig);
 | 
						|
app.directive('on-clickaway', onClickaway);
 | 
						|
 | 
						|
app.use(
 | 
						|
  plugin,
 | 
						|
  defaultConfig({
 | 
						|
    rules: {
 | 
						|
      startsWithPlus: ({ value }) => startsWithPlus(value),
 | 
						|
      isValidPhoneNumber: ({ value }) => isPhoneNumberValidWithDialCode(value),
 | 
						|
    },
 | 
						|
  })
 | 
						|
);
 | 
						|
 | 
						|
// Event Bus
 | 
						|
// We can use the useEmitter directly
 | 
						|
// Vue.prototype.$emitter = emitter;
 | 
						|
 | 
						|
// Vue.config.productionTip = false;
 | 
						|
 | 
						|
window.onload = () => {
 | 
						|
  window.WOOT_WIDGET = app.mount('#app');
 | 
						|
  window.actionCable = new ActionCableConnector(
 | 
						|
    window.WOOT_WIDGET,
 | 
						|
    window.chatwootPubsubToken
 | 
						|
  );
 | 
						|
};
 |