From 4f7a2cdc2f1261b05f1f07b6fde992fe04799397 Mon Sep 17 00:00:00 2001 From: Ramon Wenger Date: Tue, 25 Feb 2020 15:45:20 +0100 Subject: [PATCH] Move class selection to sidebar, refactor it in the process --- client/src/components/HeaderBar.vue | 20 +++++-- client/src/components/UserWidget.vue | 13 +---- .../book-navigation/MobileNavigation.vue | 2 +- .../src/components/profile/ProfileSidebar.vue | 16 ++++-- .../ClassSelectionWidget.vue | 50 ++++++++++++----- .../components/school-class/CurrentClass.vue | 54 +++++++++++++++++++ client/src/mixins/open-sidebar.js | 14 +++++ 7 files changed, 138 insertions(+), 31 deletions(-) rename client/src/components/{ => school-class}/ClassSelectionWidget.vue (66%) create mode 100644 client/src/components/school-class/CurrentClass.vue create mode 100644 client/src/mixins/open-sidebar.js diff --git a/client/src/components/HeaderBar.vue b/client/src/components/HeaderBar.vue index bac3015f..b196d21c 100644 --- a/client/src/components/HeaderBar.vue +++ b/client/src/components/HeaderBar.vue @@ -5,7 +5,8 @@
- + +
@@ -19,18 +20,22 @@ import UserWidget from '@/components/UserWidget.vue'; import LogoutWidget from '@/components/LogoutWidget.vue'; import Logo from '@/components/icons/Logo'; - import ClassSelectionWidget from '@/components/ClassSelectionWidget'; + import CurrentClass from '@/components/school-class/CurrentClass'; + + import openSidebar from '@/mixins/open-sidebar'; import ME_QUERY from '@/graphql/gql/meQuery.gql'; export default { + mixins: [openSidebar], + components: { ContentNavigation, UserWidget, LogoutWidget, BookNavigation, Logo, - ClassSelectionWidget + CurrentClass }, computed: { @@ -39,6 +44,7 @@ } }, + data() { return { me: {} @@ -127,5 +133,13 @@ .user-header { display: flex; + + &__current-class { + margin-right: $large-spacing; + } + + &__sidebar-link { + cursor: pointer; + } } diff --git a/client/src/components/UserWidget.vue b/client/src/components/UserWidget.vue index 353208ab..4de9a462 100644 --- a/client/src/components/UserWidget.vue +++ b/client/src/components/UserWidget.vue @@ -7,8 +7,8 @@ + + diff --git a/client/src/mixins/open-sidebar.js b/client/src/mixins/open-sidebar.js new file mode 100644 index 00000000..755c3837 --- /dev/null +++ b/client/src/mixins/open-sidebar.js @@ -0,0 +1,14 @@ +import TOGGLE_SIDEBAR from '@/graphql/gql/local/mutations/toggleSidebar.gql'; + +export default { + methods: { + openSidebar() { + this.$apollo.mutate({ + mutation: TOGGLE_SIDEBAR, + variables: { + open: true + } + }); + }, + }, +}