Reactive-Resume/client/templates/shared/DataDisplay.tsx

33 lines
704 B
TypeScript

import clsx from 'clsx';
import isEmpty from 'lodash/isEmpty';
type Props = {
icon?: JSX.Element;
link?: string;
className?: string;
};
const DataDisplay: React.FC<React.PropsWithChildren<Props>> = ({ icon, link, className, children }) => {
if (isEmpty(children)) return null;
if (!isEmpty(link)) {
return (
<div className={clsx('inline-flex items-center gap-1', className)}>
{icon}
<a href={link} target="_blank" rel="noreferrer">
{children}
</a>
</div>
);
}
return (
<div className={clsx('inline-flex items-center gap-1', className)}>
{icon}
<span>{children}</span>
</div>
);
};
export default DataDisplay;