diff --git a/src/components/ItaliaTheme/View/EventoView/EventoContatti.jsx b/src/components/ItaliaTheme/View/EventoView/EventoContatti.jsx index 1dc5953c1..b3eebdc42 100644 --- a/src/components/ItaliaTheme/View/EventoView/EventoContatti.jsx +++ b/src/components/ItaliaTheme/View/EventoView/EventoContatti.jsx @@ -1,15 +1,14 @@ import PropTypes from 'prop-types'; import { defineMessages, useIntl } from 'react-intl'; -import { Card, CardBody, CardTitle } from 'design-react-kit'; -import { Icon } from 'design-comuni-plone-theme/components/ItaliaTheme'; import { - RichText, richTextHasContent, RichTextSection, - ContactLink, OfficeCard, ContactsCard, } from 'design-comuni-plone-theme/components/ItaliaTheme/View'; +import EventoContattiOrganizzatoreEsterno from 'design-comuni-plone-theme/components/ItaliaTheme/View/EventoView/EventoContattiOrganizzatoreEsterno'; +import EventoContattiOrganizzatoreInterno from 'design-comuni-plone-theme/components/ItaliaTheme/View/EventoView/EventoContattiOrganizzatoreInterno'; +import EventoContattiSupportatoDa from 'design-comuni-plone-theme/components/ItaliaTheme/View/EventoView/EventoContattiSupportatoDa'; const messages = defineMessages({ supported_by: { @@ -48,79 +47,15 @@ const EventoContatti = ({ content }) => { {content.contact_info.map((contact) => ( ))} + {/* ---organizzato da esterno */} - {richTextHasContent(content?.organizzato_da_esterno) || - content?.telefono || - content?.email || - content?.fax ? ( -
- - + - - - {content?.telefono && ( -

- -

- )} - {content?.fax && ( -

- -

- )} - {content?.reperibilita?.replace(/(<([^>]+)>)/g, '').length > - 0 && ( -

- {content?.reperibilita?.replace(/(<([^>]+)>)/g, '')} -

- )} - {content?.email && ( -

- -

- )} -
-
-
- ) : null} {/* ---contatti interno */} - {content?.organizzato_da_interno?.length > 0 && ( -
-

{intl.formatMessage(messages.organizzato_da)}

- {content?.organizzato_da_interno?.map((item, index) => ( - - {richTextHasContent(content?.contatto_reperibilita) && ( -

- {content?.contatto_reperibilita?.replace(/(<([^>]+)>)/g, '')} -

- )} -
- ))} -
- )} + + {/* ---supportato da */} - {content?.supportato_da?.length > 0 && ( -
-

- {intl.formatMessage(messages.supported_by)} -

- {content?.supportato_da?.map((item) => ( - - ))} -
- )} + ) : null; }; diff --git a/src/components/ItaliaTheme/View/EventoView/EventoContattiOrganizzatoreEsterno.jsx b/src/components/ItaliaTheme/View/EventoView/EventoContattiOrganizzatoreEsterno.jsx new file mode 100644 index 000000000..32a9872e7 --- /dev/null +++ b/src/components/ItaliaTheme/View/EventoView/EventoContattiOrganizzatoreEsterno.jsx @@ -0,0 +1,55 @@ +import PropTypes from 'prop-types'; +import { Card, CardBody } from 'design-react-kit'; +import { Icon } from 'design-comuni-plone-theme/components/ItaliaTheme'; +import { + RichText, + richTextHasContent, + ContactLink, +} from 'design-comuni-plone-theme/components/ItaliaTheme/View'; + +const EventoContattiOrganizzatoreEsterno = ({ content }) => { + return richTextHasContent(content?.organizzato_da_esterno) || + content?.telefono || + content?.email || + content?.fax ? ( +
+ + + + + + {content?.telefono && ( +

+ +

+ )} + {content?.fax && ( +

+ +

+ )} + {content?.reperibilita?.replace(/(<([^>]+)>)/g, '').length > 0 && ( +

+ {content?.reperibilita?.replace(/(<([^>]+)>)/g, '')} +

+ )} + {content?.email && ( +

+ +

+ )} +
+
+
+ ) : null; +}; + +EventoContattiOrganizzatoreEsterno.propTypes = { + content: PropTypes.object.isRequired, +}; + +export default EventoContattiOrganizzatoreEsterno; diff --git a/src/components/ItaliaTheme/View/EventoView/EventoContattiOrganizzatoreInterno.jsx b/src/components/ItaliaTheme/View/EventoView/EventoContattiOrganizzatoreInterno.jsx new file mode 100644 index 000000000..22d9c4f4a --- /dev/null +++ b/src/components/ItaliaTheme/View/EventoView/EventoContattiOrganizzatoreInterno.jsx @@ -0,0 +1,43 @@ +import PropTypes from 'prop-types'; +import { defineMessages, useIntl } from 'react-intl'; +import { + richTextHasContent, + OfficeCard, +} from 'design-comuni-plone-theme/components/ItaliaTheme/View'; + +const messages = defineMessages({ + organizzato_da: { + id: 'organizzato_da', + defaultMessage: 'Organizzato da', + }, +}); + +const EventoContattiOrganizzatoreInterno = ({ content }) => { + const intl = useIntl(); + + return content?.organizzato_da_interno?.length > 0 ? ( +
+

{intl.formatMessage(messages.organizzato_da)}

+ {content?.organizzato_da_interno?.map((item, index) => ( + + {richTextHasContent(content?.contatto_reperibilita) && ( +

+ {content?.contatto_reperibilita?.replace(/(<([^>]+)>)/g, '')} +

+ )} +
+ ))} +
+ ) : null; +}; + +EventoContattiOrganizzatoreInterno.propTypes = { + content: PropTypes.object.isRequired, +}; + +export default EventoContattiOrganizzatoreInterno; diff --git a/src/components/ItaliaTheme/View/EventoView/EventoContattiSupportatoDa.jsx b/src/components/ItaliaTheme/View/EventoView/EventoContattiSupportatoDa.jsx new file mode 100644 index 000000000..4fa08cd9d --- /dev/null +++ b/src/components/ItaliaTheme/View/EventoView/EventoContattiSupportatoDa.jsx @@ -0,0 +1,31 @@ +import PropTypes from 'prop-types'; +import { defineMessages, useIntl } from 'react-intl'; +import { OfficeCard } from 'design-comuni-plone-theme/components/ItaliaTheme/View'; + +const messages = defineMessages({ + supported_by: { + id: 'supported_by', + defaultMessage: 'Con il supporto di', + }, +}); + +const EventoContattiSupportatoDa = ({ content }) => { + const intl = useIntl(); + + return content?.supportato_da?.length > 0 ? ( +
+

+ {intl.formatMessage(messages.supported_by)} +

+ {content?.supportato_da?.map((item) => ( + + ))} +
+ ) : null; +}; + +EventoContattiSupportatoDa.propTypes = { + content: PropTypes.object.isRequired, +}; + +export default EventoContattiSupportatoDa;