add top navigation with logo upload and about links.
Shared app header in the layout shell and upload main area flex fix for the new chrome.
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
<template>
|
||||
<header class="border-b border-border bg-card">
|
||||
<div class="mx-auto flex h-14 max-w-5xl items-center justify-between gap-4 px-4 sm:px-6">
|
||||
<RouterLink
|
||||
:to="{ name: ROUTE_NAMES.Upload }"
|
||||
class="shrink-0 transition-opacity hover:opacity-80"
|
||||
>
|
||||
<img
|
||||
src="/logo.png"
|
||||
alt="Private Image"
|
||||
class="h-8 w-auto sm:h-9"
|
||||
width="1024"
|
||||
height="228"
|
||||
decoding="async"
|
||||
/>
|
||||
</RouterLink>
|
||||
|
||||
<nav class="flex items-center gap-1 sm:gap-2">
|
||||
<RouterLink
|
||||
v-for="item in navItems"
|
||||
:key="item.name"
|
||||
:to="{ name: item.name }"
|
||||
class="rounded-md px-3 py-2 text-sm transition-colors"
|
||||
:class="
|
||||
route.name === item.name
|
||||
? 'bg-muted font-medium text-foreground'
|
||||
: 'text-muted-foreground hover:bg-muted/60 hover:text-foreground'
|
||||
"
|
||||
>
|
||||
{{ item.label }}
|
||||
</RouterLink>
|
||||
</nav>
|
||||
</div>
|
||||
</header>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { useRoute } from 'vue-router';
|
||||
import { ROUTE_NAMES } from '@/consts/routeNames';
|
||||
|
||||
const route = useRoute();
|
||||
|
||||
const navItems = [
|
||||
{ name: ROUTE_NAMES.Upload, label: 'Upload' },
|
||||
{ name: ROUTE_NAMES.About, label: 'About' }
|
||||
];
|
||||
</script>
|
||||
Reference in New Issue
Block a user