schlechtenburg/packages/example-site/components/PageBreadcrumb.tsx

28 lines
830 B
TypeScript

import { ComputedRef, defineComponent } from 'vue';
import { NuxtLink } from '#components';
import { IPage } from '~~/composables/pages';
import './PageBreadcrumb.scss';
export default defineComponent({
async setup() {
const { currentPage } = useCurrentPage();
const { pages } = usePages();
const parents:ComputedRef<IPage[]> = computed(() => currentPage.value ? getPageParents(currentPage.value, pages.value, [currentPage.value]) : []);
return () => {
return (<div class="ex-page-breadcrumb">
{...parents.value.map((parent) => (
<div class="ex-page-breadcrumb--crumb">
/
<NuxtLink to={getPagePath(parent, pages.value)}>
{parent?.attributes?.slug}
</NuxtLink>
</div>
))}
</div>);
};
},
});