Files
bs-manager/src/renderer/components/shared/bsm-link.component.tsx
T
2023-07-01 03:01:38 +02:00

25 lines
718 B
TypeScript

import { LinkOpenerService } from "renderer/services/link-opener.service"
type Props = {
className?: string,
href?: string,
internal?: boolean
children?: React.ReactNode,
style?: React.CSSProperties
}
export function BsmLink({className, href, children, style, internal}: Props) {
const linkOpener = LinkOpenerService.getInstance();
const openLink = () => {
if(!href){ return; }
linkOpener.open(href, internal);
}
return (
// eslint-disable-next-line jsx-a11y/anchor-is-valid -- Will be reworked later
<a className={`${className} ${href && "cursor-pointer"}`} onClick={e => {e.stopPropagation(); openLink()}} style={style}>{children}</a>
)
}