From 479bfa8f9be6efa7166ded2f48e3fa6dfcfe013a Mon Sep 17 00:00:00 2001 From: "dominik.seeger" <dominik.seeger@stud.uni-goettingen.de> Date: Mon, 25 Jan 2021 13:46:31 +0100 Subject: [PATCH] [frontend] Changed buttons in minified sidebar Changed Dark Mode and Feedback buttons to be correctly visible in minified sidebar --- frontend/src/components/BaseLayout.vue | 49 ++++++++++++------- .../pages/base/TutorReviewerBaseLayout.vue | 8 ++- frontend/src/pages/student/StudentLayout.vue | 2 +- functional_tests/test_front_pages.py | 6 +-- 4 files changed, 41 insertions(+), 24 deletions(-) diff --git a/frontend/src/components/BaseLayout.vue b/frontend/src/components/BaseLayout.vue index 27d2111b..d45f7033 100644 --- a/frontend/src/components/BaseLayout.vue +++ b/frontend/src/components/BaseLayout.vue @@ -43,25 +43,32 @@ <v-switch slot="activator" v-model="darkMode" - class="ml-3" + class="dark-mode-switch" :disabled="!darkModeUnlocked" - label="dark mode" + :label="mini ? '' : 'dark mode'" /> <span v-if="darkModeUnlocked">Experimental: styling issues may occur!</span> <span v-else>You need to visit the feedback site below first!</span> </v-tooltip> - <v-footer - v-if="!mini" + <v-btn + id="feedback-btn" + href="https://gitlab.gwdg.de/j.michal/grady/issues" + target="_blank" + :block="!mini" + :fab="mini" + :flat="mini" + :tile="!mini" + depressed @click.native="logFeedbackClick" + v-bind:class="{ 'fab-button': mini, 'fab-button-white': !darkMode }" > - <v-spacer /> - <a - href="https://gitlab.gwdg.de/j.michal/grady/issues" - target="_blank" - class="feedback-link" - >Give us Feedback!</a> - <v-spacer /> - </v-footer> + <v-icon :left="!mini"> + feedback + </v-icon> + <div v-show="!mini"> + Feedback + </div> + </v-btn> </div> </v-navigation-drawer> <v-toolbar @@ -152,17 +159,25 @@ export default { bottom: 0px; } - .feedback-link { - text-decoration: none; - color: grey; - } - .grady-toolbar { font-weight: bold; } .title { color: gray; + white-space: nowrap; + } + + .fab-button { + margin: 0 12px; + } + + .fab-button-white { + color: grey !important; + } + + .dark-mode-switch { + margin-left: 22px; } </style> diff --git a/frontend/src/pages/base/TutorReviewerBaseLayout.vue b/frontend/src/pages/base/TutorReviewerBaseLayout.vue index 23264611..185d6a2d 100644 --- a/frontend/src/pages/base/TutorReviewerBaseLayout.vue +++ b/frontend/src/pages/base/TutorReviewerBaseLayout.vue @@ -23,14 +23,15 @@ </v-list> <v-divider /> <slot name="above-subscriptions" /> - <subscription-list :sidebar="true" /> - <feedback-label-tab /> + <subscription-list :sidebar="true" v-if="!mini" /> + <feedback-label-tab v-if="!mini" /> <slot name="below-subscriptions" /> </template> </base-layout> </template> <script> +import { UI } from '@/store/modules/ui' import BaseLayout from '@/components/BaseLayout' import SubscriptionList from '@/components/subscriptions/SubscriptionList' import FeedbackLabelTab from '@/components/feedback_labels/FeedbackLabelTab.vue' @@ -64,6 +65,9 @@ export default { } ] } + }, + computed: { + mini () { return UI.state.sideBarCollapsed }, } } </script> diff --git a/frontend/src/pages/student/StudentLayout.vue b/frontend/src/pages/student/StudentLayout.vue index 5f2988c3..2229f27d 100644 --- a/frontend/src/pages/student/StudentLayout.vue +++ b/frontend/src/pages/student/StudentLayout.vue @@ -80,7 +80,7 @@ export default { visited () { return StudentPage.state.visited }, moduleReference () { return this.exam ? this.exam.moduleReference : 'No exam information' }, - mini () { return UI.state.mini }, + mini () { return UI.state.sideBarCollapsed }, submissionNavItems () { return this.submissions.map((sub, index) => { diff --git a/functional_tests/test_front_pages.py b/functional_tests/test_front_pages.py index 02ba22da..35bef4e3 100644 --- a/functional_tests/test_front_pages.py +++ b/functional_tests/test_front_pages.py @@ -68,8 +68,7 @@ class FrontPageTestsTutor(UntestedParent.FrontPageTestsTutorReviewer): print(links) self.assertTrue(all(link in links for link in ['/home', '/feedback'])) footer = drawer.find_element_by_class_name('sidebar-footer') - feedback_link = footer.find_element_by_css_selector('a.feedback-link') - self.assertEqual('Give us Feedback!', feedback_link.text) + feedback_link = footer.find_element_by_css_selector('#feedback-btn') self.assertEqual('https://gitlab.gwdg.de/j.michal/grady/issues', feedback_link.get_attribute('href')) @@ -96,7 +95,6 @@ class FrontPageTestsReviewer(UntestedParent.FrontPageTestsTutorReviewer): self.assertTrue(all(link in links for link in ['/home', '/feedback', '/participant-overview', '/tutor-overview'])) footer = drawer.find_element_by_class_name('sidebar-footer') - feedback_link = footer.find_element_by_css_selector('a.feedback-link') - self.assertEqual('Give us Feedback!', feedback_link.text) + feedback_link = footer.find_element_by_css_selector('#feedback-btn') self.assertEqual('https://gitlab.gwdg.de/j.michal/grady/issues', feedback_link.get_attribute('href')) -- GitLab