clean up nav/logo
This commit is contained in:
parent
4eb88119a3
commit
44bb793609
@ -11,6 +11,7 @@ import {
|
|||||||
Notifications,
|
Notifications,
|
||||||
XIcon,
|
XIcon,
|
||||||
Card,
|
Card,
|
||||||
|
TextLogo,
|
||||||
} from 'omorphia'
|
} from 'omorphia'
|
||||||
import { useLoading, useTheming } from '@/store/state'
|
import { useLoading, useTheming } from '@/store/state'
|
||||||
import AccountsCard from './components/ui/AccountsCard.vue'
|
import AccountsCard from './components/ui/AccountsCard.vue'
|
||||||
@ -343,7 +344,7 @@ command_listener(async (e) => {
|
|||||||
<!-- Top Bar -->
|
<!-- Top Bar -->
|
||||||
<div data-tauri-drag-region class="appbar">
|
<div data-tauri-drag-region class="appbar">
|
||||||
<section class="navigation-controls">
|
<section class="navigation-controls">
|
||||||
Logo
|
<TextLogo class="logo" :animate="false" />
|
||||||
<Breadcrumbs data-tauri-drag-region />
|
<Breadcrumbs data-tauri-drag-region />
|
||||||
</section>
|
</section>
|
||||||
<section class="mod-stats">
|
<section class="mod-stats">
|
||||||
@ -398,9 +399,19 @@ command_listener(async (e) => {
|
|||||||
transition: all ease-in-out 0.1s;
|
transition: all ease-in-out 0.1s;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.logo {
|
||||||
|
height: calc(var(--appbar-height) - 3rem);
|
||||||
|
width: auto;
|
||||||
|
min-height: 100%;
|
||||||
|
margin-right: var(--gap-md);
|
||||||
|
color: var(--color-contrast);
|
||||||
|
}
|
||||||
|
|
||||||
.navigation-controls {
|
.navigation-controls {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
|
|
||||||
|
align-items: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.appbar-row {
|
.appbar-row {
|
||||||
@ -442,7 +453,7 @@ command_listener(async (e) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.container {
|
.container {
|
||||||
--appbar-height: 3.5rem;
|
--appbar-height: 4.5rem;
|
||||||
--sidebar-width: 4.5rem;
|
--sidebar-width: 4.5rem;
|
||||||
|
|
||||||
height: 100vh;
|
height: 100vh;
|
||||||
@ -463,7 +474,7 @@ command_listener(async (e) => {
|
|||||||
background: var(--color-raised-bg);
|
background: var(--color-raised-bg);
|
||||||
text-align: center;
|
text-align: center;
|
||||||
padding: var(--gap-md);
|
padding: var(--gap-md);
|
||||||
height: 3.25rem;
|
height: var(--appbar-height);
|
||||||
gap: var(--gap-sm);
|
gap: var(--gap-sm);
|
||||||
//no select
|
//no select
|
||||||
user-select: none;
|
user-select: none;
|
||||||
@ -491,7 +502,7 @@ command_listener(async (e) => {
|
|||||||
.appbar-failure {
|
.appbar-failure {
|
||||||
display: flex; /* Change to flex to align items horizontally */
|
display: flex; /* Change to flex to align items horizontally */
|
||||||
justify-content: flex-end; /* Align items to the right */
|
justify-content: flex-end; /* Align items to the right */
|
||||||
height: 3.25rem;
|
height: var(--appbar-height);
|
||||||
//no select
|
//no select
|
||||||
user-select: none;
|
user-select: none;
|
||||||
-webkit-user-select: none;
|
-webkit-user-select: none;
|
||||||
|
|||||||
@ -1,12 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="breadcrumbs">
|
<div class="breadcrumbs">
|
||||||
<Button class="breadcrumbs__back transparent" icon-only @click="$router.back()">
|
|
||||||
<ChevronLeftIcon />
|
|
||||||
</Button>
|
|
||||||
<Button class="breadcrumbs__forward transparent" icon-only @click="$router.forward()">
|
|
||||||
<ChevronRightIcon />
|
|
||||||
</Button>
|
|
||||||
{{ breadcrumbData.resetToNames(breadcrumbs) }}
|
|
||||||
<div v-for="breadcrumb in breadcrumbs" :key="breadcrumb.name" class="breadcrumbs__item">
|
<div v-for="breadcrumb in breadcrumbs" :key="breadcrumb.name" class="breadcrumbs__item">
|
||||||
<router-link
|
<router-link
|
||||||
v-if="breadcrumb.link"
|
v-if="breadcrumb.link"
|
||||||
@ -14,24 +7,19 @@
|
|||||||
path: breadcrumb.link.replace('{id}', encodeURIComponent($route.params.id)),
|
path: breadcrumb.link.replace('{id}', encodeURIComponent($route.params.id)),
|
||||||
query: breadcrumb.query,
|
query: breadcrumb.query,
|
||||||
}"
|
}"
|
||||||
>{{
|
>
|
||||||
breadcrumb.name.charAt(0) === '?'
|
{{ breadcrumbName(breadcrumb.name) }}
|
||||||
? breadcrumbData.getName(breadcrumb.name.slice(1))
|
|
||||||
: breadcrumb.name
|
|
||||||
}}
|
|
||||||
</router-link>
|
</router-link>
|
||||||
<span v-else class="selected">{{
|
<span v-else class="selected">
|
||||||
breadcrumb.name.charAt(0) === '?'
|
{{ breadcrumbName(breadcrumb.name) }}
|
||||||
? breadcrumbData.getName(breadcrumb.name.slice(1))
|
</span>
|
||||||
: breadcrumb.name
|
|
||||||
}}</span>
|
|
||||||
<ChevronRightIcon v-if="breadcrumb.link" class="chevron" />
|
<ChevronRightIcon v-if="breadcrumb.link" class="chevron" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { ChevronRightIcon, Button, ChevronLeftIcon } from 'omorphia'
|
import { ChevronRightIcon } from 'omorphia'
|
||||||
import { useBreadcrumbs } from '@/store/breadcrumbs'
|
import { useBreadcrumbs } from '@/store/breadcrumbs'
|
||||||
import { useRoute } from 'vue-router'
|
import { useRoute } from 'vue-router'
|
||||||
import { computed } from 'vue'
|
import { computed } from 'vue'
|
||||||
@ -39,6 +27,11 @@ import { computed } from 'vue'
|
|||||||
const route = useRoute()
|
const route = useRoute()
|
||||||
|
|
||||||
const breadcrumbData = useBreadcrumbs()
|
const breadcrumbData = useBreadcrumbs()
|
||||||
|
|
||||||
|
breadcrumbData.$subscribe(() => {
|
||||||
|
breadcrumbData?.resetToNames(breadcrumbs.value)
|
||||||
|
})
|
||||||
|
|
||||||
const breadcrumbs = computed(() => {
|
const breadcrumbs = computed(() => {
|
||||||
const additionalContext =
|
const additionalContext =
|
||||||
route.meta.useContext === true
|
route.meta.useContext === true
|
||||||
@ -48,6 +41,13 @@ const breadcrumbs = computed(() => {
|
|||||||
: null
|
: null
|
||||||
return additionalContext ? [additionalContext, ...route.meta.breadcrumb] : route.meta.breadcrumb
|
return additionalContext ? [additionalContext, ...route.meta.breadcrumb] : route.meta.breadcrumb
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const breadcrumbName = (bcn) => {
|
||||||
|
if (bcn.charAt(0) === '?') {
|
||||||
|
return breadcrumbData.getName(bcn.slice(1))
|
||||||
|
}
|
||||||
|
return bcn
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
@ -63,7 +63,7 @@ const breadcrumbs = computed(() => {
|
|||||||
|
|
||||||
.chevron,
|
.chevron,
|
||||||
a {
|
a {
|
||||||
margin: auto 0;
|
margin: auto 0.25rem;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user