Robert Schäfer a7354a054e Fix test, remove vue-filter relativeDateTime
cc @Tirokk @ulfgebhardt @appinteractive

This is a perfect example why I insist on writing tests. While debugging
@Tirokk and I discovered several design flaws and plugins that depend on
each other. The solution to all of this is not to use vue-filters plugin
at all! Vue-filters depends on Vuex, i18n, vuex-i18n, nuxt-modules and so
on.

This is just bad, bad, bad code. Start writing tests. Now.

We should start to refactor vue-filters and use components instead.
2019-04-10 18:46:13 +02:00

34 lines
583 B
Vue

<template>
<span>{{ relativeDateTime }}</span>
</template>
<script>
import formatRelative from 'date-fns/formatRelative'
import { enUS, de, nl, fr, pt, es, pl } from 'date-fns/locale'
const locales = {
en: enUS,
de,
nl,
fr,
es,
pt,
pl
}
export default {
name: 'HcRelativeDateTime',
props: {
dateTime: {
type: [Date, String],
required: true
}
},
computed: {
relativeDateTime() {
let locale = locales[this.$i18n.locale() || 'en']
return formatRelative(new Date(this.dateTime), new Date(), { locale })
}
}
}
</script>