web/components/Link.tsx
2025-11-01 23:46:32 -03:00

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>
);
}