Преглед изворни кода

add locale detection

pull/1/head
Jonathan Cobb пре 4 година
родитељ
комит
0cf7321e71
3 измењених фајлова са 31 додато и 5 уклоњено
  1. +11
    -2
      src/_services/system.service.js
  2. +15
    -0
      src/_store/system.module.js
  3. +5
    -3
      src/app/App.vue

+ 11
- 2
src/_services/system.service.js Прегледај датотеку

@@ -5,7 +5,8 @@ export const systemService = {
loadSystemConfigs,
loadMessages,
loadTimezones,
detectTimezone
detectTimezone,
detectLocale
};

function loadSystemConfigs() {
@@ -31,7 +32,15 @@ function loadTimezones() {
}

function detectTimezone() {
return fetch(`${config.apiUrl}/me/detect/timezone`, getWithAuth())
const requestOptions = userLoggedIn() ? getWithAuth() : { method: 'GET' };
return fetch(`${config.apiUrl}/auth/detect/timezone`, requestOptions)
.then(handleBasicResponse)
.then(timezone => { return timezone; });
}

function detectLocale () {
const requestOptions = userLoggedIn() ? getWithAuth() : { method: 'GET' };
return fetch(`${config.apiUrl}/auth/detect/locale`, requestOptions)
.then(handleBasicResponse)
.then(locales => { return locales; });
}

+ 15
- 0
src/_store/system.module.js Прегледај датотеку

@@ -10,6 +10,7 @@ const state = {
locales: [],
timezones: [],
detectedTimezone: null,
detectedLocale: null,
menu: [],
error: null
};
@@ -44,6 +45,13 @@ const actions = {
timezones => commit('detectTimezoneSuccess', timezones),
error => commit('detectTimezoneFailure', error)
)
},
detectLocale({ commit }) {
commit('detectLocaleRequest');
systemService.detectLocale().then(
locales => commit('detectLocaleSuccess', locales),
error => commit('detectLocaleFailure', error)
)
}
};

@@ -118,6 +126,13 @@ const mutations = {
},
detectTimezoneFailure(state, error) {
state.error = error;
},
detectLocaleRequest(state) {},
detectLocaleSuccess(state, detectedLocales) {
state.detectedLocale = detectedLocales.length > 0 ? detectedLocales[0] : null;
},
detectLocaleFailure(state, error) {
state.error = error;
}
};



+ 5
- 3
src/app/App.vue Прегледај датотеку

@@ -26,7 +26,7 @@ export default {
},
methods: {
...mapActions({ clearAlert: 'alert/clear' }),
...mapActions('system', ['loadSystemConfigs', 'loadMessages', 'loadTimezones', 'detectTimezone'])
...mapActions('system', ['loadSystemConfigs', 'loadMessages', 'loadTimezones', 'detectTimezone', 'detectLocale'])
},
watch: {
$route (to, from){
@@ -35,14 +35,16 @@ export default {
}
},
created() {
this.loadSystemConfigs(); // determine if we can show the registration link

// todo: allow user to choose locale
const locale = 'detect';
this.loadTimezones();
this.loadMessages('pre_auth', locale);
this.loadMessages('countries', locale);
this.loadMessages('timezones', locale);
this.detectLocale();
this.loadTimezones();
this.detectTimezone();
this.loadSystemConfigs(); // determine if we can show the registration link
}
};
</script>

Loading…
Откажи
Сачувај