Browse Source

Changed the way the name and surname displays when logged in

master
Lene' Scholtz 5 years ago
parent
commit
9101027327
3 changed files with 39 additions and 32 deletions
  1. 26
    17
      src/components/shared/navBar.vue
  2. 12
    14
      src/store/modules/user/authentication.js
  3. 1
    1
      vue.config.js

+ 26
- 17
src/components/shared/navBar.vue View File

@@ -184,10 +184,9 @@
184 184
                 <a class="dropdown-item cursor-pointer" @click="routerGoTo('/Offers')">Offers</a>
185 185
               </div>
186 186
             </li>
187
-            <li class="nav-item dropdown">
187
+            <li class="nav-item dropdown" v-if="hideLogin">
188 188
               <a
189 189
                 class="nav-link"
190
-                v-if="hideLogin"
191 190
                 @click="routerGoTo('/user/login')"
192 191
                 id="navbarDropdown"
193 192
                 role="button"
@@ -196,15 +195,19 @@
196 195
                 aria-expanded="false"
197 196
               >Login</a>
198 197
             </li>
199
-            <li class="nav-item dropdown">
200
-              <span v-if="showLogout">
198
+            <li class="nav-item dropdown" v-if="showLogout">
199
+              <span>
201 200
                 <a class="nav-link" @click="logout()">Logout</a>
202 201
               </span>
203
-              <span v-else></span>
202
+              <!-- <span v-else></span> -->
204 203
             </li>
205 204
             <li>
206 205
               <span v-if="showLogout">
207
-                <a>Welcome! <br/> {{ username }}</a>
206
+                <a>
207
+                  Welcome!
208
+                  <br />
209
+                  {{ username }}
210
+                </a>
208 211
               </span>
209 212
               <span v-else></span>
210 213
             </li>
@@ -227,33 +230,39 @@
227 230
 </template>
228 231
 
229 232
 <script>
230
-import { mapGetters, mapActions } from "vuex";
233
+import { mapGetters, mapActions } from 'vuex';
231 234
 
232 235
 export default {
233 236
   data() {
234 237
     return {
235
-      username: localStorage.getItem('name'),
238
+      username: sessionStorage.getItem('name'),
236 239
     };
237 240
   },
238 241
   computed: {
239 242
     showLogout() {
240
-      return this.$store.state.authentication.status === "success";
243
+      // eslint-disable-next-line vue/no-side-effects-in-computed-properties
244
+      this.username = sessionStorage.getItem('name');
245
+      return this.$store.state.authentication.status === 'success';
241 246
     },
242 247
     hideLogin() {
243
-      return this.$store.state.authentication.status !== "success";
248
+      return this.$store.state.authentication.status !== 'success';
244 249
     },
250
+    // eslint-disable-next-line vue/return-in-computed-property
245 251
     Logout() {
246
-      return this.$store.state.authentication.methods.logout;
247
-    }
252
+      // eslint-disable-next-line no-unused-expressions
253
+      this.$store.state.authentication.methods.logout;
254
+      // eslint-disable-next-line vue/no-side-effects-in-computed-properties
255
+      this.$router.push('/user/login');
256
+    },
248 257
   },
249 258
 
250 259
   methods: {
251
-    ...mapGetters("authentication", ["isLoggedIn"]),
252
-    ...mapActions("authentication", ["logout"]),
260
+    ...mapGetters('authentication', ['isLoggedIn']),
261
+    ...mapActions('authentication', ['logout']),
253 262
 
254 263
     routerGoTo(goTo) {
255
-      this.$emit("routerGoTo", goTo);
256
-    }
257
-  }
264
+      this.$emit('routerGoTo', goTo);
265
+    },
266
+  },
258 267
 };
259 268
 </script>

+ 12
- 14
src/store/modules/user/authentication.js View File

@@ -7,7 +7,7 @@ export default {
7 7
   namespaced: true,
8 8
   state: {
9 9
     status: '',
10
-    token: localStorage.getItem('token') || '',
10
+    token: sessionStorage.getItem('token') || '',
11 11
     user: {},
12 12
     individual: {},
13 13
   },
@@ -33,9 +33,7 @@ export default {
33 33
     authStatus: state => state.status,
34 34
   },
35 35
   actions: {
36
-    login({
37
-      commit,
38
-    }, user) {
36
+    login({ commit }, user) {
39 37
       return new Promise((reject) => {
40 38
         commit('auth_request');
41 39
         axios({
@@ -45,26 +43,26 @@ export default {
45 43
         })
46 44
           .then((resp) => {
47 45
             console.log(resp.data);
48
-            localStorage.setItem('token', resp.data.token);
49
-            localStorage.setItem('username', resp.data.username);
50
-            localStorage.setItem('name', resp.data.name);
46
+            sessionStorage.setItem('token', resp.data.token);
47
+            sessionStorage.setItem('username', resp.data.username);
48
+            sessionStorage.setItem('name', resp.data.name);
51 49
             commit('auth_success', resp.data.token, resp.data);
52 50
           })
53 51
           .catch((err) => {
54 52
             commit('auth_error');
55
-            localStorage.removeItem('token');
53
+            sessionStorage.removeItem('token');
54
+            sessionStorage.removeItem('username');
55
+            sessionStorage.removeItem('name');
56 56
             reject(err);
57 57
           });
58 58
       });
59 59
     },
60
-    logout({
61
-      commit,
62
-    }) {
60
+    logout({ commit }) {
63 61
       return new Promise(() => {
64 62
         commit('logout');
65
-        localStorage.removeItem('token');
66
-        localStorage.removeItem('username');
67
-        localStorage.removeItem('name');
63
+        sessionStorage.removeItem('token');
64
+        sessionStorage.removeItem('username');
65
+        sessionStorage.removeItem('name');
68 66
         delete axios.defaults.headers.common.Authorization;
69 67
       });
70 68
     },

+ 1
- 1
vue.config.js View File

@@ -2,7 +2,7 @@ module.exports = {
2 2
   devServer: {
3 3
     proxy: {
4 4
       '/api': {
5
-        target: 'http://192.168.6.188:5000',
5
+        target: 'http://localhost:57260',
6 6
         changeOrigin: true,
7 7
       },
8 8
     },

Loading…
Cancel
Save