flotilla/src/lib/components/Link.svelte

25 lines
420 B
Svelte
Raw Normal View History

2024-08-08 23:32:46 +00:00
<script lang="ts">
2024-10-15 19:02:11 +00:00
import {goto} from "$app/navigation"
2024-08-08 23:32:46 +00:00
export let href
export let external = false
2024-10-11 22:29:54 +00:00
const go = (e: Event) => {
if (!external) {
e.preventDefault()
goto(href)
}
}
2024-08-08 23:32:46 +00:00
</script>
<a
{href}
{...$$props}
on:click|stopPropagation={go}
2024-10-11 22:29:54 +00:00
class="cursor-pointer {$$props.class}"
2024-08-08 23:32:46 +00:00
rel={external ? "noopener noreferer" : ""}
target={external ? "_blank" : ""}>
<slot />
</a>