Moved pure UI object fields to ui folder (#2861)

* Moved pure UI object fields to ui folder

* Moved pure UI object fields to ui folder 2
This commit is contained in:
Lucas Bordeau
2023-12-07 16:27:39 +01:00
committed by GitHub
parent 4fecf6d8b9
commit 145b432dc6
40 changed files with 35 additions and 34 deletions

View File

@ -0,0 +1,31 @@
import { MouseEvent } from 'react';
import { ContactLink } from '@/ui/navigation/link/components/ContactLink';
import { EllipsisDisplay } from './EllipsisDisplay';
const validateEmail = (email: string) => {
const emailPattern = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
return emailPattern.test(email.trim());
};
type EmailDisplayProps = {
value: string | null;
};
export const EmailDisplay = ({ value }: EmailDisplayProps) => (
<EllipsisDisplay>
{value && validateEmail(value) ? (
<ContactLink
href={`mailto:${value}`}
onClick={(event: MouseEvent<HTMLElement>) => {
event.stopPropagation();
}}
>
{value}
</ContactLink>
) : (
<ContactLink href="#">{value}</ContactLink>
)}
</EllipsisDisplay>
);