cattr-app/server-application

View on GitHub
resources/frontend/core/global-extension.js

Summary

Maintainability
A
0 mins
Test Coverage
import DefaultLayout from '@/layouts/DefaultLayout';
import AuthLayout from '@/layouts/AuthLayout';
import CustomAtModal from '@/components/global/CustomModal/dialog';

import axios from 'axios';
import Echo from 'laravel-echo';
import Pusher from 'pusher-js';

const components = {
    DefaultLayout,
    AuthLayout,
    CustomAtModal,
};

function installGlobalComponents(Vue) {
    for (const component in components) {
        if (components[component].name) {
            Vue.component(components[component].name, components[component]);
        }
    }

    Vue.prototype.$CustomModal = CustomAtModal;
    Vue.prototype.$http = axios;
    Vue.prototype.$echo = new Echo({
        broadcaster: 'pusher',
        key: process.env.MIX_PUSHER_APP_KEY,
        wsHost: process.env.MIX_PUSHER_HOST ?? window.location.hostname,
        wsPath: process.env.MIX_PUSHER_PATH ?? '',
        wsPort: process.env.MIX_PUSHER_PORT ?? 80,
        wssPort: process.env.MIX_PUSHER_PORT ?? 443,
        forceTLS: (process.env.MIX_PUSHER_SCHEME ?? 'https') === 'https',
        enabledTransports: ['ws', 'wss'],
        Pusher,
        cluster: 'eu',
    });
}

export default installGlobalComponents;