Start implementation of branches, new form element tabledropdown, model improvements
This commit is contained in:
@@ -7,10 +7,10 @@ import { io } from 'socket.io-client';
|
||||
|
||||
const store = createStore({
|
||||
state: {
|
||||
isLoggedIn: false,
|
||||
user: null,
|
||||
isLoggedIn: localStorage.getItem('isLoggedIn') === 'true',
|
||||
user: JSON.parse(localStorage.getItem('user')) || null,
|
||||
language: navigator.language.startsWith('de') ? 'de' : 'en',
|
||||
menu: [],
|
||||
menu: JSON.parse(localStorage.getItem('menu')) || [],
|
||||
socket: null,
|
||||
menuNeedsUpdate: false,
|
||||
},
|
||||
@@ -32,19 +32,22 @@ const store = createStore({
|
||||
localStorage.removeItem('user');
|
||||
localStorage.removeItem('menu');
|
||||
state.menuNeedsUpdate = false;
|
||||
// await apiClient.get('/api/auth/logout');
|
||||
},
|
||||
setLanguage(state, language) {
|
||||
state.language = language;
|
||||
},
|
||||
setMenu(state, menu) {
|
||||
state.menu = menu;
|
||||
localStorage.setItem('menu', JSON.stringify(menu));
|
||||
state.menuNeedsUpdate = false;
|
||||
},
|
||||
setSocket(state, socket) {
|
||||
state.socket = socket;
|
||||
},
|
||||
clearSocket(state) {
|
||||
if (state.socket) {
|
||||
state.socket.disconnect();
|
||||
}
|
||||
state.socket = null;
|
||||
},
|
||||
},
|
||||
@@ -58,17 +61,20 @@ const store = createStore({
|
||||
}
|
||||
await dispatch('loadMenu');
|
||||
},
|
||||
logout({ commit, state }) {
|
||||
if (state.socket) {
|
||||
state.socket.disconnect();
|
||||
commit('clearSocket');
|
||||
}
|
||||
logout({ commit }) {
|
||||
commit('clearSocket');
|
||||
commit('dologout');
|
||||
router.push('/');
|
||||
},
|
||||
initializeSocket({ commit, state }) {
|
||||
if (state.isLoggedIn && state.user) {
|
||||
const socket = io(import.meta.env.VITE_API_BASE_URL);
|
||||
socket.on('connect', () => {
|
||||
socket.emit('setUserId', state.user.id);
|
||||
});
|
||||
socket.on('disconnect', (reason) => {
|
||||
console.warn('WebSocket disconnected:', reason);
|
||||
});
|
||||
commit('setSocket', socket);
|
||||
}
|
||||
},
|
||||
@@ -90,12 +96,16 @@ const store = createStore({
|
||||
user: state => state.user,
|
||||
language: state => state.language,
|
||||
menu: state => state.menu,
|
||||
socket: state => state.socket,
|
||||
menuNeedsUpdate: state => state.menuNeedsUpdate
|
||||
socket: state => state.socket,
|
||||
menuNeedsUpdate: state => state.menuNeedsUpdate,
|
||||
},
|
||||
modules: {
|
||||
dialogs,
|
||||
},
|
||||
});
|
||||
|
||||
if (store.state.isLoggedIn && store.state.user) {
|
||||
store.dispatch('initializeSocket');
|
||||
}
|
||||
|
||||
export default store;
|
||||
|
||||
Reference in New Issue
Block a user