design-comuni-plone-theme
Version:
Volto Theme for Italia design guidelines
75 lines (70 loc) • 2.03 kB
JSX
import React from 'react';
import PropTypes from 'prop-types';
import { defineMessages, useIntl } from 'react-intl';
import {
RichText,
RichTextSection,
richTextHasContent,
} from 'design-comuni-plone-theme/components/ItaliaTheme/View';
const messages = defineMessages({
a_chi_si_rivolge: {
id: 'a_chi_si_rivolge',
defaultMessage: 'A chi è rivolto',
},
chi_puo_presentare: {
id: 'chi_puo_presentare',
defaultMessage: 'Chi può presentare',
},
copertura_geografica: {
id: 'copertura_geografica',
defaultMessage: 'Copertura geografica del servizio',
},
});
const ServizioAChiSiRivolge = ({ content }) => {
const intl = useIntl();
return richTextHasContent(content.a_chi_si_rivolge) ||
richTextHasContent(content.chi_puo_presentare) ||
richTextHasContent(content.copertura_geografica) ? (
<RichTextSection
data={content.a_chi_si_rivolge}
tag_id="who-needs"
title={intl.formatMessage(messages.a_chi_si_rivolge)}
lighthouseId={'service-addressed'}
>
{richTextHasContent(content.chi_puo_presentare) && (
<RichText
title={intl.formatMessage(messages.chi_puo_presentare)}
title_size="h3"
title_class_name="h5"
add_class="mb-5"
data={content.chi_puo_presentare}
/>
)}
{richTextHasContent(content.copertura_geografica) && (
<RichText
title={intl.formatMessage(messages.copertura_geografica)}
title_size="h3"
title_class_name="h5"
add_class="mb-5"
data={content.copertura_geografica}
/>
)}
</RichTextSection>
) : (
<></>
);
};
ServizioAChiSiRivolge.propTypes = {
content: PropTypes.shape({
a_chi_si_rivolge: PropTypes.shape({
data: PropTypes.string,
}),
chi_puo_presentare: PropTypes.shape({
data: PropTypes.string,
}),
copertura_geografica: PropTypes.shape({
data: PropTypes.string,
}),
}),
};
export default ServizioAChiSiRivolge;