/ src / modules / upgrades.js
upgrades.js
  1  const modes = ["doge", "boat", "timecube", "chest", "badge"]
  2  const paymodes = ["bitcoin", "lightning"]
  3  
  4  const state = {
  5      taskCreateName: "",
  6      rollStack: [],
  7      rollStackPosition: 0,
  8      refocus: 0,
  9      keypressed: '',
 10      color: 'red',
 11      create: false,
 12      search: '',
 13      modes,
 14      paymodes,
 15      mode: modes[1],
 16      paymode: paymodes[1],
 17      showAccounts: false,
 18      showNodeInfo: false,
 19      showSettings: false,
 20      chosenDay: new Date().getDate(),
 21      selectedCheck:false,
 22  }
 23  
 24  const mutations = {
 25      applyEvent(state, ev){
 26          if (ev.type === "task-removed"){
 27              state.rollStack = state.rollStack.filter(t => t !== ev.taskId)
 28          }
 29          if (ev.type === "task-created" && 
 30              ev.name === state.taskCreateName) {
 31              state.taskCreateName = ""
 32          }
 33      },
 34      rollStackSet(state, x=[]){
 35          state.rollStack = x
 36      },
 37      rollStackPush(state,x){
 38          state.rollStack.push(x)
 39          state.rollStackPosition = state.rollStack.length - 1
 40      },
 41      rollStackPull(state, taskId){
 42          state.rollStack = state.rollStack.filter(t => t !== taskId)
 43      },
 44      setRollStackPosition(state, x){
 45          state.rollStackPosition = x
 46      },
 47      selectCheck(state, y){
 48          if (state.selectedCheck === y){
 49              state.selectedCheck = false
 50          } else {
 51              state.selectedCheck = y
 52  
 53          }
 54      },
 55      focus(state, keypressed){
 56          state.keypressed = keypressed
 57          state.refocus ++
 58      },
 59      closeAll(state){
 60          state.showAccounts = false;
 61          state.showNodeInfo = false;
 62          state.showSettings = false;
 63      },
 64      toggleNodeInfo(state){
 65          state.showNodeInfo = !state.showNodeInfo
 66          state.showAccounts = false
 67          state.showSettings = false
 68      },
 69      toggleAccounts(state){
 70          state.showAccounts = !state.showAccounts
 71          state.showSettings = false
 72          state.showNodeInfo = false
 73      },
 74      toggleSettings(state){
 75          state.showSettings = !state.showSettings
 76          state.showNodeInfo = false
 77          state.showAccounts = false
 78      },
 79      chooseDay(state, x){
 80          state.chosenDay = x
 81      },
 82      setColor(state, x){
 83          state.color = x
 84      },
 85      setSearch(state, x){
 86          state.search = x
 87      },
 88      toggleCreate(state){
 89          state.create = !state.create
 90      },
 91      createOff(state){
 92          state.create = false
 93      },
 94      nextMode(state) {
 95          let currentIndex = modes.indexOf(state.mode)
 96          let nextIndex = (currentIndex + 1) % modes.length
 97          let target = modes[nextIndex]
 98          state.mode = target
 99      },
100      previousMode(state) {
101          let currentIndex = modes.indexOf(state.mode)
102          let prevIndex = (currentIndex <= 0) ? modes.length - 1 : (currentIndex - 1)
103          state.mode = modes[prevIndex]
104      },
105      setMode(state, index) {
106          window.scrollTo(0, 0);
107          if (index === 1){
108              state.chosenDay = new Date().getDate()
109          } else if (index === 2){
110              state.chosenDay = undefined
111          }
112          state.mode = modes[index]
113      },
114      closeUpgrades(state) {
115          state.mode = modes[0]
116      },
117      setPayMode(state, index) {
118          state.paymode = paymodes[index]
119      },
120      closePayMode(state) {
121          state.paymode = false
122      },
123  }
124  
125  export default {
126      state,
127      mutations,
128  }