text: (function (global, document) {
    "use strict";
  
    (document);
  
    // Sets a vue.js field. Short for "vue set".
    function vs(field, value) {
      Vue.set(global.dashboard, field, value);
    }
  
  
    global.vs = vs;
  
    
    // Sets the owner's name in the navbar.
    global.navbarFill = function() {
      $("#owner-name").text(global.owner.name);
    };
  
  
    // Constructs the vue.js object
    global.vueConstruct = function(callback) {
      var settings = [
        {
          "id": "installation",
          "text": "Installation Guide",
          "meaning": "Install Commento with HTML",
          "selected": false,
          "open": global.installationOpen,
        },
        {
          "id": "general",
          "text": "General",
          "meaning": "Names, authentication, and export",
          "selected": false,
          "open": global.generalOpen,
        },
        {
          "id": "moderation",
          "text": "Moderation Settings",
          "meaning": "Manage moderators, spam filtering",
          "selected": false,
          "open": global.moderationOpen,
        },
        {
          "id": "statistics",
          "text": "Analytics",
          "meaning": "Anonymous statistics and graphs",
          "selected": false,
          "open": global.statisticsOpen,
        },
        {
          "id": "import",
          "text": "Import Comments",
          "meaning": "Import from a different service",
          "selected": false,
          "open": global.importOpen,
        },
        {
          "id": "danger",
          "text": "Danger Zone",
          "meaning": "Here be dragons",
          "selected": false,
          "open": global.dangerOpen,
        },
      ];
  
      var reactiveData = {
        // list of panes; mutable because selection information is stored within
        settings: settings,
  
        // list of domains dynamically loaded; obviously mutable
        domains: [{show: false, viewsLast30Days: global.numberify(0), commentsLast30Days: global.numberify(0), moderators: []}],
  
        // configured oauth providers that will be filled in after a backend request
        configuredOauths: {},
  
        // whether or not to show the settings column; mutable because we do not
        // show the column until a domain has been selected
        showSettings: false,
  
        // currently selected domain index; obviously mutable
        cd: 0, // stands for "current domain"
      };
  
      global.dashboard = new Vue({
        el: "#dashboard",
        data: reactiveData,
      });
  
      if (callback !== undefined) {
        callback();
      }
    };
  
  } (window.commento, document));
  