aboutsummaryrefslogtreecommitdiff
path: root/src/components/navigation/navigation_pins.vue
diff options
context:
space:
mode:
authorHenry Jameson <me@hjkos.com>2022-08-11 21:56:30 +0300
committerHenry Jameson <me@hjkos.com>2022-08-11 21:56:30 +0300
commit3a16a59f37b9b637bb4cbc1c3575810a65515cbc (patch)
tree291021eaf0c3630c7b29b97481ae3fe5f24a0547 /src/components/navigation/navigation_pins.vue
parent9e453372b37dde652c054c13febb97bb40bc1814 (diff)
navigation refactored, used in mobile nav as well
Diffstat (limited to 'src/components/navigation/navigation_pins.vue')
-rw-r--r--src/components/navigation/navigation_pins.vue64
1 files changed, 64 insertions, 0 deletions
diff --git a/src/components/navigation/navigation_pins.vue b/src/components/navigation/navigation_pins.vue
new file mode 100644
index 00000000..754aad7a
--- /dev/null
+++ b/src/components/navigation/navigation_pins.vue
@@ -0,0 +1,64 @@
+<template>
+ <span class="NavigationPins">
+ <router-link
+ v-for="item in pinnedList" :key="item.name" class="pinned-item"
+ :to="item.routeObject || { name: (currentUser || item.anon) ? item.route : item.anonRoute, params: { username: currentUser.screen_name } }"
+ >
+ <FAIcon
+ v-if="item.icon"
+ fixed-width
+ :icon="item.icon"
+ />
+ <span
+ v-if="item.iconLetter"
+ class="iconLetter fa-scale-110 fa-old-padding"
+ >{{ item.iconLetter }}</span>
+ <div
+ v-if="item.badgeGetter && getters[item.badgeGetter]"
+ class="alert-dot"
+ />
+ </router-link>
+ </span>
+</template>
+
+<script src="./navigation_pins.js"></script>
+
+<style lang="scss">
+@import '../../_variables.scss';
+.NavigationPins {
+ display: flex;
+ overflow: hidden;
+
+ .alert-dot {
+ border-radius: 100%;
+ height: 0.5em;
+ width: 0.5em;
+ position: absolute;
+ right: calc(50% - 0.25em);
+ top: calc(50% - 0.25em);
+ margin-left: 6px;
+ margin-top: -6px;
+ background-color: $fallback--cRed;
+ background-color: var(--badgeNotification, $fallback--cRed);
+ }
+
+ .pinned-item {
+ position: relative;
+ flex: 0 0 3em;
+ min-width: 2em;
+
+ & .svg-inline--fa,
+ & .iconLetter {
+ margin: 0;
+ }
+
+ &.router-link-active {
+ & .svg-inline--fa,
+ & .iconLetter {
+ color: $fallback--text;
+ color: var(--selectedMenuText, $fallback--text);
+ }
+ }
+ }
+}
+</style>