refactor: pass locale object to all datefns functions that support it

This commit is contained in:
Fernando Fernández 2021-02-11 13:10:02 +01:00
parent 4824975e6d
commit 6b190acec0
5 changed files with 13 additions and 49 deletions

View File

@ -244,7 +244,8 @@ export default Vue.extend({
if (!this.metadata.PremiereDate) return '';
const dateStr = this.$dateFns.format(
new Date(this.metadata.PremiereDate),
'yyyy-MM-dd'
'yyyy-MM-dd',
{ locale: this.$i18n.locale }
);
return dateStr;
}
@ -254,7 +255,8 @@ export default Vue.extend({
if (!this.metadata.DateCreated) return '';
const dateStr = this.$dateFns.format(
new Date(this.metadata.DateCreated),
'yyyy-MM-dd'
'yyyy-MM-dd',
{ locale: this.$i18n.locale }
);
return dateStr;
}

View File

@ -30,10 +30,9 @@
import Vue from 'vue';
import { UserDto } from '@jellyfin/client-axios';
import imageHelper from '~/mixins/imageHelper';
import localeHelper from '~/mixins/localeHelper';
export default Vue.extend({
mixins: [imageHelper, localeHelper],
mixins: [imageHelper],
props: {
user: {
type: Object as () => UserDto,
@ -45,7 +44,7 @@ export default Vue.extend({
if (value) {
return this.$dateFns.formatDistanceToNow(new Date(value), {
addSuffix: true,
locale: this.getDfnsLocale()
locale: this.$i18n.locale
});
} else {
return this.$t('never');

View File

@ -1,42 +0,0 @@
/**
* Helper for locale functions
*
* @mixin
*/
import Vue from 'vue';
declare module '@nuxt/types' {
interface Context {
getDfnsLocale(): string;
}
interface NuxtAppOptions {
getDfnsLocale(): string;
}
}
declare module 'vue/types/vue' {
interface Vue {
getDfnsLocale(): string;
}
}
const localeHelper = Vue.extend({
methods: {
getDfnsLocale(): string {
const i18nlocale = this.$i18n.locale;
let locale;
if (i18nlocale === 'en') {
locale = 'enUS';
} else if (i18nlocale === 'zh') {
locale = 'zhCN';
} else {
locale = i18nlocale;
}
return locale;
}
}
});
export default localeHelper;

View File

@ -122,7 +122,9 @@ const timeUtils = Vue.extend({
minute: 'numeric'
});
} else {
format = this.$dateFns.format(Date.now() + ms, 'p');
format = this.$dateFns.format(Date.now() + ms, 'p', {
locale: this.$i18n.locale
});
}
// TODO: Use a Date object
return this.$t('endsAt', {

View File

@ -17,7 +17,10 @@
{{
$dateFns.formatRelative(
$dateFns.parseJSON(item.DateCreated),
new Date()
new Date(),
{
locale: $i18n.locale
}
)
}}
</p>