diff --git a/locales/de/LC_MESSAGES/volto.po b/locales/de/LC_MESSAGES/volto.po index 7b273c8d8..c98743d97 100644 --- a/locales/de/LC_MESSAGES/volto.po +++ b/locales/de/LC_MESSAGES/volto.po @@ -2750,7 +2750,6 @@ msgid "patrocinato_da" msgstr "" #: components/ItaliaTheme/View/PuntoDiContattoView/PuntoDiContattoView -#: components/ItaliaTheme/View/VenueView/VenueContacts #: helpers/contentHelper # defaultMessage: PEC msgid "pec" @@ -2912,46 +2911,6 @@ msgstr "" msgid "riferimenti_normativi" msgstr "" -#: components/ItaliaTheme/View/VenueView/VenueContacts -# defaultMessage: Fax -msgid "riferimento_fax_luogo" -msgstr "" - -#: components/ItaliaTheme/View/VenueView/VenueContacts -# defaultMessage: Fax -msgid "riferimento_fax_struttura" -msgstr "" - -#: components/ItaliaTheme/View/VenueView/VenueContacts -# defaultMessage: E-mail -msgid "riferimento_mail_luogo" -msgstr "" - -#: components/ItaliaTheme/View/VenueView/VenueContacts -# defaultMessage: E-mail -msgid "riferimento_mail_struttura" -msgstr "" - -#: components/ItaliaTheme/View/VenueView/VenueContacts -# defaultMessage: PEC -msgid "riferimento_pec_luogo" -msgstr "" - -#: components/ItaliaTheme/View/VenueView/VenueContacts -# defaultMessage: Telefono -msgid "riferimento_telefonico_luogo" -msgstr "" - -#: components/ItaliaTheme/View/VenueView/VenueContacts -# defaultMessage: Telefono -msgid "riferimento_telefonico_struttura" -msgstr "" - -#: components/ItaliaTheme/View/VenueView/VenueContacts -# defaultMessage: Web -msgid "riferimento_web" -msgstr "" - #: components/ItaliaTheme/View/Commons/Metadata # defaultMessage: Diritti msgid "rights" diff --git a/locales/en/LC_MESSAGES/volto.po b/locales/en/LC_MESSAGES/volto.po index 7db743d29..9edfa7b04 100644 --- a/locales/en/LC_MESSAGES/volto.po +++ b/locales/en/LC_MESSAGES/volto.po @@ -2735,7 +2735,6 @@ msgid "patrocinato_da" msgstr "Sponsored by" #: components/ItaliaTheme/View/PuntoDiContattoView/PuntoDiContattoView -#: components/ItaliaTheme/View/VenueView/VenueContacts #: helpers/contentHelper # defaultMessage: PEC msgid "pec" @@ -2897,46 +2896,6 @@ msgstr "" msgid "riferimenti_normativi" msgstr "Normative requirements" -#: components/ItaliaTheme/View/VenueView/VenueContacts -# defaultMessage: Fax -msgid "riferimento_fax_luogo" -msgstr "Fax" - -#: components/ItaliaTheme/View/VenueView/VenueContacts -# defaultMessage: Fax -msgid "riferimento_fax_struttura" -msgstr "Fax" - -#: components/ItaliaTheme/View/VenueView/VenueContacts -# defaultMessage: E-mail -msgid "riferimento_mail_luogo" -msgstr "E-mail" - -#: components/ItaliaTheme/View/VenueView/VenueContacts -# defaultMessage: E-mail -msgid "riferimento_mail_struttura" -msgstr "E-mail" - -#: components/ItaliaTheme/View/VenueView/VenueContacts -# defaultMessage: PEC -msgid "riferimento_pec_luogo" -msgstr "PEC" - -#: components/ItaliaTheme/View/VenueView/VenueContacts -# defaultMessage: Telefono -msgid "riferimento_telefonico_luogo" -msgstr "Phone" - -#: components/ItaliaTheme/View/VenueView/VenueContacts -# defaultMessage: Telefono -msgid "riferimento_telefonico_struttura" -msgstr "Tel." - -#: components/ItaliaTheme/View/VenueView/VenueContacts -# defaultMessage: Web -msgid "riferimento_web" -msgstr "Web" - #: components/ItaliaTheme/View/Commons/Metadata # defaultMessage: Diritti msgid "rights" diff --git a/locales/es/LC_MESSAGES/volto.po b/locales/es/LC_MESSAGES/volto.po index 62d4d2fb3..387511973 100644 --- a/locales/es/LC_MESSAGES/volto.po +++ b/locales/es/LC_MESSAGES/volto.po @@ -2744,7 +2744,6 @@ msgid "patrocinato_da" msgstr "Patrocinado por" #: components/ItaliaTheme/View/PuntoDiContattoView/PuntoDiContattoView -#: components/ItaliaTheme/View/VenueView/VenueContacts #: helpers/contentHelper # defaultMessage: PEC msgid "pec" @@ -2906,46 +2905,6 @@ msgstr "Responsable del procedimiento" msgid "riferimenti_normativi" msgstr "Requisitos del reglamentarios" -#: components/ItaliaTheme/View/VenueView/VenueContacts -# defaultMessage: Fax -msgid "riferimento_fax_luogo" -msgstr "Fax" - -#: components/ItaliaTheme/View/VenueView/VenueContacts -# defaultMessage: Fax -msgid "riferimento_fax_struttura" -msgstr "Fax" - -#: components/ItaliaTheme/View/VenueView/VenueContacts -# defaultMessage: E-mail -msgid "riferimento_mail_luogo" -msgstr "Correo electrónico" - -#: components/ItaliaTheme/View/VenueView/VenueContacts -# defaultMessage: E-mail -msgid "riferimento_mail_struttura" -msgstr "Correo electrónico" - -#: components/ItaliaTheme/View/VenueView/VenueContacts -# defaultMessage: PEC -msgid "riferimento_pec_luogo" -msgstr "PEC" - -#: components/ItaliaTheme/View/VenueView/VenueContacts -# defaultMessage: Telefono -msgid "riferimento_telefonico_luogo" -msgstr "Teléfono" - -#: components/ItaliaTheme/View/VenueView/VenueContacts -# defaultMessage: Telefono -msgid "riferimento_telefonico_struttura" -msgstr "Teléfono" - -#: components/ItaliaTheme/View/VenueView/VenueContacts -# defaultMessage: Web -msgid "riferimento_web" -msgstr "Web" - #: components/ItaliaTheme/View/Commons/Metadata # defaultMessage: Diritti msgid "rights" diff --git a/locales/fr/LC_MESSAGES/volto.po b/locales/fr/LC_MESSAGES/volto.po index 7d625432c..ce3741bf8 100644 --- a/locales/fr/LC_MESSAGES/volto.po +++ b/locales/fr/LC_MESSAGES/volto.po @@ -2752,7 +2752,6 @@ msgid "patrocinato_da" msgstr "Sponsorisé par" #: components/ItaliaTheme/View/PuntoDiContattoView/PuntoDiContattoView -#: components/ItaliaTheme/View/VenueView/VenueContacts #: helpers/contentHelper # defaultMessage: PEC msgid "pec" @@ -2914,46 +2913,6 @@ msgstr "" msgid "riferimenti_normativi" msgstr "Exigences normatives" -#: components/ItaliaTheme/View/VenueView/VenueContacts -# defaultMessage: Fax -msgid "riferimento_fax_luogo" -msgstr "Fax" - -#: components/ItaliaTheme/View/VenueView/VenueContacts -# defaultMessage: Fax -msgid "riferimento_fax_struttura" -msgstr "Fax" - -#: components/ItaliaTheme/View/VenueView/VenueContacts -# defaultMessage: E-mail -msgid "riferimento_mail_luogo" -msgstr "E-mail" - -#: components/ItaliaTheme/View/VenueView/VenueContacts -# defaultMessage: E-mail -msgid "riferimento_mail_struttura" -msgstr "E-mail" - -#: components/ItaliaTheme/View/VenueView/VenueContacts -# defaultMessage: PEC -msgid "riferimento_pec_luogo" -msgstr "PEC" - -#: components/ItaliaTheme/View/VenueView/VenueContacts -# defaultMessage: Telefono -msgid "riferimento_telefonico_luogo" -msgstr "Téléphone" - -#: components/ItaliaTheme/View/VenueView/VenueContacts -# defaultMessage: Telefono -msgid "riferimento_telefonico_struttura" -msgstr "Téléphone" - -#: components/ItaliaTheme/View/VenueView/VenueContacts -# defaultMessage: Web -msgid "riferimento_web" -msgstr "Web" - #: components/ItaliaTheme/View/Commons/Metadata # defaultMessage: Diritti msgid "rights" diff --git a/locales/it/LC_MESSAGES/volto.po b/locales/it/LC_MESSAGES/volto.po index 6c01e61e3..e4789beb0 100644 --- a/locales/it/LC_MESSAGES/volto.po +++ b/locales/it/LC_MESSAGES/volto.po @@ -2735,7 +2735,6 @@ msgid "patrocinato_da" msgstr "Patrocinato da" #: components/ItaliaTheme/View/PuntoDiContattoView/PuntoDiContattoView -#: components/ItaliaTheme/View/VenueView/VenueContacts #: helpers/contentHelper # defaultMessage: PEC msgid "pec" @@ -2897,46 +2896,6 @@ msgstr "Responsabile del procedimento" msgid "riferimenti_normativi" msgstr "Riferimenti normativi" -#: components/ItaliaTheme/View/VenueView/VenueContacts -# defaultMessage: Fax -msgid "riferimento_fax_luogo" -msgstr "Fax" - -#: components/ItaliaTheme/View/VenueView/VenueContacts -# defaultMessage: Fax -msgid "riferimento_fax_struttura" -msgstr "Fax" - -#: components/ItaliaTheme/View/VenueView/VenueContacts -# defaultMessage: E-mail -msgid "riferimento_mail_luogo" -msgstr "E-mail" - -#: components/ItaliaTheme/View/VenueView/VenueContacts -# defaultMessage: E-mail -msgid "riferimento_mail_struttura" -msgstr "E-mail" - -#: components/ItaliaTheme/View/VenueView/VenueContacts -# defaultMessage: PEC -msgid "riferimento_pec_luogo" -msgstr "PEC" - -#: components/ItaliaTheme/View/VenueView/VenueContacts -# defaultMessage: Telefono -msgid "riferimento_telefonico_luogo" -msgstr "Telefono" - -#: components/ItaliaTheme/View/VenueView/VenueContacts -# defaultMessage: Telefono -msgid "riferimento_telefonico_struttura" -msgstr "Telefono" - -#: components/ItaliaTheme/View/VenueView/VenueContacts -# defaultMessage: Web -msgid "riferimento_web" -msgstr "Web" - #: components/ItaliaTheme/View/Commons/Metadata # defaultMessage: Diritti msgid "rights" diff --git a/locales/volto.pot b/locales/volto.pot index 5ef4413d2..a2ea34074 100644 --- a/locales/volto.pot +++ b/locales/volto.pot @@ -2737,7 +2737,6 @@ msgid "patrocinato_da" msgstr "" #: components/ItaliaTheme/View/PuntoDiContattoView/PuntoDiContattoView -#: components/ItaliaTheme/View/VenueView/VenueContacts #: helpers/contentHelper # defaultMessage: PEC msgid "pec" @@ -2899,46 +2898,6 @@ msgstr "" msgid "riferimenti_normativi" msgstr "" -#: components/ItaliaTheme/View/VenueView/VenueContacts -# defaultMessage: Fax -msgid "riferimento_fax_luogo" -msgstr "" - -#: components/ItaliaTheme/View/VenueView/VenueContacts -# defaultMessage: Fax -msgid "riferimento_fax_struttura" -msgstr "" - -#: components/ItaliaTheme/View/VenueView/VenueContacts -# defaultMessage: E-mail -msgid "riferimento_mail_luogo" -msgstr "" - -#: components/ItaliaTheme/View/VenueView/VenueContacts -# defaultMessage: E-mail -msgid "riferimento_mail_struttura" -msgstr "" - -#: components/ItaliaTheme/View/VenueView/VenueContacts -# defaultMessage: PEC -msgid "riferimento_pec_luogo" -msgstr "" - -#: components/ItaliaTheme/View/VenueView/VenueContacts -# defaultMessage: Telefono -msgid "riferimento_telefonico_luogo" -msgstr "" - -#: components/ItaliaTheme/View/VenueView/VenueContacts -# defaultMessage: Telefono -msgid "riferimento_telefonico_struttura" -msgstr "" - -#: components/ItaliaTheme/View/VenueView/VenueContacts -# defaultMessage: Web -msgid "riferimento_web" -msgstr "" - #: components/ItaliaTheme/View/Commons/Metadata # defaultMessage: Diritti msgid "rights" diff --git a/src/components/ItaliaTheme/View/Commons/ContactLink.jsx b/src/components/ItaliaTheme/View/Commons/ContactLink.jsx index 180a6f76a..7dd01862e 100644 --- a/src/components/ItaliaTheme/View/Commons/ContactLink.jsx +++ b/src/components/ItaliaTheme/View/Commons/ContactLink.jsx @@ -30,58 +30,58 @@ const messages = defineMessages({ }, }); +const phoneRegex = /(\+?[0-9](?: ?[0-9/-]+)+.?[0-9]*)/gm; +const phoneCleanRegex = /-|\/|\s/gm; +const emailRegex = /([a-zA-Z0-9+._-]+@[a-zA-Z0-9._-]+\.[a-zA-Z0-9_-]+)/gi; +const emailCleanRegex = /|\/|\s/gm; + const ContactLink = ({ tel, fax, email, label = true, strong = false }) => { const intl = useIntl(); let ret_label = null; let ret = null; - function ReplacePhoneNumbers(str, type) { - // eslint-disable-next-line no-useless-escape - let newhtml = str.replace(/\+?[0-9]( ?[0-9\/-]+)+.?[0-9]*/gm, function (v) { - let r = - "" + - v + - ''; - return r; - }); - return newhtml; - } + const titles = { + tel: intl.formatMessage(messages.call), + fax: intl.formatMessage(messages.call_fax), + mailto: intl.formatMessage(messages.write_to), + }; - function ReplaceEmails(str) { - let newhtml = str.replace( - /([a-zA-Z0-9+._-]+@[a-zA-Z0-9._-]+\.[a-zA-Z0-9_-]+)/gi, - function (v) { - let r = - "" + - v + - ''; - return r; - }, - ); - return newhtml; + function replaceString(str, type) { + const regex = type === 'mailto' ? emailRegex : phoneRegex; + return str.split(regex).reduce((acc, substr, i) => { + if (substr.trim() !== '') return acc; + return [ + ...acc, + acc.length === 0 ? '' : ' ', + substr.test(regex) ? ( + + {substr} + + ) : ( + substr + ), + ]; + }, []); } if (tel) { ret_label = intl.formatMessage(messages.telefono); - ret = ReplacePhoneNumbers(tel, 'tel'); + ret = replaceString(tel, 'tel'); } else if (fax) { ret_label = intl.formatMessage(messages.fax); - ret = ReplacePhoneNumbers(fax, 'fax'); + ret = replaceString(fax, 'fax'); } else if (email) { ret_label = intl.formatMessage(messages.email_label); - ret = ReplaceEmails(email); + ret = replaceString(email, 'mailto'); } ret_label = label ? <>{ret_label}: : null; ret_label = label ? strong ? {ret_label} : ret_label : null; @@ -89,7 +89,7 @@ const ContactLink = ({ tel, fax, email, label = true, strong = false }) => { return ret ? ( <> {ret_label} - + {ret} ) : null; }; diff --git a/src/components/ItaliaTheme/View/Commons/SmallVenue.jsx b/src/components/ItaliaTheme/View/Commons/SmallVenue.jsx index 23035376d..c301b2c3e 100644 --- a/src/components/ItaliaTheme/View/Commons/SmallVenue.jsx +++ b/src/components/ItaliaTheme/View/Commons/SmallVenue.jsx @@ -1,3 +1,4 @@ +// TODO REMOVEME Sembra non più usato, rimuovere import { useDispatch, useSelector } from 'react-redux'; import React, { useEffect } from 'react'; import { getContent } from '@plone/volto/actions'; diff --git a/src/components/ItaliaTheme/View/UOView/UOTelephones.jsx b/src/components/ItaliaTheme/View/UOView/UOTelephones.jsx index 1f41b8701..70173d2c1 100644 --- a/src/components/ItaliaTheme/View/UOView/UOTelephones.jsx +++ b/src/components/ItaliaTheme/View/UOView/UOTelephones.jsx @@ -1,3 +1,4 @@ +// TODO REMOVEME Sembra non più usato, rimuovere import React from 'react'; import PropTypes from 'prop-types'; diff --git a/src/components/ItaliaTheme/View/VenueView/VenueContacts.jsx b/src/components/ItaliaTheme/View/VenueView/VenueContacts.jsx index 7f6dd0433..6e20e79e1 100644 --- a/src/components/ItaliaTheme/View/VenueView/VenueContacts.jsx +++ b/src/components/ItaliaTheme/View/VenueView/VenueContacts.jsx @@ -15,46 +15,10 @@ const messages = defineMessages({ id: 'contatti', defaultMessage: 'Contatti', }, - riferimento_telefonico_luogo: { - id: 'riferimento_telefonico_luogo', - defaultMessage: 'Telefono', - }, - riferimento_fax_luogo: { - id: 'riferimento_fax_luogo', - defaultMessage: 'Fax', - }, - riferimento_mail_luogo: { - id: 'riferimento_mail_luogo', - defaultMessage: 'E-mail', - }, - riferimento_pec_luogo: { - id: 'riferimento_pec_luogo', - defaultMessage: 'PEC', - }, - riferimento_web: { - id: 'riferimento_web', - defaultMessage: 'Web', - }, struttura_responsabile: { id: 'struttura_responsabile', defaultMessage: 'Struttura responsabile', }, - riferimento_telefonico_struttura: { - id: 'riferimento_telefonico_struttura', - defaultMessage: 'Telefono', - }, - riferimento_fax_struttura: { - id: 'riferimento_fax_struttura', - defaultMessage: 'Fax', - }, - riferimento_mail_struttura: { - id: 'riferimento_mail_struttura', - defaultMessage: 'E-mail', - }, - riferimento_pec_struttura: { - id: 'pec', - defaultMessage: 'PEC', - }, }); const VenueContacts = ({ content }) => { @@ -62,77 +26,12 @@ const VenueContacts = ({ content }) => { return content?.contact_info?.length > 0 || content?.struttura_responsabile_correlati?.length > 0 || - // richTextHasContent(content?.struttura_responsabile) || - // content?.riferimento_telefonico_struttura || - // content?.riferimento_fax_struttura || - // content?.riferimento_mail_struttura || - // content?.riferimento_pec_struttura ? ( richTextHasContent(content?.struttura_responsabile) ? ( <> - {/* CONTATTI LUOGO */} - {/* {(content?.telefono || - content?.email || - content?.fax || - content?.pec || - content?.web) && ( - - - - - - {content.telefono && ( -

