24 lines
515 B
TypeScript
24 lines
515 B
TypeScript
/**
|
|
* Copyright (c) 2025 xwra
|
|
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
*/
|
|
|
|
import { HTMLAttributes, JSX } from "preact";
|
|
import { LinkIcon } from "./Icon.tsx";
|
|
|
|
interface LinkProps extends HTMLAttributes<HTMLAnchorElement> {
|
|
href: string;
|
|
children: JSX.Element | JSX.Element[] | string;
|
|
noIcon?: boolean;
|
|
}
|
|
|
|
export default function Link(
|
|
{ children, noIcon = false, ...props }: LinkProps,
|
|
) {
|
|
return (
|
|
<a {...props}>
|
|
{children}
|
|
{!noIcon && <LinkIcon size={16} class="link-icon" />}
|
|
</a>
|
|
);
|
|
}
|