@@ -109,14 +109,18 @@ export const useReleasesStore = defineStore(ReleasesStoreConstants.Store, () =>
109
109
if ( restored ?. center ) clearState ( new Date ( restored . center ) ) ;
110
110
} ;
111
111
112
+ const getLocaleRegion = ( ) => {
113
+ const locale = getIntlRegion ( ) || getNavigatorRegion ( ) ;
114
+ if ( ! regions . value ?. length ) return ;
115
+ if ( locale ) return regions . value . find ( r => r . iso_3166_1 === locale ) ?? regions . value [ 0 ] ;
116
+ return regions . value [ 0 ] ;
117
+ } ;
118
+
112
119
const fetchRegions = async ( ) => {
113
120
regionLoading . value = true ;
114
121
try {
115
122
regions . value = await TraktService . providers . regions ( ) ;
116
- if ( ! region . value ) {
117
- const locale = getIntlRegion ( ) || getNavigatorRegion ( ) ;
118
- if ( locale ) region . value = regions . value . find ( r => r . iso_3166_1 === locale ) ;
119
- }
123
+ if ( ! region . value ) region . value = getLocaleRegion ( ) ;
120
124
} catch ( e ) {
121
125
logger . error ( 'Failed to fetch regions' ) ;
122
126
NotificationService . error ( 'Failed to fetch regions' , e ) ;
@@ -131,6 +135,11 @@ export const useReleasesStore = defineStore(ReleasesStoreConstants.Store, () =>
131
135
return ;
132
136
}
133
137
138
+ if ( ! region . value ) {
139
+ logger . warn ( 'Region not selected' ) ;
140
+ return ;
141
+ }
142
+
134
143
loading . value = true ;
135
144
136
145
if ( mode === 'start' ) startCalendar . value = DateUtils . previous ( days . value , startCalendar . value ) ;
@@ -223,7 +232,7 @@ export const useReleasesStore = defineStore(ReleasesStoreConstants.Store, () =>
223
232
region : computed < string | undefined > ( {
224
233
get : ( ) => region . value ?. iso_3166_1 ,
225
234
set : ( value ?: string ) => {
226
- region . value = ! value ? undefined : regions . value . find ( r => r . iso_3166_1 === value ) ;
235
+ region . value = regions . value ? .find ( r => r . iso_3166_1 === value ) ?? getLocaleRegion ( ) ;
227
236
saveState ( ) . catch ( error => logger . error ( 'Failed to save region state' , error ) ) ;
228
237
return clearState ( ) ;
229
238
} ,
0 commit comments