diff --git a/frontend/src/components/BaseLayout.vue b/frontend/src/components/BaseLayout.vue index 1ca66d053cd5a06be9353b72bb0b17c523b7d410..dc3c7e9bb9b11c3274254382a90d3f1823da3e6e 100644 --- a/frontend/src/components/BaseLayout.vue +++ b/frontend/src/components/BaseLayout.vue @@ -90,27 +90,7 @@ <v-spacer /> <instance-actions /> <v-divider vertical /> - <v-toolbar-items class="user-menu"> - <v-menu - bottom - offset-y - left - > - <template #activator="{ on }"> - <v-btn - id="user-options" - text - v-on="on" - > - <v-icon left> - account_circle - </v-icon> - {{ username }} ({{ userRole }})<v-icon>arrow_drop_down</v-icon> - </v-btn> - </template> - <user-options /> - </v-menu> - </v-toolbar-items> + <user-options /> </v-app-bar> </div> </template> @@ -127,8 +107,6 @@ export default { name: 'BaseLayout', components: { InstanceActions, UserOptions }, computed: { - username () { return Authentication.state.user.username }, - userRole () { return Authentication.state.user.role }, gradySpeak () { return Authentication.gradySpeak }, isStudent () { return Authentication.isStudent }, ...mapStateToComputedGetterSetter({ diff --git a/frontend/src/components/PasswordChangeDialog.vue b/frontend/src/components/PasswordChangeDialog.vue index 1a798c9e4aa083b857318c36cac863665bd51f20..394a8ab10393a47f0c90b40b8170c0f8d834aa28 100644 --- a/frontend/src/components/PasswordChangeDialog.vue +++ b/frontend/src/components/PasswordChangeDialog.vue @@ -21,7 +21,7 @@ autofocus required :error-messages="oldPasswordRejected ? 'Wrong password.' : undefined" - :rules="[ rules.required, rules.oldPasswordCorrect ]" + :rules="[ rules.required ]" @input="oldPasswordRejected = false" /> <v-text-field diff --git a/frontend/src/components/UserOptions.vue b/frontend/src/components/UserOptions.vue index 2b2a239eecbe9abd701fe4317c2215b435d3b354..7b61d0f7c431b25b4e2f27c7d4c1e3fbc9d3a551 100644 --- a/frontend/src/components/UserOptions.vue +++ b/frontend/src/components/UserOptions.vue @@ -1,26 +1,44 @@ <template> - <div> - <v-list> - <v-list-item - v-if="!isStudent" - @click="showPasswordChangeDialog" - > - Change password - </v-list-item> - <v-divider class="my-2" /> - <v-list-item @click="logout"> - <v-icon left> - exit_to_app - </v-icon> - Logout - </v-list-item> - </v-list> + <v-toolbar-items> + <v-menu + bottom + offset-y + left + > + <template #activator="{ on }"> + <v-btn + id="user-options" + text + v-on="on" + > + <v-icon left> + account_circle + </v-icon> + {{ username }} ({{ userRole }})<v-icon>arrow_drop_down</v-icon> + </v-btn> + </template> + <v-list> + <v-list-item + v-if="!isStudent" + @click="showPasswordChangeDialog" + > + Change password + </v-list-item> + <v-divider class="my-2" /> + <v-list-item @click="logout"> + <v-icon left> + exit_to_app + </v-icon> + Logout + </v-list-item> + </v-list> + </v-menu> <component :is="displayComponent" v-if="displayComponent" @hide="hideComponent" /> - </div> + </v-toolbar-items> </template> <script> @@ -36,7 +54,9 @@ export default { } }, computed: { - isStudent: () => Authentication.isStudent, + isStudent() { return Authentication.isStudent }, + username() { return Authentication.state.user.username }, + userRole() { return Authentication.state.user.role }, }, methods: { hideComponent () {