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