import Vue from 'vue';
import orUI from '@onereach/ui';
import store from '@/store';
import constants from '@/constants';
// @ts-ignore (TS issue) 🙃
import App from '@/App.vue'
import router from './router';

import 'keen-ui/dist/keen-ui.css';
import '@onereach/ui/dist/or-ui.css';
import { sliceTicks } from '@/utils/index.js';

import { buildStore } from "./store";

Vue.prototype.$sliceTicks = sliceTicks;
Vue.prototype.$constants = constants;
Vue.use(orUI);
Vue.config.productionTip = false;

let mode =
  (router.currentRoute && router.currentRoute.name === "home") || location.hash.startsWith('#/webform/')
    ? 'lib'
    : '';

const formKey =
  (router &&
    router.currentRoute &&
    router.currentRoute.params &&
    router.currentRoute.params.key) ||
  (document.location.hash.startsWith("#/webform/") &&
    document.location.hash.split(".ai/").length &&
    document.location.hash.split(".ai/")[1].split("/").length &&
    document.location.hash.split(".ai/")[1].split("/")[0]);

new Vue({
  // @ts-ignore (TS issue) 🙃
  router,
  store: buildStore({ formKey, mode }),
  render: (h) => h(App),
}).$mount("#app");
