blob: 9dbf288b43be6b7f15796e6be05b7b32cfe24b7b [file] [log] [blame]
Adrià Vilanova Martínezf7ee6582021-09-02 21:53:28 +02001import {createStore} from 'vuex';
2
3import {KillSwitchServicePromiseClient} from '../api_proto/kill_switch_grpc_web_pb.js';
4
5export const store = createStore({
6 state() {
7 return {
8 jwtToken: localStorage.getItem('jwtToken'),
9 client: null,
10 };
11 },
12 mutations: {
13 setJwtToken(state, token) {
14 if (token == null)
15 localStorage.removeItem('jwtToken');
16 else
17 localStorage.jwtToken = token;
18
19 state.jwtToken = token;
20 },
21 },
22 getters: {
23 getJwtToken(state) {
24 return state.jwtToken;
25 },
26 isSignedIn(state) {
27 return state.jwtToken != null;
28 },
29 },
30 actions: {
31 connectClient(store, host) {
32 store.state.client = new KillSwitchServicePromiseClient(host, null, null);
33 },
34 },
35});