27 lines
652 B
TypeScript
27 lines
652 B
TypeScript
import Link from 'next/link';
|
|
import styles from './Breadcrumb.module.scss';
|
|
|
|
interface BreadcrumbItem {
|
|
label: string;
|
|
href?: string;
|
|
}
|
|
|
|
export function Breadcrumb({ items }: { items: BreadcrumbItem[] }) {
|
|
return (
|
|
<nav className={styles.breadcrumb}>
|
|
{items.map((item, i) => (
|
|
<span key={i}>
|
|
{i > 0 && <span className={styles.separator}>/</span>}
|
|
{item.href ? (
|
|
<Link href={item.href} className={styles.link}>
|
|
{item.label}
|
|
</Link>
|
|
) : (
|
|
<span className={styles.current}>{item.label}</span>
|
|
)}
|
|
</span>
|
|
))}
|
|
</nav>
|
|
);
|
|
}
|