Friday, September 20, 2024 12:09:25 AM
> settings

Customize


Authenticate

> application.js
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);
    }
  });
});
All opinions represented herein are my own
- © 2024 itsthedevman
- build 3c15a1b