import appRoleSelector from "./role_selector"; import appRPTParser from "./rpt_parser"; import appPlayerDashboard from "./player/show"; import appNotification from "./notifications"; import appServer from "./servers"; import appCharacterCounter from "./character_counter"; import appXM8NotificationRouting from "./xm8_notification_routing"; import appUserDefaults from "./user_defaults"; import appUserAliases from "./user_aliases"; import Vue from "vue/dist/vue.esm.js"; import TurbolinksAdapter from "vue-turbolinks"; import axios from "axios"; import VTooltip from "v-tooltip"; import Multiselect from "vue-multiselect"; import('vue-multiselect/dist/vue-multiselect.min.css'); Vue.use(VTooltip); Vue.use(TurbolinksAdapter); Vue.component("multiselect", Multiselect); const APPS = { ".role-selector": appRoleSelector, "#player-dashboard": appPlayerDashboard, "#rpt-parser": appRPTParser, "#notifications": appNotification, "#app-server": appServer, "#character-counter": appCharacterCounter, "#xm8-notification-routing": appXM8NotificationRouting, "#user-defaults": appUserDefaults, "#user-aliases": appUserAliases, }; // Add the CSRF Token by default axios.defaults.headers.common["X-CSRF-Token"] = document.querySelector( "meta[name=csrf-token]" ).content; axios.defaults.headers.common["X-Requested-With"] = "XMLHttpRequest"; $(window).on("load", () => { _.each(APPS, (app, id) => { // Check if the id is on our page if (_.isEmpty($(id))) return; if (_.startsWith(id, ".")) { $(id).each(function () { app(this); }); } else { // Call the app app(id); } }); });