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;