clean up nav/logo

This commit is contained in:
Carter 2024-01-22 12:18:41 -08:00
parent 4eb88119a3
commit 44bb793609
No known key found for this signature in database
2 changed files with 34 additions and 23 deletions

View File

@ -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;

View File

@ -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;
} }
} }