refactor: 将各个页面的面包屑导航提取为单独组件AppBreadcrumb

This commit is contained in:
2025-10-28 16:16:57 +08:00
parent dc90e1045b
commit c6e0ea2a47
11 changed files with 116 additions and 157 deletions

View File

@ -2,18 +2,7 @@
<div class="page-container">
<div class="page-header">
<h1 class="page-title">{{ $t('our-products') }}</h1>
<el-breadcrumb class="breadcrumb">
<el-breadcrumb-item class="text-md opacity-50">
<NuxtLink :to="$localePath('/')">{{
$t('navigation.home')
}}</NuxtLink>
</el-breadcrumb-item>
<el-breadcrumb-item class="text-md opacity-50">
<NuxtLink :to="$localePath('/products')">{{
$t('navigation.products')
}}</NuxtLink>
</el-breadcrumb-item>
</el-breadcrumb>
<app-breadcrumb class="breadcrumb" :items="breadcrumbItems" />
</div>
<div v-if="!pending" class="page-content">
<div class="products-container">
@ -45,12 +34,18 @@
</template>
<script setup lang="ts">
const localePath = useLocalePath();
const { getImageUrl } = useDirectusImage();
const { data, pending, error } = useProductList();
const activeNames = ref<string[]>([]);
const breadcrumbItems = [
{ label: $t('navigation.home'), to: localePath('/') },
{ label: $t('navigation.products') },
];
const productsRaw = computed(() => data.value ?? []);
const products = computed(() =>
productsRaw.value.map((item) => toProductListView(item))