diff --git a/model/setting.go b/model/setting.go index 94a449b..fe19030 100644 --- a/model/setting.go +++ b/model/setting.go @@ -17,9 +17,11 @@ const ( ThemeMaterialDark = "MaterialDark" ThemeMaterialLight = "MaterialLight" - DateLocaleGerman = "German" - DateLocaleEnglish = "English" - DateLocaleEnglish24h = "English24h" + DateLocaleGerman = "German" + DateLocaleAmerican = "American" + DateLocaleAmerican24h = "American24h" + DateLocaleBritish = "British" + DateLocaleAustralian = "Australian" ) var daysOfWeek = map[string]time.Weekday{ diff --git a/schema.graphql b/schema.graphql index 2b3c869..ee92e6f 100644 --- a/schema.graphql +++ b/schema.graphql @@ -85,7 +85,7 @@ enum Theme { } enum DateLocale { - English, English24h, German + American, American24h, German, Australian, British } input InputReplaceOptions { diff --git a/setting/get.go b/setting/get.go index 8b31713..83c879f 100644 --- a/setting/get.go +++ b/setting/get.go @@ -15,7 +15,7 @@ func Get(ctx context.Context, db *gorm.DB) (model.UserSetting, error) { user := auth.GetUser(ctx) defaultSettings := model.UserSetting{ Theme: model.ThemeGruvboxDark, - DateLocale: model.DateLocaleEnglish, + DateLocale: model.DateLocaleAmerican, FirstDayOfTheWeek: time.Monday.String(), } diff --git a/setting/usersettings.go b/setting/usersettings.go index 8b933ac..d1966e2 100644 --- a/setting/usersettings.go +++ b/setting/usersettings.go @@ -39,10 +39,10 @@ func toExternal(internal model.UserSetting) *gqlmodel.UserSettings { func toInternalDateLocale(locale gqlmodel.DateLocale) string { switch locale.String() { - case model.DateLocaleEnglish, model.DateLocaleGerman, model.DateLocaleEnglish24h: + case model.DateLocaleAmerican, model.DateLocaleGerman, model.DateLocaleAmerican24h, model.DateLocaleAustralian, model.DateLocaleBritish: return locale.String() default: - return model.DateLocaleEnglish + return model.DateLocaleAmerican } } @@ -50,7 +50,10 @@ func toExternalDateLocale(dateLocale string) gqlmodel.DateLocale { if gqlmodel.DateLocale(dateLocale).IsValid() { return gqlmodel.DateLocale(dateLocale) } - return gqlmodel.DateLocaleEnglish + if dateLocale == "English24h" { + return gqlmodel.DateLocaleAmerican24h + } + return gqlmodel.DateLocaleAmerican } func toInternalTheme(theme gqlmodel.Theme) string { diff --git a/ui/src/gql/settings.ts b/ui/src/gql/settings.ts index 11f5b04..ad4ee82 100644 --- a/ui/src/gql/settings.ts +++ b/ui/src/gql/settings.ts @@ -24,7 +24,7 @@ export const SetSettings = gql` const defaultSettings = { theme: Theme.GruvboxDark, - dateLocale: DateLocale.English, + dateLocale: DateLocale.American, firstDayOfTheWeek: WeekDay.Monday, } as const; diff --git a/ui/src/index.tsx b/ui/src/index.tsx index c49d732..95809fc 100644 --- a/ui/src/index.tsx +++ b/ui/src/index.tsx @@ -2,5 +2,7 @@ import React from 'react'; import ReactDOM from 'react-dom'; import {Root} from './Root'; import 'moment/locale/de'; +import 'moment/locale/en-au'; +import 'moment/locale/en-gb'; ReactDOM.render(, document.getElementById('root')); diff --git a/ui/src/provider/UserSettingsProvider.tsx b/ui/src/provider/UserSettingsProvider.tsx index 5dab494..9ec7a23 100644 --- a/ui/src/provider/UserSettingsProvider.tsx +++ b/ui/src/provider/UserSettingsProvider.tsx @@ -7,10 +7,10 @@ import {expectNever} from '../utils/never'; const setLocale = (locale: DateLocale, spec: LocaleSpecification) => { switch (locale) { - case DateLocale.English: + case DateLocale.American: moment.locale('en', spec); return; - case DateLocale.English24h: + case DateLocale.American24h: moment.locale('en', { ...spec, longDateFormat: { @@ -23,6 +23,12 @@ const setLocale = (locale: DateLocale, spec: LocaleSpecification) => { }, }); return; + case DateLocale.Australian: + moment.locale('en-au', spec); + return; + case DateLocale.British: + moment.locale('en-gb', spec); + return; case DateLocale.German: moment.locale('de', spec); return;