Files
reacord/packages/website/src/components/nav-link.astro
2023-08-16 19:32:28 -05:00

18 lines
381 B
Plaintext

---
export type Props = astroHTML.JSX.AnchorHTMLAttributes & {
href: string
}
const removeTrailingSlash = (str: string) => str.replace(/\/$/, "")
const linkUrl = new URL(Astro.props.href, Astro.url)
const isActive =
removeTrailingSlash(Astro.url.pathname) ===
removeTrailingSlash(linkUrl.pathname)
---
<a {...Astro.props} data-active={isActive || undefined}>
<slot />
</a>