You've already forked AstralRinth
* refactor: migrate to common eslint+prettier configs * fix: prettier frontend * feat: config changes * fix: lint issues * fix: lint * fix: type imports * fix: cyclical import issue * fix: lockfile * fix: missing dep * fix: switch to tabs * fix: continue switch to tabs * fix: rustfmt parity * fix: moderation lint issue * fix: lint issues * fix: ui intl * fix: lint issues * Revert "fix: rustfmt parity" This reverts commit cb99d2376c321d813d4b7fc7e2a213bb30a54711. * feat: revert last rs
55 lines
979 B
Vue
55 lines
979 B
Vue
<template>
|
|
<nav class="breadcrumbs">
|
|
<template v-for="(link, index) in linkStack" :key="index">
|
|
<NuxtLink
|
|
:to="link.href"
|
|
class="breadcrumb goto-link"
|
|
:class="{ trim: link.allowTrimming ? link.allowTrimming : false }"
|
|
>
|
|
{{ link.label }}
|
|
</NuxtLink>
|
|
<ChevronRightIcon />
|
|
</template>
|
|
<span class="breadcrumb">{{ currentTitle }}</span>
|
|
</nav>
|
|
</template>
|
|
|
|
<script setup>
|
|
import { ChevronRightIcon } from '@modrinth/assets'
|
|
|
|
defineProps({
|
|
linkStack: {
|
|
type: Array,
|
|
default: () => [],
|
|
},
|
|
currentTitle: {
|
|
type: String,
|
|
required: true,
|
|
},
|
|
})
|
|
</script>
|
|
|
|
<style lang="scss" scoped>
|
|
.breadcrumbs {
|
|
//padding: var(--spacing-card-md) var(--spacing-card-lg);
|
|
display: flex;
|
|
margin-bottom: var(--spacing-card-bg);
|
|
align-items: center;
|
|
flex-wrap: wrap;
|
|
|
|
svg {
|
|
width: 1.25rem;
|
|
height: 1.25rem;
|
|
}
|
|
|
|
a.breadcrumb {
|
|
padding-block: var(--spacing-card-xs);
|
|
|
|
&.trim {
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
}
|
|
}
|
|
}
|
|
</style>
|