import ViewUI from 'view-design';
import VueI18n from 'vue-i18n';
import VueClipboard from 'vue-clipboard2';
import InputTag from 'vue-input-tag';
import VueMeta from 'vue-meta';
import InputSwitch from 'vue-switches';
import locale from 'view-design/dist/locale/vi-VN';
// Layout
import LayoutBox from '@/vue/components/Layout/LayoutBox.vue';
// Plugin
import LoadingApp from '@/vue/components/Plugin/LoadingApp.vue';
import AlertVip from '@/vue/components/Plugin/AlertVip.vue';
import CheckAll from '@/vue/components/Plugin/CheckAll.vue';
import NotifyApp from '@/vue/components/Plugin/NotifyApp.vue';
import LoadingBox from '@/vue/components/Plugin/LoadingBox.vue';
import ShopeeSellerConnect from '@/vue/components/Plugin/ShopeeSellerConnect.vue';

import 'font-awesome/css/font-awesome.min.css';
import 'view-design/dist/styles/iview.css';
import '@/vue/styles/app.css';

export default {
  install(Vue) {
    Vue.component('LayoutBox', LayoutBox);
    Vue.component('LoadingApp', LoadingApp);
    Vue.component('AlertVip', AlertVip);
    Vue.component('InputTag', InputTag);
    Vue.component('CheckAll', CheckAll);
    Vue.component('NotifyApp', NotifyApp);
    Vue.component('LoadingBox', LoadingBox);
    Vue.component('InputSwitch', InputSwitch);
    Vue.component('ShopeeSellerConnect', ShopeeSellerConnect);
    Vue.use(VueClipboard);

    Vue.use(ViewUI, {
      transfer: true,
      size: 'default',
      capture: false,
      select: {
        arrow: 'md-arrow-dropdown',
        arrowSize: 20,
      },
      locale,
    });

    Vue.use(VueI18n);
    Vue.use(VueMeta);
  },
};
