io-sanita-theme 2.26.0 → 2.27.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +11 -0
- package/RELEASE.md +6 -0
- package/locales/de/LC_MESSAGES/volto.po +0 -5
- package/locales/en/LC_MESSAGES/volto.po +0 -5
- package/locales/es/LC_MESSAGES/volto.po +0 -5
- package/locales/fr/LC_MESSAGES/volto.po +0 -5
- package/locales/it/LC_MESSAGES/volto.po +0 -5
- package/locales/volto.pot +1 -6
- package/package.json +1 -1
- package/src/components/View/Evento/EventoDove.jsx +6 -8
- package/src/components/View/Farmacia/FarmaciaDove.jsx +3 -102
- package/src/components/View/Struttura/StrutturaDove.jsx +4 -4
- package/src/components/View/UOView/UODove.jsx +4 -4
- package/src/components/View/commons/Locations/Locations.jsx +6 -6
- package/src/helpers/Address/Address.jsx +8 -1
- package/src/helpers/Item/item.js +2 -0
- package/src/stories/Cards/mock.js +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [2.27.0](https://github.com/RedTurtle/io-sanita-theme/compare/2.26.0...2.27.0) (2026-04-29)
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
|
|
7
|
+
* rimosso circoscrizione (non usato), aggiunto distretto ([#136](https://github.com/RedTurtle/io-sanita-theme/issues/136)) ([1cc9a79](https://github.com/RedTurtle/io-sanita-theme/commit/1cc9a7957b4a1b6ccc6c7677081fd6a1ebc1aedd))
|
|
8
|
+
|
|
9
|
+
### Maintenance
|
|
10
|
+
|
|
11
|
+
* locales ([2ca5e63](https://github.com/RedTurtle/io-sanita-theme/commit/2ca5e639814709a0bdfcb5ee512e06c391cd8ee8))
|
|
12
|
+
* typo ([6d0e641](https://github.com/RedTurtle/io-sanita-theme/commit/6d0e641b0a1b28c254d237bdc3abef79cc4a33cb))
|
|
13
|
+
|
|
3
14
|
## [2.26.0](https://github.com/RedTurtle/io-sanita-theme/compare/2.25.1...2.26.0) (2026-04-22)
|
|
4
15
|
|
|
5
16
|
### Features
|
package/RELEASE.md
CHANGED
|
@@ -1912,11 +1912,6 @@ msgstr ""
|
|
|
1912
1912
|
msgid "farmacia_area_territoriale"
|
|
1913
1913
|
msgstr ""
|
|
1914
1914
|
|
|
1915
|
-
#. Default: "Circoscrizione"
|
|
1916
|
-
#: components/View/Farmacia/FarmaciaDove
|
|
1917
|
-
msgid "farmacia_circoscrizione"
|
|
1918
|
-
msgstr ""
|
|
1919
|
-
|
|
1920
1915
|
#. Default: "Comune"
|
|
1921
1916
|
#: components/View/Farmacia/FarmaciaDove
|
|
1922
1917
|
msgid "farmacia_comune"
|
|
@@ -1907,11 +1907,6 @@ msgstr "Search results for FAQ"
|
|
|
1907
1907
|
msgid "farmacia_area_territoriale"
|
|
1908
1908
|
msgstr "Territorial area"
|
|
1909
1909
|
|
|
1910
|
-
#. Default: "Circoscrizione"
|
|
1911
|
-
#: components/View/Farmacia/FarmaciaDove
|
|
1912
|
-
msgid "farmacia_circoscrizione"
|
|
1913
|
-
msgstr "Constituency"
|
|
1914
|
-
|
|
1915
1910
|
#. Default: "Comune"
|
|
1916
1911
|
#: components/View/Farmacia/FarmaciaDove
|
|
1917
1912
|
msgid "farmacia_comune"
|
|
@@ -1914,11 +1914,6 @@ msgstr ""
|
|
|
1914
1914
|
msgid "farmacia_area_territoriale"
|
|
1915
1915
|
msgstr ""
|
|
1916
1916
|
|
|
1917
|
-
#. Default: "Circoscrizione"
|
|
1918
|
-
#: components/View/Farmacia/FarmaciaDove
|
|
1919
|
-
msgid "farmacia_circoscrizione"
|
|
1920
|
-
msgstr ""
|
|
1921
|
-
|
|
1922
1917
|
#. Default: "Comune"
|
|
1923
1918
|
#: components/View/Farmacia/FarmaciaDove
|
|
1924
1919
|
msgid "farmacia_comune"
|
|
@@ -1914,11 +1914,6 @@ msgstr ""
|
|
|
1914
1914
|
msgid "farmacia_area_territoriale"
|
|
1915
1915
|
msgstr ""
|
|
1916
1916
|
|
|
1917
|
-
#. Default: "Circoscrizione"
|
|
1918
|
-
#: components/View/Farmacia/FarmaciaDove
|
|
1919
|
-
msgid "farmacia_circoscrizione"
|
|
1920
|
-
msgstr ""
|
|
1921
|
-
|
|
1922
1917
|
#. Default: "Comune"
|
|
1923
1918
|
#: components/View/Farmacia/FarmaciaDove
|
|
1924
1919
|
msgid "farmacia_comune"
|
|
@@ -1907,11 +1907,6 @@ msgstr ""
|
|
|
1907
1907
|
msgid "farmacia_area_territoriale"
|
|
1908
1908
|
msgstr ""
|
|
1909
1909
|
|
|
1910
|
-
#. Default: "Circoscrizione"
|
|
1911
|
-
#: components/View/Farmacia/FarmaciaDove
|
|
1912
|
-
msgid "farmacia_circoscrizione"
|
|
1913
|
-
msgstr ""
|
|
1914
|
-
|
|
1915
1910
|
#. Default: "Comune"
|
|
1916
1911
|
#: components/View/Farmacia/FarmaciaDove
|
|
1917
1912
|
msgid "farmacia_comune"
|
package/locales/volto.pot
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
msgid ""
|
|
2
2
|
msgstr ""
|
|
3
3
|
"Project-Id-Version: Plone\n"
|
|
4
|
-
"POT-Creation-Date: 2026-04-
|
|
4
|
+
"POT-Creation-Date: 2026-04-29T13:30:21.407Z\n"
|
|
5
5
|
"Last-Translator: Plone i18n <plone-i18n@lists.sourceforge.net>\n"
|
|
6
6
|
"Language-Team: Plone i18n <plone-i18n@lists.sourceforge.net>\n"
|
|
7
7
|
"Content-Type: text/plain; charset=utf-8\n"
|
|
@@ -1909,11 +1909,6 @@ msgstr ""
|
|
|
1909
1909
|
msgid "farmacia_area_territoriale"
|
|
1910
1910
|
msgstr ""
|
|
1911
1911
|
|
|
1912
|
-
#. Default: "Circoscrizione"
|
|
1913
|
-
#: components/View/Farmacia/FarmaciaDove
|
|
1914
|
-
msgid "farmacia_circoscrizione"
|
|
1915
|
-
msgstr ""
|
|
1916
|
-
|
|
1917
1912
|
#. Default: "Comune"
|
|
1918
1913
|
#: components/View/Farmacia/FarmaciaDove
|
|
1919
1914
|
msgid "farmacia_comune"
|
package/package.json
CHANGED
|
@@ -1,15 +1,14 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import PropTypes from 'prop-types';
|
|
3
|
-
|
|
4
|
-
import { defineMessages, useIntl } from 'react-intl';
|
|
5
|
-
|
|
6
1
|
import {
|
|
7
|
-
RichTextSection,
|
|
8
|
-
richTextHasContent,
|
|
9
2
|
RichText,
|
|
3
|
+
RichTextSection,
|
|
10
4
|
hasGeolocation,
|
|
5
|
+
richTextHasContent,
|
|
11
6
|
} from 'io-sanita-theme/helpers';
|
|
7
|
+
import { defineMessages, useIntl } from 'react-intl';
|
|
8
|
+
|
|
12
9
|
import { Locations } from 'io-sanita-theme/components/View/commons';
|
|
10
|
+
import PropTypes from 'prop-types';
|
|
11
|
+
import React from 'react';
|
|
13
12
|
|
|
14
13
|
const messages = defineMessages({
|
|
15
14
|
dove: {
|
|
@@ -28,7 +27,6 @@ const EventoDove = ({ content }) => {
|
|
|
28
27
|
content?.zip_code?.length > 0 ||
|
|
29
28
|
content?.city?.length > 0 ||
|
|
30
29
|
content?.quartiere?.length > 0 ||
|
|
31
|
-
content?.circoscrizione?.length > 0 ||
|
|
32
30
|
content?.country?.length > 0 ||
|
|
33
31
|
richTextHasContent(content?.webinar) ? (
|
|
34
32
|
<RichTextSection tag_id="dove" title={intl.formatMessage(messages.dove)}>
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import PropTypes from 'prop-types';
|
|
2
1
|
import { defineMessages, useIntl } from 'react-intl';
|
|
2
|
+
|
|
3
|
+
import { Locations } from 'io-sanita-theme/components/View/commons';
|
|
4
|
+
import PropTypes from 'prop-types';
|
|
3
5
|
// import { CardPlace } from 'io-sanita-theme/components';
|
|
4
6
|
import { RichTextSection } from 'io-sanita-theme/helpers';
|
|
5
|
-
import { Locations } from 'io-sanita-theme/components/View/commons';
|
|
6
7
|
|
|
7
8
|
const messages = defineMessages({
|
|
8
9
|
dove: {
|
|
@@ -21,10 +22,6 @@ const messages = defineMessages({
|
|
|
21
22
|
id: 'farmacia_localita',
|
|
22
23
|
defaultMessage: 'Località',
|
|
23
24
|
},
|
|
24
|
-
circoscrizione: {
|
|
25
|
-
id: 'farmacia_circoscrizione',
|
|
26
|
-
defaultMessage: 'Circoscrizione',
|
|
27
|
-
},
|
|
28
25
|
quartiere: {
|
|
29
26
|
id: 'farmacia_quartiere',
|
|
30
27
|
defaultMessage: 'Quartiere',
|
|
@@ -40,108 +37,12 @@ const FarmaciaDove = ({ content }) => {
|
|
|
40
37
|
content.city ||
|
|
41
38
|
content.provincia ||
|
|
42
39
|
content.country ||
|
|
43
|
-
content.circoscrizione ||
|
|
44
40
|
content.quartiere ||
|
|
45
41
|
content.area_territoriale?.title ||
|
|
46
42
|
content.comune ||
|
|
47
43
|
content.localita ? (
|
|
48
44
|
<RichTextSection tag_id="dove" title={intl.formatMessage(messages.dove)}>
|
|
49
|
-
{/* <CardPlace
|
|
50
|
-
item={{
|
|
51
|
-
...content,
|
|
52
|
-
city: content.comune,
|
|
53
|
-
province: content.provincia,
|
|
54
|
-
area_territoriale: content.area_territoriale?.title,
|
|
55
|
-
street: `${content.street} - ${content.localita}`,
|
|
56
|
-
}}
|
|
57
|
-
showDistance={false}
|
|
58
|
-
showMap={true}
|
|
59
|
-
/> */}
|
|
60
|
-
|
|
61
45
|
<Locations content={content} />
|
|
62
|
-
|
|
63
|
-
{/* -- codice originale versione auslfe
|
|
64
|
-
|
|
65
|
-
<Card className="card card-teaser shadow mt-3 rounded mb-4" tag="div">
|
|
66
|
-
<Icon icon={'it-pin'} />
|
|
67
|
-
<CardBody>
|
|
68
|
-
<CardTitle tag="h5" className="card-title">
|
|
69
|
-
{content.title}
|
|
70
|
-
</CardTitle>
|
|
71
|
-
<CardText tag="div">
|
|
72
|
-
{content.area_territoriale && (
|
|
73
|
-
<p>
|
|
74
|
-
<strong>{`${intl.formatMessage(messages.area_territoriale)}: `}</strong>
|
|
75
|
-
{content.area_territoriale.title}
|
|
76
|
-
</p>
|
|
77
|
-
)}
|
|
78
|
-
|
|
79
|
-
{content.comune && (
|
|
80
|
-
<p>
|
|
81
|
-
<strong>{`${intl.formatMessage(messages.comune)}: `}</strong>
|
|
82
|
-
{content.comune}
|
|
83
|
-
</p>
|
|
84
|
-
)}
|
|
85
|
-
|
|
86
|
-
{content.localita && (
|
|
87
|
-
<p>
|
|
88
|
-
<strong>{`${intl.formatMessage(messages.localita)}: `}</strong>
|
|
89
|
-
{content.localita}
|
|
90
|
-
</p>
|
|
91
|
-
)}
|
|
92
|
-
|
|
93
|
-
<p>
|
|
94
|
-
{[content.street, content.city]
|
|
95
|
-
.filter((v) => v !== null)
|
|
96
|
-
.join(' - ')}
|
|
97
|
-
{(content.street || content.city) &&
|
|
98
|
-
(content.zip_code || content.country) &&
|
|
99
|
-
!content.provincia && <br />}
|
|
100
|
-
|
|
101
|
-
{content.provincia && ' (' + content.provincia + ')\n'}
|
|
102
|
-
|
|
103
|
-
{content.zip_code && content.country?.title
|
|
104
|
-
? [content.zip_code, content.country?.title]
|
|
105
|
-
.filter((v) => v !== null)
|
|
106
|
-
.join(' - ')
|
|
107
|
-
: content.zip_code || content.country?.title}
|
|
108
|
-
</p>
|
|
109
|
-
</CardText>
|
|
110
|
-
</CardBody>
|
|
111
|
-
</Card>
|
|
112
|
-
{
|
|
113
|
-
content.geolocation?.latitude &&
|
|
114
|
-
content.geolocation?.longitude && (
|
|
115
|
-
<>{__CLIENT__ ?
|
|
116
|
-
<OSMMap
|
|
117
|
-
markers={[
|
|
118
|
-
{
|
|
119
|
-
latitude: content.geolocation.latitude,
|
|
120
|
-
longitude: content.geolocation.longitude,
|
|
121
|
-
title: content.title,
|
|
122
|
-
},
|
|
123
|
-
]}
|
|
124
|
-
mapOptions={{
|
|
125
|
-
scrollWheelZoom: false,
|
|
126
|
-
// tap: false,
|
|
127
|
-
// dragging: false,
|
|
128
|
-
}}
|
|
129
|
-
/>:<div>Loading...</>}</>
|
|
130
|
-
)}
|
|
131
|
-
{content.circoscrizione && (
|
|
132
|
-
<div className="circoscrizione">
|
|
133
|
-
<h5 className="mt-3">
|
|
134
|
-
{intl.formatMessage(messages.circoscrizione)}:
|
|
135
|
-
</h5>
|
|
136
|
-
<div className="text-serif">{content.circoscrizione}</div>
|
|
137
|
-
</div>
|
|
138
|
-
)}
|
|
139
|
-
{content.quartiere && (
|
|
140
|
-
<div className="quartiere">
|
|
141
|
-
<h5 className="mt-3">{intl.formatMessage(messages.quartiere)}:</h5>
|
|
142
|
-
<div className="text-serif">{content.quartiere}</div>
|
|
143
|
-
</div>
|
|
144
|
-
)} */}
|
|
145
46
|
</RichTextSection>
|
|
146
47
|
) : (
|
|
147
48
|
<></>
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import PropTypes from 'prop-types';
|
|
3
|
-
import { defineMessages, useIntl } from 'react-intl';
|
|
4
1
|
import { RichTextSection, hasGeolocation } from 'io-sanita-theme/helpers';
|
|
2
|
+
import { defineMessages, useIntl } from 'react-intl';
|
|
3
|
+
|
|
5
4
|
import { Locations } from 'io-sanita-theme/components/View/commons';
|
|
5
|
+
import PropTypes from 'prop-types';
|
|
6
|
+
import React from 'react';
|
|
6
7
|
|
|
7
8
|
const messages = defineMessages({
|
|
8
9
|
dove: {
|
|
@@ -20,7 +21,6 @@ const StrutturaDove = ({ content }) => {
|
|
|
20
21
|
content?.zip_code?.length > 0 ||
|
|
21
22
|
content?.city?.length > 0 ||
|
|
22
23
|
content?.quartiere?.length > 0 ||
|
|
23
|
-
content?.circoscrizione?.length > 0 ||
|
|
24
24
|
content?.country?.length > 0 ? (
|
|
25
25
|
<RichTextSection tag_id="dove" title={intl.formatMessage(messages.dove)}>
|
|
26
26
|
<Locations content={content} />
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import PropTypes from 'prop-types';
|
|
3
|
-
import { defineMessages, useIntl } from 'react-intl';
|
|
4
1
|
import { RichTextSection, hasGeolocation } from 'io-sanita-theme/helpers';
|
|
2
|
+
import { defineMessages, useIntl } from 'react-intl';
|
|
3
|
+
|
|
5
4
|
import { Locations } from 'io-sanita-theme/components/View/commons';
|
|
5
|
+
import PropTypes from 'prop-types';
|
|
6
|
+
import React from 'react';
|
|
6
7
|
|
|
7
8
|
const messages = defineMessages({
|
|
8
9
|
dove: {
|
|
@@ -21,7 +22,6 @@ const UODove = ({ content }) => {
|
|
|
21
22
|
content?.zip_code?.length > 0 ||
|
|
22
23
|
content?.city?.length > 0 ||
|
|
23
24
|
content?.quartiere?.length > 0 ||
|
|
24
|
-
content?.circoscrizione?.length > 0 ||
|
|
25
25
|
content?.country?.length > 0 ? (
|
|
26
26
|
<RichTextSection tag_id="luoghi" title={intl.formatMessage(messages.dove)}>
|
|
27
27
|
{/* INDIRIZZI E STRUTTURE */}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { Col, Row } from 'design-react-kit';
|
|
2
|
+
|
|
3
|
+
import { CardPlace } from 'io-sanita-theme/components';
|
|
4
|
+
import { LocationsMap } from 'io-sanita-theme/components/View/commons';
|
|
2
5
|
import PropTypes from 'prop-types';
|
|
6
|
+
import React from 'react';
|
|
3
7
|
import omit from 'lodash/omit';
|
|
4
|
-
import { Row, Col } from 'design-react-kit';
|
|
5
|
-
import { LocationsMap } from 'io-sanita-theme/components/View/commons';
|
|
6
|
-
import { CardPlace } from 'io-sanita-theme/components';
|
|
7
8
|
|
|
8
9
|
/**
|
|
9
10
|
* Locations view component class.
|
|
@@ -18,8 +19,7 @@ const Locations = ({ content = {}, locations = [] }) => {
|
|
|
18
19
|
content.street ||
|
|
19
20
|
content.city ||
|
|
20
21
|
content.zip_code ||
|
|
21
|
-
content.quartiere
|
|
22
|
-
content.circoscrizione
|
|
22
|
+
content.quartiere
|
|
23
23
|
) {
|
|
24
24
|
location_items.push(omit(content, ['@id']));
|
|
25
25
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
+
import { Icon } from 'io-sanita-theme/components';
|
|
1
2
|
/*TODO:
|
|
2
3
|
- implementare il calcolo della distanza
|
|
3
4
|
*/
|
|
4
5
|
import React from 'react';
|
|
5
|
-
import { Icon } from 'io-sanita-theme/components';
|
|
6
6
|
|
|
7
7
|
const Address = ({ item, showAddress = true, showDistance, tag }) => {
|
|
8
8
|
const address_row_2 = ['zip_code', 'city', 'province']
|
|
@@ -15,6 +15,7 @@ const Address = ({ item, showAddress = true, showDistance, tag }) => {
|
|
|
15
15
|
typeof item.area_territoriale === 'object'
|
|
16
16
|
? item.area_territoriale && item.area_territoriale.value
|
|
17
17
|
: item.area_territoriale;
|
|
18
|
+
const distretto = item.distretto;
|
|
18
19
|
|
|
19
20
|
return item.street?.length > 0 || address_row_2.length ? (
|
|
20
21
|
<>
|
|
@@ -33,6 +34,12 @@ const Address = ({ item, showAddress = true, showDistance, tag }) => {
|
|
|
33
34
|
{address_row_2}
|
|
34
35
|
</>
|
|
35
36
|
)}
|
|
37
|
+
{distretto && (
|
|
38
|
+
<>
|
|
39
|
+
<br />
|
|
40
|
+
{item.distretto}
|
|
41
|
+
</>
|
|
42
|
+
)}
|
|
36
43
|
</AddressWrapperTag>
|
|
37
44
|
)}
|
|
38
45
|
{showDistance && (
|
package/src/helpers/Item/item.js
CHANGED
|
@@ -38,6 +38,8 @@ export const getItemIcon = (item) => {
|
|
|
38
38
|
export const hasGeolocation = (item) => {
|
|
39
39
|
return (
|
|
40
40
|
item?.geolocation &&
|
|
41
|
+
item?.geolocation?.latitude &&
|
|
42
|
+
item?.geolocation?.longitude &&
|
|
41
43
|
item?.geolocation?.latitude !== 0 &&
|
|
42
44
|
item?.geolocation?.longitude !== 0
|
|
43
45
|
);
|