- {intl.formatMessage(messages.riferimento_telefonico_luogo)} - : -

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

- {intl.formatMessage(messages.riferimento_fax_luogo)} - : -

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

- {intl.formatMessage(messages.riferimento_mail_luogo)}:{' '} - -

- )} - - {content.pec && ( -

- {intl.formatMessage(messages.riferimento_pec_luogo)}:{' '} - -

- )} - - {content.web && ( -

- {intl.formatMessage(messages.riferimento_web)}:{' '} - - {content.web} - -

- )} -
-
- )} */} {content?.contact_info?.length > 0 && content.contact_info.map((contact) => ( { */}
{(content?.struttura_responsabile_correlati?.length > 0 || - richTextHasContent(content?.struttura_responsabile) || - content?.riferimento_telefonico_struttura || - content?.riferimento_fax_struttura || - content?.riferimento_mail_struttura || - content?.riferimento_pec_struttura) && ( + richTextHasContent(content?.struttura_responsabile)) && ( { ) : ( //STRUTTURA RESPONSABILE <> - {/* {(richTextHasContent(content.struttura_responsabile) || - content.riferimento_telefonico_struttura || - content.riferimento_fax_struttura || - content.riferimento_mail_struttura || - content.riferimento_pec_struttura) && ( */} {richTextHasContent(content.struttura_responsabile) && ( @@ -181,64 +71,6 @@ const VenueContacts = ({ content }) => { )} - {/* - {content.riferimento_telefonico_struttura && ( -
- - {intl.formatMessage( - messages.riferimento_telefonico_struttura, - )} - : - {' '} - -
- )} - {content.riferimento_fax_struttura && ( -
- - {intl.formatMessage( - messages.riferimento_fax_struttura, - )} - : - {' '} - -
- )} - {content.riferimento_mail_struttura && ( -
- - {intl.formatMessage( - messages.riferimento_mail_struttura, - )} - : - {' '} - -
- )} - {content.riferimento_pec_struttura && ( -
- - {intl.formatMessage( - messages.riferimento_pec_struttura, - )} - : - {' '} - -
- )} -
*/}
)}