<template>
  <div class="md:pt-4 pt-2">
    <div
      class="energy-bar relative mx-auto rounded-full overflow-hidden border-2"
      :class="`text-${$store.getters.activeTab.color} border-${$store.getters.activeTab.darkColor}`"
    >
      <progress
        class="absolute top-0 right-0 left-0 w-full h-full"
        :max="$store.state.energyMax"
        :value="$store.state.energy"
      />
      <span
        class="relative block pt-1 pb-2 text-center text-lg font-semibold"
        :class="`text-${$store.getters.activeTab.darkColor}`"
      >
        <span class="mr-1"
          >{{ $store.state.energy }} / {{ $store.state.energyMax }}</span
        >
        <span class="text-base pt-1 ml-2 fas fa-bolt" />
      </span>
    </div>

    <responsive-grid class="pt-4 md:pt-8">
      <progress-button
        v-for="(action, index) in $store.state.timeMachineActions"
        :key="index"
        :label="action.name"
        :description="action.description"
        :max="action.cost"
        :value="$store.state.energy"
        @click="doAction(action)"
      />
    </responsive-grid>
  </div>
</template>

<script>
export default {
  methods: {
    doAction(action) {
      this.$store.commit('spendEnergy', action.cost)
      if (action.name === 'Activate!') {
        // do action-specific things
      }
    },
  },
}
</script>

<style scoped>
.energy-bar {
  width: 75%;
}
/* progress bars for all browsers */
progress::-webkit-progress-bar {
  background-color: rgba(255, 255, 255, 0.1);
  width: 100%;
}
progress {
  color: currentColor;
  background-color: rgba(255, 255, 255, 0.1);
}
progress::-webkit-progress-value {
  background-color: currentColor;
}
progress::-moz-progress-bar {
  background-color: currentColor;
}
</style>
