39 lines
723 B
Plaintext
39 lines
723 B
Plaintext
|
---
|
||
|
import { type NavLink, resolvePathname } from "@/utils/linking"
|
||
|
import LocaleLink from "@/components/links/LocaleLink.astro"
|
||
|
|
||
|
const pathname = resolvePathname(Astro.originPathname)
|
||
|
|
||
|
let paths: string[]
|
||
|
if (pathname === "/") {
|
||
|
paths = ["~"]
|
||
|
} else {
|
||
|
paths = ["~", ...pathname.split("/").slice(1)]
|
||
|
}
|
||
|
|
||
|
function getLink(path: string): NavLink {
|
||
|
switch (path) {
|
||
|
case "~":
|
||
|
return "/"
|
||
|
default:
|
||
|
return `/${path}` as NavLink
|
||
|
}
|
||
|
}
|
||
|
---
|
||
|
|
||
|
<div>
|
||
|
{
|
||
|
paths.map((path, index) => (
|
||
|
<span>
|
||
|
{index != paths.length - 1 ? (
|
||
|
<span>
|
||
|
<LocaleLink to={getLink(path)}>{path}</LocaleLink>/
|
||
|
</span>
|
||
|
) : (
|
||
|
path
|
||
|
)}
|
||
|
</span>
|
||
|
))
|
||
|
}
|
||
|
</div>
|