VersionChecker.vue 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. <template>
  2. <div class="columns is-mobile is-vcentered">
  3. <div class="column is-narrow">
  4. <button type="button" :class="isScanning ? 'is-loading' : ''" class="button is-link is-rounded is-small" @click="getLatestRelease">Check now</button>
  5. </div>
  6. <div class="column">
  7. <span v-if="$root.appSettings.latestRelease" class="mt-2 has-text-warning">
  8. <span class="release-flag"></span>{{ $root.appSettings.latestRelease }} is available <a class="is-size-7" href="https://github.com/Bubka/2FAuth/releases">View on Github</a>
  9. </span>
  10. <span v-if="isUpToDate" class="has-text-grey">
  11. {{ $t('commons.you_are_up_to_date') }}
  12. </span>
  13. </div>
  14. </div>
  15. </template>
  16. <script>
  17. export default {
  18. name: 'VersionChecker',
  19. data() {
  20. return {
  21. isScanning: false,
  22. isUpToDate: null,
  23. }
  24. },
  25. methods: {
  26. async getLatestRelease() {
  27. this.isScanning = true;
  28. await this.axios.get('/latestRelease').then(response => {
  29. this.$root.appSettings['latestRelease'] = response.data.newRelease
  30. this.isUpToDate = response.data.newRelease === false
  31. })
  32. this.isScanning = false;
  33. },
  34. }
  35. }
  36. </script>