mirror of
https://github.com/ajurna/cbwebreader.git
synced 2025-12-06 06:17:17 +00:00
* adding typing and flake8 * removing coreui. ComicCard.vue finished * removing coreui. ConfirmButton.vue finished * removing coreui. more pages finished. * removing coreui. all pages finished * removing coreui. all pages finished * version bump and update python deps. * Update frontend/src/components/ComicPaginate.vue Co-authored-by: codacy-production[bot] <61871480+codacy-production[bot]@users.noreply.github.com> * Update frontend/src/components/ComicPaginate.vue Co-authored-by: codacy-production[bot] <61871480+codacy-production[bot]@users.noreply.github.com> * Update frontend/src/components/ComicPaginate.vue Co-authored-by: codacy-production[bot] <61871480+codacy-production[bot]@users.noreply.github.com> * Update frontend/src/components/ComicPaginate.vue Co-authored-by: codacy-production[bot] <61871480+codacy-production[bot]@users.noreply.github.com> * Update frontend/src/components/ComicPaginate.vue Co-authored-by: codacy-production[bot] <61871480+codacy-production[bot]@users.noreply.github.com> * Update frontend/src/components/InitialSetup.vue Co-authored-by: codacy-production[bot] <61871480+codacy-production[bot]@users.noreply.github.com> * Update frontend/src/components/TheAccountForm.vue Co-authored-by: codacy-production[bot] <61871480+codacy-production[bot]@users.noreply.github.com> * Update frontend/src/components/TheAccountForm.vue Co-authored-by: codacy-production[bot] <61871480+codacy-production[bot]@users.noreply.github.com> * Update frontend/src/components/ComicPaginate.vue Co-authored-by: codacy-production[bot] <61871480+codacy-production[bot]@users.noreply.github.com> * Update frontend/src/components/ConfirmButton.vue Co-authored-by: codacy-production[bot] <61871480+codacy-production[bot]@users.noreply.github.com> * Update frontend/vue.config.js Co-authored-by: codacy-production[bot] <61871480+codacy-production[bot]@users.noreply.github.com> * Update frontend/src/components/ComicPaginate.vue Co-authored-by: codacy-production[bot] <61871480+codacy-production[bot]@users.noreply.github.com> * Update frontend/src/components/ComicPaginate.vue Co-authored-by: codacy-production[bot] <61871480+codacy-production[bot]@users.noreply.github.com> * Update frontend/src/components/TheNavbar.vue Co-authored-by: codacy-production[bot] <61871480+codacy-production[bot]@users.noreply.github.com> * Update TheNavbar.vue Co-authored-by: Peter Dwyer <peter.dwyer@clanwilliamhealth.com> Co-authored-by: codacy-production[bot] <61871480+codacy-production[bot]@users.noreply.github.com>
76 lines
1.8 KiB
Vue
76 lines
1.8 KiB
Vue
<template>
|
|
<nav aria-label="breadcrumb" class="px-5">
|
|
<ol class="breadcrumb " >
|
|
<template v-for="(item, index) in crumbs" :key="item.id">
|
|
<template v-if="index !== crumbs.length - 1">
|
|
<li class="breadcrumb-item" v-if="item.selector">
|
|
<router-link :to="{'name': 'browse', params: { selector: item.selector }}">{{ item.name }}</router-link>
|
|
</li>
|
|
<li class="breadcrumb-item" v-else-if="item.route">
|
|
<router-link :to="item.route">{{ item.name }}</router-link>
|
|
</li>
|
|
<li class="breadcrumb-item" v-else>
|
|
<router-link :to="{'name': 'browse'}">{{ item.name }}</router-link>
|
|
</li>
|
|
</template>
|
|
<li class="breadcrumb-item active" aria-current="page" v-else>{{ item.name }}</li>
|
|
</template>
|
|
</ol>
|
|
</nav>
|
|
|
|
</template>
|
|
|
|
<script>
|
|
import api from "@/api";
|
|
export default {
|
|
name: "TheBreadcrumbs",
|
|
components: { },
|
|
data () {
|
|
return {
|
|
crumbs: []
|
|
}},
|
|
props: {
|
|
selector: String,
|
|
manual_crumbs: Object
|
|
},
|
|
methods: {
|
|
updateBreadcrumbs () {
|
|
if (this.selector) {
|
|
let breadcrumb_url = '/api/browse/' + this.selector + '/breadcrumbs/'
|
|
api.get(breadcrumb_url)
|
|
.then(response => {
|
|
this.crumbs = response.data
|
|
})
|
|
.catch((error) => {
|
|
console.log(error)
|
|
})
|
|
}else if (this.manual_crumbs){
|
|
this.crumbs = this.manual_crumbs
|
|
} else {
|
|
this.crumbs = [{id: 0, selector: '', name: 'Home'}]
|
|
}
|
|
},
|
|
},
|
|
watch: {
|
|
selector() {
|
|
this.updateBreadcrumbs()
|
|
},
|
|
manual_crumbs () {
|
|
this.updateBreadcrumbs()
|
|
}
|
|
},
|
|
mounted () {
|
|
this.updateBreadcrumbs()
|
|
},
|
|
}
|
|
</script>
|
|
|
|
<style scoped>
|
|
.breadcrumb-item a {
|
|
text-decoration: none;
|
|
}
|
|
nav {
|
|
background: lightgrey;
|
|
}
|
|
</style>
|