[Closes #10] Reactive breadcrumbs
This commit is contained in:
parent
6d3cdb560d
commit
a1708317ec
19 changed files with 200 additions and 33 deletions
35
app/layouts/default/Breadcrumb.vue
Normal file
35
app/layouts/default/Breadcrumb.vue
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
<script setup lang="ts">
|
||||
import {
|
||||
Breadcrumb,
|
||||
BreadcrumbItem,
|
||||
BreadcrumbLink,
|
||||
BreadcrumbList,
|
||||
BreadcrumbPage,
|
||||
BreadcrumbSeparator,
|
||||
} from "~/components/ui/breadcrumb";
|
||||
|
||||
import { useBreadcrumbStore } from "~/stores/breadcrumbs";
|
||||
const breadcrumbStore = useBreadcrumbStore();
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<ClientOnly>
|
||||
<Breadcrumb>
|
||||
<BreadcrumbList>
|
||||
<template v-for="i in breadcrumbStore.items.length - 1" :key="i">
|
||||
<BreadcrumbItem class="hidden md:block">
|
||||
<BreadcrumbLink :href="breadcrumbStore.items[i - 1]?.to || ''">
|
||||
{{ breadcrumbStore.items[i - 1]?.label }}
|
||||
</BreadcrumbLink>
|
||||
</BreadcrumbItem>
|
||||
<BreadcrumbSeparator class="hidden md:block" />
|
||||
</template>
|
||||
<BreadcrumbItem>
|
||||
<BreadcrumbPage>
|
||||
{{ breadcrumbStore.items[breadcrumbStore.items.length - 1]?.label }}
|
||||
</BreadcrumbPage>
|
||||
</BreadcrumbItem>
|
||||
</BreadcrumbList>
|
||||
</Breadcrumb>
|
||||
</ClientOnly>
|
||||
</template>
|
||||
|
|
@ -29,11 +29,11 @@ const userInititials = computed(() => {
|
|||
});
|
||||
|
||||
const handleLogout = () => {
|
||||
navigateTo("/member/auth/logout");
|
||||
navigateTo("/auth/logout");
|
||||
};
|
||||
|
||||
const handleLogin = () => {
|
||||
navigateTo("/member/auth/login");
|
||||
navigateTo("/auth/login");
|
||||
};
|
||||
</script>
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue