var app; function loadVue() { Vue.component('layer-node', { props: ['layer', 'abb'], template: ` ` }) // data = a function returning the content Vue.component('display-text', { props: ['layer', 'data'], template: ` {{readData(data)}} ` }) // data = a function returning html content, with some limited functionality Vue.component('raw-html', { props: ['layer', 'data'], template: ` ` }) // Blank space, data = optional height in px or pair with width and height in px Vue.component('blank', { props: ['layer', 'data'], template: `

` }) // Displays an image, data is the URL Vue.component('display-image', { props: ['layer', 'data'], template: ` ` }) // data = an array of Components to be displayed in a row Vue.component('row', { props: ['layer', 'data'], template: `
` }) // data = an array of Components to be displayed in a column Vue.component('column', { props: ['layer', 'data'], template: `
` }) // Data = width in px, by default fills the full area Vue.component('h-line', { props: ['layer', 'data'], template:`
` }) // Data = height in px, by default is bad Vue.component('v-line', { props: ['layer', 'data'], template: `
` }) Vue.component('challs', { props: ['layer'], template: `
` }) // data = id Vue.component('chall', { props: ['layer', 'data'], template: `

{{tmp.challs[layer][data].name}}





{{tmp.challs[layer][data].desc}}
Goal: {{format(tmp.challs[layer][data].goal)}} {{layers[layer].challs[data].currencyDisplayName ? layers[layer].challs[data].currencyDisplayName : "points"}}
Reward: {{tmp.challs[layer][data].reward}}
Currently: {{(tmp.challs[layer][data].effectDisplay) ? (tmp.challs[layer][data].effectDisplay) : format(tmp.challs[layer][data].effect)}}
` }) Vue.component('upgrades', { props: ['layer'], template: `

` }) // data = id Vue.component('upgrade', { props: ['layer', 'data'], template: `
` }) Vue.component('milestones', { props: ['layer'], template: `

` }) // data = id Vue.component('milestone', { props: ['layer', 'data'], template: `

{{tmp.milestones[layer][data].requirementDesc}}


{{tmp.milestones[layer][data].effectDesc}}
  ` }) Vue.component('toggle', { props: ['layer', 'data'], template: ` ` }) // data = function to return the text describing the reset before the amount gained (optional) Vue.component('prestige-button', { props: ['layer', 'data'], template: ` ` }) // Displays the main resource for the layer Vue.component('main-display', { props: ['layer'], template: `
You have

{{formatWhole(player[layer].points)}}

{{layers[layer].resource}}, {{tmp.effectDescription[layer]}}

` }) // data = button size, in px Vue.component('buyables', { props: ['layer', 'data'], template: `


` }) // data = id of buyable Vue.component('buyable', { props: ['layer', 'data', 'size'], template: `
` }) // data = button size, in px Vue.component('microtabs', { props: ['layer', 'data'], computed: { currentTab() {return player.subtabs[layer][data]} }, template: `
` }) // NOT FOR USE IN STANDARD TAB FORMATTING Vue.component('tab-buttons', { props: ['layer', 'data', 'name'], template: `
` }) app = new Vue({ el: "#app", data: { player, tmp, Decimal, format, formatWhole, formatTime, focused, getThemeName, layerUnl, doReset, buyUpg, startChall, milestoneShown, keepGoing, VERSION, ENDGAME, LAYERS, hotkeys }, }) }