From 768b3ea14fa8f69192b39642701babcb94f80156 Mon Sep 17 00:00:00 2001 From: Henry Jameson Date: Tue, 30 Aug 2022 00:15:42 +0300 Subject: [PATCH] refactor navigation-entry and use them in other nav items --- src/App.scss | 9 +- src/components/nav_panel/nav_panel.vue | 190 +++++++----------- src/components/navigation/navigation_entry.js | 1 + .../navigation/navigation_entry.vue | 74 ++++--- 4 files changed, 121 insertions(+), 153 deletions(-) diff --git a/src/App.scss b/src/App.scss index 9c08c6b2..75b2667c 100644 --- a/src/App.scss +++ b/src/App.scss @@ -132,11 +132,10 @@ i[class*=icon-], .button-unstyled:hover, a:hover { - i[class*=icon-], - .svg-inline--fa, - .iconLetter { - color: $fallback--text; - color: var(--text, $fallback--text); + > i[class*=icon-], + > .svg-inline--fa, + > .iconLetter { + color: var(--text); } } diff --git a/src/components/nav_panel/nav_panel.vue b/src/components/nav_panel/nav_panel.vue index c88b019c..5ee2b701 100644 --- a/src/components/nav_panel/nav_panel.vue +++ b/src/components/nav_panel/nav_panel.vue @@ -22,95 +22,77 @@ v-if="!collapsed || forceExpand" class="panel-body" > -
  • - -
    -
      - -
    -
    -
  • -
  • - -
    - + + +
    +
    +
    -
  • + + + + + + + +
    + +
    -
  • - -
  • + :show-pin="false" + :item="{ label: editMode ? $t('nav.edit_finish') : $t('nav.edit_pinned'), icon: editMode ? 'check' : 'wrench' }" + @click="toggleEditMode" + /> @@ -161,55 +143,23 @@ border: none; } - .menu-item { - display: block; - box-sizing: border-box; - height: 3.5em; - line-height: 3.5em; - padding: 0 1em; - width: 100%; - color: $fallback--link; - color: var(--link, $fallback--link); - - &:hover { - background-color: $fallback--lightBg; - background-color: var(--selectedMenu, $fallback--lightBg); - color: $fallback--link; - color: var(--selectedMenuText, $fallback--link); - --faint: var(--selectedMenuFaintText, $fallback--faint); - --faintLink: var(--selectedMenuFaintLink, $fallback--faint); - --lightText: var(--selectedMenuLightText, $fallback--lightText); - --icon: var(--selectedMenuIcon, $fallback--icon); - } - - &.router-link-active { - font-weight: bolder; - background-color: $fallback--lightBg; - background-color: var(--selectedMenu, $fallback--lightBg); - color: $fallback--text; - color: var(--selectedMenuText, $fallback--text); - --faint: var(--selectedMenuFaintText, $fallback--faint); - --faintLink: var(--selectedMenuFaintLink, $fallback--faint); - --lightText: var(--selectedMenuLightText, $fallback--lightText); - --icon: var(--selectedMenuIcon, $fallback--icon); - - &:hover { - text-decoration: underline; - } - } - } - .timelines-chevron { margin-left: 0.8em; margin-right: 0.8em; font-size: 1.1em; } + .menu-item { + .timelines-chevron { + margin-right: 0; + } + } + .timelines-background { padding: 0 0 0 0.6em; background-color: $fallback--lightBg; background-color: var(--selectedMenu, $fallback--lightBg); - border-top: 1px solid; + border-bottom: 1px solid; border-color: $fallback--border; border-color: var(--border, $fallback--border); } @@ -223,9 +173,5 @@ // breaks without a unit --panel-heading-height-padding: 0em; } - - .fa-scale-110 { - margin-right: 0.8em; - } } diff --git a/src/components/navigation/navigation_entry.js b/src/components/navigation/navigation_entry.js index d8866c12..eb0a9cc4 100644 --- a/src/components/navigation/navigation_entry.js +++ b/src/components/navigation/navigation_entry.js @@ -22,6 +22,7 @@ const NavigationEntry = { }, computed: { routeTo () { + if (!this.item.route && !this.item.routeObject) return null if (this.item.routeObject) { return this.item.routeObject } diff --git a/src/components/navigation/navigation_entry.vue b/src/components/navigation/navigation_entry.vue index ecd4dc73..824c00a2 100644 --- a/src/components/navigation/navigation_entry.vue +++ b/src/components/navigation/navigation_entry.vue @@ -1,23 +1,37 @@ @@ -47,19 +55,27 @@ @import '../../_variables.scss'; .NavigationEntry { - .fa-scale-110 { + .label { + flex: 1; + } + + .menu-icon { margin-right: 0.8em; } - .badge { - position: absolute; - right: 0.6rem; - top: 1.25em; + .extra-button { + width: 3em; + text-align: center; + + &:last-child { + margin-right: -0.8em; + } } .menu-item { - display: block; + display: flex; box-sizing: border-box; + align-items: baseline; height: 3.5em; line-height: 3.5em; padding: 0 1em; @@ -75,7 +91,10 @@ --faint: var(--selectedMenuFaintText, $fallback--faint); --faintLink: var(--selectedMenuFaintLink, $fallback--faint); --lightText: var(--selectedMenuLightText, $fallback--lightText); - --icon: var(--selectedMenuIcon, $fallback--icon); + + .menu-icon { + --icon: var(--text, $fallback--icon); + } } &.router-link-active { @@ -87,7 +106,10 @@ --faint: var(--selectedMenuFaintText, $fallback--faint); --faintLink: var(--selectedMenuFaintLink, $fallback--faint); --lightText: var(--selectedMenuLightText, $fallback--lightText); - --icon: var(--selectedMenuIcon, $fallback--icon); + + .menu-icon { + --icon: var(--text, $fallback--icon); + } &:hover { text-decoration: underline;