From beb8c80e33a20fd289a318c83e54055f6e72a82e Mon Sep 17 00:00:00 2001
From: "robinwilliam.hundt" <robinwilliam.hundt@stud.uni-goettingen.de>
Date: Sat, 9 Dec 2017 20:28:23 +0100
Subject: [PATCH] Working Layout

---
 frontend/src/components/base/BaseLayout.vue   | 34 +++++++++++++++----
 .../src/components/student/StudentLayout.vue  |  7 ++--
 2 files changed, 32 insertions(+), 9 deletions(-)

diff --git a/frontend/src/components/base/BaseLayout.vue b/frontend/src/components/base/BaseLayout.vue
index e29bbc50..439074e1 100644
--- a/frontend/src/components/base/BaseLayout.vue
+++ b/frontend/src/components/base/BaseLayout.vue
@@ -6,8 +6,17 @@
       app
       v-model="drawer"
     >
+      <v-toolbar flat>
+        <v-list>
+          <v-list-tile>
+            <v-list-tile-title class="title">
+              {{ examInstance }}
+            </v-list-tile-title>
+          </v-list-tile>
+        </v-list>
+      </v-toolbar>
       <v-list dense>
-        <v-list-tile v-for="(item, i) in navItems" :key="i" :to="item.path">
+        <v-list-tile v-for="(item, i) in navItems" :key="i" :to="item.route">
           {{ item.name }}
         </v-list-tile>
       </v-list>
@@ -16,7 +25,8 @@
       app
       clipped-left
       fixed
-      color="deep-orange darken-4"
+      dark
+      color="indigo darken-4"
       class="grady-toolbar"
     >
       <v-toolbar-title>
@@ -27,10 +37,10 @@
         </v-avatar>
       </v-toolbar-title>
       <span class="pl-2 grady-speak">{{ gradySpeak }}</span>
-      <h2 class="pl-5">{{ $store.state.examInstance }}</h2>
       <div class="toolbar-content">
-        <span>Logged in as {{ $store.state.username }}</span>
+        <span>{{ userRole }} | {{ username }}</span>
       </div>
+      <v-btn color="blue darken-1" to="/" @click.native="logout">Logout</v-btn>
     </v-toolbar>
     <v-content>
       <slot></slot>
@@ -39,18 +49,28 @@
 </template>
 
 <script>
-  import { mapGetters } from 'vuex'
+  import { mapActions, mapGetters, mapState } from 'vuex'
   export default {
     name: 'base-layout',
     data () {
       return {
-        drawer: true,
-        props: ['navItems']
+        drawer: true
       }
     },
+    props: ['navItems'],
     computed: {
       ...mapGetters([
         'gradySpeak'
+      ]),
+      ...mapState([
+        'examInstance',
+        'username',
+        'userRole'
+      ])
+    },
+    methods: {
+      ...mapActions([
+        'logout'
       ])
     }
   }
diff --git a/frontend/src/components/student/StudentLayout.vue b/frontend/src/components/student/StudentLayout.vue
index e6704128..105f55c3 100644
--- a/frontend/src/components/student/StudentLayout.vue
+++ b/frontend/src/components/student/StudentLayout.vue
@@ -1,7 +1,9 @@
 <template>
   <base-layout
-
-  ></base-layout>
+    :navItems="navItems"
+  >
+    <slot></slot>
+  </base-layout>
 </template>
 
 <script>
@@ -13,6 +15,7 @@
       return {
         navItems: [
           {
+            name: 'Login',
             route: '/'
           }
         ]
-- 
GitLab