mirror of
https://github.com/maciejpedzich/maciejpedzi.ch.git
synced 2025-02-06 05:38:35 +01:00
25 lines
495 B
Plaintext
25 lines
495 B
Plaintext
|
---
|
||
|
import type { HTMLAttributes } from 'astro/types';
|
||
|
|
||
|
type Props = HTMLAttributes<'a'>;
|
||
|
|
||
|
const { href, class: className, ...props } = Astro.props;
|
||
|
|
||
|
const { pathname } = Astro.url;
|
||
|
const isActive = href === pathname || href === pathname.replace(/\/$/, '');
|
||
|
---
|
||
|
|
||
|
<a href={href} class:list={[className, { active: isActive }]} {...props}>
|
||
|
<slot />
|
||
|
</a>
|
||
|
<style>
|
||
|
a {
|
||
|
display: inline-block;
|
||
|
text-decoration: none;
|
||
|
}
|
||
|
a.active {
|
||
|
font-weight: bolder;
|
||
|
text-decoration: underline;
|
||
|
}
|
||
|
</style>
|