mirror of https://github.com/nocodb/nocodb
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
77 lines
2.2 KiB
77 lines
2.2 KiB
<template> |
|
<v-menu bottom offset-y> |
|
<template #activator="{ on }"> |
|
<transition name="release"> |
|
<v-btn v-show="releaseAlert" text small class="mb-0 mr-2 py-0" v-on="on"> |
|
<!--Upgrade available--> |
|
{{ $t('activity.upgrade.available') }} |
|
<v-icon small> mdi-menu-down </v-icon> |
|
</v-btn> |
|
</transition> |
|
</template> |
|
<v-list dense> |
|
<v-list-item dense href="https://github.com/nocodb/nocodb/releases" target="_blank"> |
|
<v-icon small class="mr-2"> mdi-script-text-outline </v-icon> |
|
<span class="caption">{{ releaseVersion }} {{ $t('activity.upgrade.releaseNote') }}</span> |
|
</v-list-item> |
|
<v-list-item dense href="https://docs.nocodb.com/getting-started/upgrading" target="_blank"> |
|
<v-icon small class="mr-2"> mdi-rocket-launch-outline </v-icon> |
|
<!--How to upgrade?--> |
|
<span class="caption">{{ $t('activity.upgrade.howTo') }}</span> |
|
</v-list-item> |
|
<v-list-item @click="releaseAlert = false"> |
|
<v-icon small class="mr-2"> mdi-close </v-icon> |
|
|
|
<span class="caption"> |
|
<!--Hide menu--> |
|
{{ $t('general.hideMenu') }} |
|
</span> |
|
</v-list-item> |
|
</v-list> |
|
</v-menu> |
|
</template> |
|
|
|
<script> |
|
export default { |
|
name: 'ReleaseInfo', |
|
data: () => ({ |
|
loading: true, |
|
}), |
|
computed: { |
|
releaseAlert: { |
|
get() { |
|
return ( |
|
!this.loading && |
|
this.$store.state.app.currentVersion && |
|
this.$store.state.app.latestRelease && |
|
this.$store.state.app.currentVersion !== this.$store.state.app.latestRelease && |
|
this.$store.state.app.latestRelease !== this.$store.state.app.hiddenRelease |
|
); |
|
}, |
|
set(val) { |
|
return this.$store.commit('app/MutHiddenRelease', val ? null : this.$store.state.app.latestRelease); |
|
}, |
|
}, |
|
releaseVersion() { |
|
return this.$store.state.app.latestRelease; |
|
}, |
|
}, |
|
mounted() { |
|
setTimeout(() => { |
|
this.loading = false; |
|
}, 1000); |
|
}, |
|
}; |
|
</script> |
|
|
|
<style scoped> |
|
.release-enter-active, |
|
.release-leave-active { |
|
transition: opacity 0.5s; |
|
} |
|
|
|
.release-enter, |
|
.release-leave-to { |
|
opacity: 0; |
|
} |
|
</style>
|
|
|