@@ -48,22 +48,22 @@ export const LocaleProvider: React.FC<{ children?: React.ReactNode; locale?: Loc
4848
4949 const { user } = useAuth ( )
5050
51- const defaultLocale =
52- localization && localization . defaultLocale ? localization . defaultLocale : 'en'
51+ const defaultLocale = localization ? localization . defaultLocale : 'en'
5352
5453 const { getPreference, setPreference } = usePreferences ( )
5554 const localeFromParams = useSearchParams ( ) . get ( 'locale' )
5655
5756 const [ locale , setLocale ] = React . useState < Locale > ( ( ) => {
58- if ( ! localization ) {
57+ if ( ! localization || ( localization && ! localization . locales . length ) ) {
5958 // TODO: return null V4
6059 return { } as Locale
6160 }
6261
6362 return (
6463 findLocaleFromCode ( localization , localeFromParams ) ||
6564 findLocaleFromCode ( localization , initialLocaleFromPrefs ) ||
66- findLocaleFromCode ( localization , defaultLocale )
65+ findLocaleFromCode ( localization , defaultLocale ) ||
66+ findLocaleFromCode ( localization , localization . locales [ 0 ] . code )
6767 )
6868 } )
6969
@@ -97,14 +97,16 @@ export const LocaleProvider: React.FC<{ children?: React.ReactNode; locale?: Loc
9797 if ( localization && user ?. id ) {
9898 const localeToUse =
9999 localeFromParams ||
100- ( await fetchPreferences < Locale [ 'code' ] > ( 'locale' , fetchURL ) ?. then ( ( res ) => res . value ) ) ||
101- defaultLocale
100+ ( await fetchPreferences < Locale [ 'code' ] > ( 'locale' , fetchURL ) ?. then ( ( res ) => res . value ) )
102101
103102 const newLocale =
104103 findLocaleFromCode ( localization , localeToUse ) ||
105- findLocaleFromCode ( localization , defaultLocale )
104+ findLocaleFromCode ( localization , defaultLocale ) ||
105+ findLocaleFromCode ( localization , localization ?. locales ?. [ 0 ] ?. code )
106106
107- setLocale ( newLocale )
107+ if ( newLocale ) {
108+ setLocale ( newLocale )
109+ }
108110 }
109111 }
110112
0 commit comments