mirror of
https://github.com/jellyfin/jellyfin-vue.git
synced 2024-10-07 03:23:37 +00:00
refactor: pass locale object to all datefns functions that support it
This commit is contained in:
parent
4824975e6d
commit
6b190acec0
@ -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;
|
||||
}
|
||||
|
@ -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');
|
||||
|
@ -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;
|
@ -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', {
|
||||
|
@ -17,7 +17,10 @@
|
||||
{{
|
||||
$dateFns.formatRelative(
|
||||
$dateFns.parseJSON(item.DateCreated),
|
||||
new Date()
|
||||
new Date(),
|
||||
{
|
||||
locale: $i18n.locale
|
||||
}
|
||||
)
|
||||
}}
|
||||
</p>
|
||||
|
Loading…
Reference in New Issue
Block a user