Language selection

Also, update RTL settings based on language (see "language_is_rtl" key in language file(s), defaults to false). Issue #147.
This commit is contained in:
N-Pex 2021-07-06 12:00:57 +02:00
parent cec8e3b8ae
commit 15e5f7ab2d
7 changed files with 101 additions and 9 deletions

View file

@ -37,6 +37,7 @@ const vuexPersistLocalStorage = new VuexPersist({
reducer: state => {
if (state.useLocalStorage) {
return {
language: state.language,
currentRoomId: state.currentRoomId,
};
} else {
@ -51,6 +52,7 @@ const vuexPersistSessionStorage = new VuexPersist({
reducer: state => {
if (!state.useLocalStorage) {
return {
language: state.language,
currentRoomId: state.currentRoomId,
};
} else {
@ -62,7 +64,7 @@ const vuexPersistSessionStorage = new VuexPersist({
const defaultUseSessionStorage = (sessionStorage.getItem('user') != null);
export default new Vuex.Store({
state: { currentRoomId: null, auth: null, tempuser: null, useLocalStorage: !defaultUseSessionStorage },
state: { language: 'en', currentRoomId: null, auth: null, tempuser: null, useLocalStorage: !defaultUseSessionStorage },
mutations: {
loginSuccess(state, user) {
state.auth.status.loggedIn = true;
@ -76,6 +78,9 @@ export default new Vuex.Store({
state.auth.status.loggedIn = false;
state.auth.user = null;
},
setLanguage(state, locale) {
state.language = locale;
},
setCurrentRoomId(state, roomId) {
state.currentRoomId = roomId;
},