<script setup lang="ts">
import { useRoute, useRouter, type RouteRecordNormalized, type RouteLocationRaw } from 'vue-router'

const route = useRoute()
const router = useRouter()

const handleLink = (item: RouteRecordNormalized) => {
  const { redirect, name, path } = item
  if (redirect) {
    router.push(redirect as RouteLocationRaw)
  } else {
    if (name) {
      router.push({ name })
    } else {
      router.push({ path })
    }
  }
}
</script>

<template>
  <el-breadcrumb separator="/">
    <el-breadcrumb-item
      v-for="(item, index) in route.matched"
      :key="index"
      :to="{ path: item.path }"
    >
      <a @click.prevent="handleLink(item)">
        {{ item.meta.title }}
      </a>
    </el-breadcrumb-item>
  </el-breadcrumb>
</template>

<style lang="scss" scoped></style>
