1
0
Fork 0
mirror of https://github.com/em-squared/5e-drs.git synced 2025-10-29 12:44:20 +00:00
5e-drs/docs/.vuepress/theme/components/Breadcrumb.vue

68 lines
2.1 KiB
Vue
Raw Normal View History

2020-04-05 14:38:20 +02:00
<template>
2020-04-11 18:01:59 +02:00
<div>
<v-breadcrumbs v-if="$route.path != '/'" :items="bread">
<template v-slot:item="{ item }">
<v-breadcrumbs-item :to="item.to" :exact="true" :disabled="item.disabled">
<template v-if="item.to == '/'">
<img src="/dragon_rouge.svg" />
</template>
<template v-else>
{{ item.text }}
</template>
</v-breadcrumbs-item>
</template>
</v-breadcrumbs>
<v-row v-else justify="center"><img class="d-block home-logo" src="/dragon_rouge.svg" /></v-row>
</div>
2020-04-05 14:38:20 +02:00
</template>
<script>
export default {
name: "Breadcrumb",
computed: {
bread() {
const parts = this.$page.path.split("/");
if (!parts[parts.length - 1].length) { parts.pop() }
let link = ""
const crumbs = []
for (let i = 0; i < parts.length; i++) {
let disabled = false
if (i == parts.length - 1) {
disabled = true
}
link += parts[i]
const page = this.$site.pages.find((el) => el.path === link || el.path === link + "/")
link += "/"
if (page != null) {
if (page.path == '/grimoire/') {
crumbs.push({to: page.path, disabled: disabled, text: 'Grimoire'})
} else if (page.path == '/classes/') {
crumbs.push({to: page.path, disabled: disabled, text: 'Classes'})
2020-04-15 16:27:16 +02:00
} else if (page.path == '/bestiaire/') {
crumbs.push({to: page.path, disabled: disabled, text: 'Bestiaire'})
} else if (page.path == '/liste-objets-magiques/') {
crumbs.push({to: page.path, disabled: disabled, text: 'Liste des objets magiques'})
2020-04-05 14:38:20 +02:00
} else {
crumbs.push({to: page.path, disabled: disabled, text: page.frontmatter.breadcrumb || page.title})
}
}
}
return crumbs;
},
},
};
</script>
<style lang="scss">
@import '../styles/colors';
.v-breadcrumbs {
// background-color: lighten($color-gray, 50);
}
.theme--light.v-breadcrumbs .v-breadcrumbs__item--disabled {
// color: rgba(0,0,0,.87);
}
</style>