import {Link, LinkProps} from 'react-router-dom'; import clsx from 'clsx'; import React, {ReactNode} from 'react'; import {getBootstrapData} from '@common/core/bootstrap-data/use-backend-bootstrap-data'; export interface BaseMediaLinkProps extends Omit { link: string; className?: string; children?: ReactNode; color?: 'primary' | 'inherit'; displayContents?: boolean; } export function BaseMediaLink({ link, className, children, color = 'inherit', displayContents, ...linkProps }: BaseMediaLinkProps) { const baseClassName = displayContents ? 'contents' : clsx( color === 'primary' ? 'text-primary hover:text-primary-dark' : 'text-inherit', 'hover:underline outline-none focus-visible:underline overflow-x-hidden overflow-ellipsis transition-colors' ); return ( {children} ); } export function getBaseMediaLink( link: string, {absolute}: {absolute?: boolean} = {} ): string { if (absolute) { link = `${getBootstrapData().settings.base_url}${link}`; } return link; }