Something went wrong. Try again.
Monorepo for Tangled forked from tangled.org/core
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233<script lang="ts"> import type { Snippet } from "svelte"; import type { HTMLAnchorAttributes } from "svelte/elements"; import { resolve } from "$app/paths"; import type { SiteLink } from "#lib/components/landing/shell/links.ts";
/** A landing link: internal paths through `resolve`, external ones in a new tab. */ interface Props extends Omit<HTMLAnchorAttributes, "href" | "children"> { link: SiteLink; children?: Snippet; }
let { link, children, ...rest }: Props = $props();
const internal = $derived(link.href.startsWith("/"));</script>
{#if internal} <a {...rest} href={resolve(link.href as "/")} data-sveltekit-reload={link.reload || undefined} >{#if children}{@render children()}{:else}{link.label}{/if}</a >{:else} <!-- eslint-disable svelte/no-navigation-without-resolve -- off-site and mailto links --> <a {...rest} href={link.href} target={link.external ? "_blank" : undefined} rel={link.external ? "noopener noreferrer" : undefined} >{#if children}{@render children()}{:else}{link.label}{/if}</a > <!-- eslint-enable svelte/no-navigation-without-resolve -->{/if}