Redraw ago datetime every minute

merge-requests/154/head
Eliot Berriot 2018-03-01 23:46:32 +01:00
rodzic 2d12c56b90
commit 40350f0555
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: DD6965E2476E5C27
4 zmienionych plików z 32 dodań i 2 usunięć

Wyświetl plik

@ -44,6 +44,10 @@ export default {
},
created () {
this.$store.dispatch('instance/fetchSettings')
setInterval(() => {
// used to redraw ago dates every minute
self.$store.commit('ui/computeLastDate')
}, 1000 * 60)
}
}
</script>

Wyświetl plik

@ -1,8 +1,20 @@
<template>
<time :datetime="date" :title="date | moment">{{ date | ago }}</time>
<time :datetime="date" :title="date | moment">{{ realDate | ago }}</time>
</template>
<script>
import {mapState} from 'vuex'
export default {
props: ['date']
props: ['date'],
computed: {
...mapState({
lastDate: state => state.ui.lastDate
}),
realDate () {
if (this.lastDate) {
// dummy code to trigger a recompute to update the ago render
}
return this.date
}
}
}
</script>

Wyświetl plik

@ -8,11 +8,13 @@ import instance from './instance'
import queue from './queue'
import radios from './radios'
import player from './player'
import ui from './ui'
Vue.use(Vuex)
export default new Vuex.Store({
modules: {
ui,
auth,
favorites,
instance,

Wyświetl plik

@ -0,0 +1,12 @@
export default {
namespaced: true,
state: {
lastDate: new Date()
},
mutations: {
computeLastDate: (state) => {
state.lastDate = new Date()
}
}
}