import type { FunctionComponent } from 'react'; import React, { useEffect } from 'react'; import { PageHeader, PageHeaderBack, PageHeaderRemain, PageHeaderTitle, } from '../BackHeader/PageHeader'; import { ContactDetails } from '../ContactDetails'; import Panel from '../Panel'; import type { ContactDetailsViewFunctionProps, ContactDetailsViewProps, } from './ContactDetailsView.interface'; import i18n from './i18n'; import styles from './styles.scss'; interface MessageHolderProps { children: string; } const MessageHolder: FunctionComponent = ({ children }) => { return
{children}
; }; export const ContactDetailsView: FunctionComponent< ContactDetailsViewFunctionProps & ContactDetailsViewProps > = ({ children, contact, currentLocale, isMultipleSiteEnabled, isCallButtonDisabled, disableLinks, showSpinner, formatNumber, canCallButtonShow, canTextButtonShow, onBackClick, onVisitPage, onLeavingPage, onClickMailTo, onClickToDial, onClickToSMS, sourceNodeRenderer, getPresence, }) => { useEffect(() => { onVisitPage?.(); return onLeavingPage; // eslint-disable-next-line react-hooks/exhaustive-deps }, []); let content = null; if (showSpinner) { content = ( {i18n.getString('loadingContact', currentLocale)} ); } else if (!contact) { content = ( {i18n.getString('contactNotFound', currentLocale)} ); } else { content = ( ); } return (
{i18n.getString('contactDetails', currentLocale)} {content} {children}
); };