io-sanita-theme 2.23.2 → 2.25.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.
Files changed (28) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/RELEASE.md +25 -0
  3. package/locales/de/LC_MESSAGES/volto.po +22 -18
  4. package/locales/en/LC_MESSAGES/volto.po +22 -18
  5. package/locales/es/LC_MESSAGES/volto.po +22 -18
  6. package/locales/fr/LC_MESSAGES/volto.po +22 -18
  7. package/locales/it/LC_MESSAGES/volto.po +22 -18
  8. package/locales/volto.pot +23 -19
  9. package/package.json +1 -1
  10. package/publiccode.yml +4 -3
  11. package/src/components/Blocks/Listing/SimpleCard/Card/SimpleCardDefault.jsx +2 -14
  12. package/src/components/Cards/CardContatti/CardContatti.jsx +4 -13
  13. package/src/components/Cards/CardContatti/cardContatti.scss +2 -1
  14. package/src/components/Cards/CardSimple/CardSimple.jsx +9 -16
  15. package/src/components/View/ComeFarePer/ComeFarePerDocumenti.jsx +56 -0
  16. package/src/components/View/ComeFarePer/ComeFarePerView.jsx +2 -2
  17. package/src/components/View/ComeFarePer/index.js +6 -5
  18. package/src/components/View/Servizio/BadgeStatusServizio.jsx +37 -0
  19. package/src/components/View/Servizio/index.js +6 -0
  20. package/src/components/View/commons/PageHeader/HeaderIcon.jsx +36 -0
  21. package/src/components/View/commons/PageHeader/PageHeader.jsx +4 -0
  22. package/src/components/View/commons/PageHeader/PageHeaderStatoServizio.jsx +2 -31
  23. package/src/config/blocks/index.js +9 -4
  24. package/src/config/ioSanitaConfig.js +2 -0
  25. package/src/theme/_cms-ui.scss +23 -1
  26. package/src/theme/io-sanita/components/blocks/_video.scss +1 -1
  27. package/src/theme/io-sanita/components/view/commons/_pageHeader.scss +20 -0
  28. package/src/components/View/ComeFarePer/ComeFarePerAllegati.jsx +0 -32
package/CHANGELOG.md CHANGED
@@ -1,5 +1,42 @@
1
1
  # Changelog
2
2
 
3
+ ## [2.25.0](https://github.com/RedTurtle/io-sanita-theme/compare/2.24.0...2.25.0) (2026-04-21)
4
+
5
+ ### Features
6
+
7
+ * argument icon added, same pattern in io-comune ([#127](https://github.com/RedTurtle/io-sanita-theme/issues/127)) ([4f97960](https://github.com/RedTurtle/io-sanita-theme/commit/4f979605f275d87495d068efd2a1d370f1442fcf))
8
+
9
+ ### Bug Fixes
10
+
11
+ * badge of status Servizio - removed unused message ([#123](https://github.com/RedTurtle/io-sanita-theme/issues/123)) ([0b80cd9](https://github.com/RedTurtle/io-sanita-theme/commit/0b80cd92c7b1cc0739155e73b5e546676cb21acf))
12
+ * badge styles in folderContent for programmato and scaduto ([#130](https://github.com/RedTurtle/io-sanita-theme/issues/130)) ([2e25c73](https://github.com/RedTurtle/io-sanita-theme/commit/2e25c736b4d14952792d563c51c6696a382cf059))
13
+ * changed icon Struttura in folder content ([#129](https://github.com/RedTurtle/io-sanita-theme/issues/129)) ([e69b30d](https://github.com/RedTurtle/io-sanita-theme/commit/e69b30d6d438b9c2032ff60a4c0ef97553aee20c))
14
+ * show pdc description inside contact card ([#128](https://github.com/RedTurtle/io-sanita-theme/issues/128)) ([b9854c8](https://github.com/RedTurtle/io-sanita-theme/commit/b9854c8620059372b3feac7a56ba45d1bc4ad1ac))
15
+ * show related documents in ComeFarePer ([#131](https://github.com/RedTurtle/io-sanita-theme/issues/131)) ([e268b22](https://github.com/RedTurtle/io-sanita-theme/commit/e268b22f4f1ed87faa33c04aa7dbb952d4c3ad1e))
16
+ * title in contact card now is not clickable ([#125](https://github.com/RedTurtle/io-sanita-theme/issues/125)) ([8514127](https://github.com/RedTurtle/io-sanita-theme/commit/851412702cb60e6bbe8ce9cf0e312da014941913))
17
+ * video not cropped when aligned right/left ([#126](https://github.com/RedTurtle/io-sanita-theme/issues/126)) ([887ad5b](https://github.com/RedTurtle/io-sanita-theme/commit/887ad5bbdac253e227610c1de7cb082399d8edbb))
18
+ * z-index of toolbar ([#124](https://github.com/RedTurtle/io-sanita-theme/issues/124)) ([8456b1f](https://github.com/RedTurtle/io-sanita-theme/commit/8456b1ff82a9ccac24267325b77908c76826baad))
19
+
20
+ ### Maintenance
21
+
22
+ * i18n ([de9b9bb](https://github.com/RedTurtle/io-sanita-theme/commit/de9b9bb35323ebd3e3ab7b6555685df17f9266b2))
23
+ * preparing release 2.25.0 ([ab6a8e0](https://github.com/RedTurtle/io-sanita-theme/commit/ab6a8e06798d41fdc5f7a48c8bda96fd278cf7b9))
24
+
25
+ ## [2.24.0](https://github.com/RedTurtle/io-sanita-theme/compare/2.23.2...2.24.0) (2026-04-10)
26
+
27
+ ### Features
28
+
29
+ * create new component for badge service status ([#122](https://github.com/RedTurtle/io-sanita-theme/issues/122)) ([2452d1e](https://github.com/RedTurtle/io-sanita-theme/commit/2452d1e26fa963b3043695b4e99a6f59108e1f38))
30
+ * video block added in grid block ([#121](https://github.com/RedTurtle/io-sanita-theme/issues/121)) ([a08d2a2](https://github.com/RedTurtle/io-sanita-theme/commit/a08d2a2a893e109e2f0135670a7cf4652865dbf6))
31
+
32
+ ### Maintenance
33
+
34
+ * preparing release 2.24.0 ([6332b72](https://github.com/RedTurtle/io-sanita-theme/commit/6332b72f23634f305e1be5050b8b1555fe251377))
35
+
36
+ ### Documentation
37
+
38
+ * test ([65db9b9](https://github.com/RedTurtle/io-sanita-theme/commit/65db9b93b686c6a422ea437144a085ce540ab164))
39
+
3
40
  ## [2.23.2](https://github.com/RedTurtle/io-sanita-theme/compare/2.23.0...2.23.2) (2026-03-20)
4
41
 
5
42
  ### Bug Fixes
package/RELEASE.md CHANGED
@@ -41,12 +41,37 @@
41
41
  - ...
42
42
  -->
43
43
 
44
+ ## Versione 2.25.0 (21/04/2026)
45
+
46
+ ### Fix
47
+
48
+ - Aggiunta la visualizzazione dell'icona nell'header delle pagine che hanno un campo icona (es. Cartella FAQ).
49
+ - Sistemata l'altezza del blocco Video quando è allineato a destra o sinistra: il video non si riduce più in altezza quando viene riprodotto.
50
+ - Rimossa la scritta "Servizio disponibile e prenotabile" dalla vista dettaglio del Servizio.
51
+ - Creato componente dedicato per il badge di stato del Servizio, riutilizzato in tutte le viste (dettaglio, card, listing).
52
+ - Rimosso il link dal titolo della card del Punto di contatto nei CT. Il titolo ora non è più cliccabile.
53
+ - Mostrare il testo della descrizione del Punto di contatto all'interno della card Contatti
54
+ - Modifica icona Struttura in Folder Content
55
+ - Sistemata la visualizzazione dell'etichetta "Programmato" accanto al titolo dei contenuti in Folder Content: ora viene mostrata come badge ben distinguibile dal titolo.
56
+ - Aggiunta la sezione Documenti correlati in ComeFarePer CT
57
+
58
+ ## Versione 2.24.0 (10/04/2026)
59
+
60
+ ### Fix
61
+
62
+ - Sistemata l'etichetta relativa allo stato del Servizio nelle card. Ora mostra correttamente "Attivo" o "Non attivo" a seconda dello stato del servizio, invece di mostrare sempre "Servizio Online".
63
+
64
+ ### Novità
65
+
66
+ - Aggiunta la possibilità di inserire il blocco Video all'interno del blocco Griglia.
67
+
44
68
  ## Versione 2.23.2 (20/03/2026)
45
69
 
46
70
  ### Fix
47
71
 
48
72
  - Sistemata l'altezza del blocco "Alert" in visualizzaizone.
49
73
  - Sistemata la visualizzazione dei nomi dei file che in alcuni casi contenevano caratteri speciali.
74
+ -
50
75
 
51
76
  ## Versione 2.23.0 (19/03/2026)
52
77
 
@@ -721,11 +721,6 @@ msgstr ""
721
721
  msgid "Seleziona un'icona"
722
722
  msgstr ""
723
723
 
724
- #. Default: "Servizio disponibile e prenotabile"
725
- #: components/View/commons/PageHeader/PageHeaderStatoServizio
726
- msgid "Service available"
727
- msgstr ""
728
-
729
724
  #. Default: "Sono occorsi degli errori"
730
725
  #: components/Search/Search
731
726
  msgid "Sono occorsi degli errori"
@@ -1462,11 +1457,26 @@ msgstr ""
1462
1457
  msgid "come_fare_per_a_chi_si_rivolge"
1463
1458
  msgstr ""
1464
1459
 
1460
+ #. Default: "Allegati"
1461
+ #: components/View/ComeFarePer/ComeFarePerDocumenti
1462
+ msgid "come_fare_per_allegati"
1463
+ msgstr ""
1464
+
1465
1465
  #. Default: "Come fare"
1466
1466
  #: components/View/ComeFarePer/ComeFarePerComeFare
1467
1467
  msgid "come_fare_per_come_fare"
1468
1468
  msgstr ""
1469
1469
 
1470
+ #. Default: "Documenti"
1471
+ #: components/View/ComeFarePer/ComeFarePerDocumenti
1472
+ msgid "come_fare_per_documenti"
1473
+ msgstr ""
1474
+
1475
+ #. Default: "Modulistica"
1476
+ #: components/View/ComeFarePer/ComeFarePerDocumenti
1477
+ msgid "come_fare_per_modulistica"
1478
+ msgstr ""
1479
+
1470
1480
  #. Default: "Panoramica"
1471
1481
  #: components/View/ComeFarePer/ComeFarePerDescrizione
1472
1482
  msgid "come_fare_per_panoramica"
@@ -1487,11 +1497,6 @@ msgstr ""
1487
1497
  msgid "comefareper_approfondimenti"
1488
1498
  msgstr ""
1489
1499
 
1490
- #. Default: "Documenti"
1491
- #: components/View/ComeFarePer/ComeFarePerAllegati
1492
- msgid "comefareper_documenti"
1493
- msgstr ""
1494
-
1495
1500
  #. Default: "Contatti"
1496
1501
  #: components/Blocks/Contacts/schema
1497
1502
  msgid "contacts_block_title"
@@ -2060,6 +2065,11 @@ msgstr ""
2060
2065
  msgid "iconDescription"
2061
2066
  msgstr ""
2062
2067
 
2068
+ #. Default: "Icona per {topic_title}"
2069
+ #: components/View/commons/PageHeader/HeaderIcon
2070
+ msgid "icon_title"
2071
+ msgstr ""
2072
+
2063
2073
  #. Default: "Blocco con icone"
2064
2074
  #: components/Blocks/Icons/Sidebar
2065
2075
  msgid "icons_blocks"
@@ -3433,12 +3443,12 @@ msgid "select_risultato"
3433
3443
  msgstr ""
3434
3444
 
3435
3445
  #. Default: "Servizio non attivo"
3436
- #: components/View/commons/PageHeader/PageHeaderStatoServizio
3446
+ #: components/View/Servizio/BadgeStatusServizio
3437
3447
  msgid "service_off"
3438
3448
  msgstr ""
3439
3449
 
3440
3450
  #. Default: "Servizio attivo"
3441
- #: components/View/commons/PageHeader/PageHeaderStatoServizio
3451
+ #: components/View/Servizio/BadgeStatusServizio
3442
3452
  msgid "service_on"
3443
3453
  msgstr ""
3444
3454
 
@@ -3502,12 +3512,6 @@ msgstr ""
3502
3512
  msgid "servizio_modulistica"
3503
3513
  msgstr ""
3504
3514
 
3505
- #. Default: "Servizio online"
3506
- #: components/Blocks/Listing/SimpleCard/Card/SimpleCardDefault
3507
- #: components/Cards/CardSimple/CardSimple
3508
- msgid "servizio_online_chip"
3509
- msgstr ""
3510
-
3511
3515
  #. Default: "Orari del servizio"
3512
3516
  #: components/View/Servizio/ServizioOrari
3513
3517
  msgid "servizio_orari"
@@ -716,11 +716,6 @@ msgstr "Select a file"
716
716
  msgid "Seleziona un'icona"
717
717
  msgstr ""
718
718
 
719
- #. Default: "Servizio disponibile e prenotabile"
720
- #: components/View/commons/PageHeader/PageHeaderStatoServizio
721
- msgid "Service available"
722
- msgstr "Available and bookable service"
723
-
724
719
  #. Default: "Sono occorsi degli errori"
725
720
  #: components/Search/Search
726
721
  msgid "Sono occorsi degli errori"
@@ -1457,11 +1452,26 @@ msgstr ""
1457
1452
  msgid "come_fare_per_a_chi_si_rivolge"
1458
1453
  msgstr "Who is it for"
1459
1454
 
1455
+ #. Default: "Allegati"
1456
+ #: components/View/ComeFarePer/ComeFarePerDocumenti
1457
+ msgid "come_fare_per_allegati"
1458
+ msgstr ""
1459
+
1460
1460
  #. Default: "Come fare"
1461
1461
  #: components/View/ComeFarePer/ComeFarePerComeFare
1462
1462
  msgid "come_fare_per_come_fare"
1463
1463
  msgstr "How to do"
1464
1464
 
1465
+ #. Default: "Documenti"
1466
+ #: components/View/ComeFarePer/ComeFarePerDocumenti
1467
+ msgid "come_fare_per_documenti"
1468
+ msgstr ""
1469
+
1470
+ #. Default: "Modulistica"
1471
+ #: components/View/ComeFarePer/ComeFarePerDocumenti
1472
+ msgid "come_fare_per_modulistica"
1473
+ msgstr ""
1474
+
1465
1475
  #. Default: "Panoramica"
1466
1476
  #: components/View/ComeFarePer/ComeFarePerDescrizione
1467
1477
  msgid "come_fare_per_panoramica"
@@ -1482,11 +1492,6 @@ msgstr "More informations"
1482
1492
  msgid "comefareper_approfondimenti"
1483
1493
  msgstr "Insights"
1484
1494
 
1485
- #. Default: "Documenti"
1486
- #: components/View/ComeFarePer/ComeFarePerAllegati
1487
- msgid "comefareper_documenti"
1488
- msgstr "Documents"
1489
-
1490
1495
  #. Default: "Contatti"
1491
1496
  #: components/Blocks/Contacts/schema
1492
1497
  msgid "contacts_block_title"
@@ -2055,6 +2060,11 @@ msgstr ""
2055
2060
  msgid "iconDescription"
2056
2061
  msgstr ""
2057
2062
 
2063
+ #. Default: "Icona per {topic_title}"
2064
+ #: components/View/commons/PageHeader/HeaderIcon
2065
+ msgid "icon_title"
2066
+ msgstr "Icon for {topic_title}"
2067
+
2058
2068
  #. Default: "Blocco con icone"
2059
2069
  #: components/Blocks/Icons/Sidebar
2060
2070
  msgid "icons_blocks"
@@ -3428,12 +3438,12 @@ msgid "select_risultato"
3428
3438
  msgstr "result"
3429
3439
 
3430
3440
  #. Default: "Servizio non attivo"
3431
- #: components/View/commons/PageHeader/PageHeaderStatoServizio
3441
+ #: components/View/Servizio/BadgeStatusServizio
3432
3442
  msgid "service_off"
3433
3443
  msgstr "Service not available"
3434
3444
 
3435
3445
  #. Default: "Servizio attivo"
3436
- #: components/View/commons/PageHeader/PageHeaderStatoServizio
3446
+ #: components/View/Servizio/BadgeStatusServizio
3437
3447
  msgid "service_on"
3438
3448
  msgstr "Service available"
3439
3449
 
@@ -3497,12 +3507,6 @@ msgstr "Where"
3497
3507
  msgid "servizio_modulistica"
3498
3508
  msgstr "Forms"
3499
3509
 
3500
- #. Default: "Servizio online"
3501
- #: components/Blocks/Listing/SimpleCard/Card/SimpleCardDefault
3502
- #: components/Cards/CardSimple/CardSimple
3503
- msgid "servizio_online_chip"
3504
- msgstr "Online service"
3505
-
3506
3510
  #. Default: "Orari del servizio"
3507
3511
  #: components/View/Servizio/ServizioOrari
3508
3512
  msgid "servizio_orari"
@@ -723,11 +723,6 @@ msgstr "Seleccione un archivo"
723
723
  msgid "Seleziona un'icona"
724
724
  msgstr ""
725
725
 
726
- #. Default: "Servizio disponibile e prenotabile"
727
- #: components/View/commons/PageHeader/PageHeaderStatoServizio
728
- msgid "Service available"
729
- msgstr ""
730
-
731
726
  #. Default: "Sono occorsi degli errori"
732
727
  #: components/Search/Search
733
728
  msgid "Sono occorsi degli errori"
@@ -1464,11 +1459,26 @@ msgstr ""
1464
1459
  msgid "come_fare_per_a_chi_si_rivolge"
1465
1460
  msgstr ""
1466
1461
 
1462
+ #. Default: "Allegati"
1463
+ #: components/View/ComeFarePer/ComeFarePerDocumenti
1464
+ msgid "come_fare_per_allegati"
1465
+ msgstr ""
1466
+
1467
1467
  #. Default: "Come fare"
1468
1468
  #: components/View/ComeFarePer/ComeFarePerComeFare
1469
1469
  msgid "come_fare_per_come_fare"
1470
1470
  msgstr ""
1471
1471
 
1472
+ #. Default: "Documenti"
1473
+ #: components/View/ComeFarePer/ComeFarePerDocumenti
1474
+ msgid "come_fare_per_documenti"
1475
+ msgstr ""
1476
+
1477
+ #. Default: "Modulistica"
1478
+ #: components/View/ComeFarePer/ComeFarePerDocumenti
1479
+ msgid "come_fare_per_modulistica"
1480
+ msgstr ""
1481
+
1472
1482
  #. Default: "Panoramica"
1473
1483
  #: components/View/ComeFarePer/ComeFarePerDescrizione
1474
1484
  msgid "come_fare_per_panoramica"
@@ -1489,11 +1499,6 @@ msgstr ""
1489
1499
  msgid "comefareper_approfondimenti"
1490
1500
  msgstr ""
1491
1501
 
1492
- #. Default: "Documenti"
1493
- #: components/View/ComeFarePer/ComeFarePerAllegati
1494
- msgid "comefareper_documenti"
1495
- msgstr ""
1496
-
1497
1502
  #. Default: "Contatti"
1498
1503
  #: components/Blocks/Contacts/schema
1499
1504
  msgid "contacts_block_title"
@@ -2062,6 +2067,11 @@ msgstr ""
2062
2067
  msgid "iconDescription"
2063
2068
  msgstr ""
2064
2069
 
2070
+ #. Default: "Icona per {topic_title}"
2071
+ #: components/View/commons/PageHeader/HeaderIcon
2072
+ msgid "icon_title"
2073
+ msgstr ""
2074
+
2065
2075
  #. Default: "Blocco con icone"
2066
2076
  #: components/Blocks/Icons/Sidebar
2067
2077
  msgid "icons_blocks"
@@ -3435,12 +3445,12 @@ msgid "select_risultato"
3435
3445
  msgstr ""
3436
3446
 
3437
3447
  #. Default: "Servizio non attivo"
3438
- #: components/View/commons/PageHeader/PageHeaderStatoServizio
3448
+ #: components/View/Servizio/BadgeStatusServizio
3439
3449
  msgid "service_off"
3440
3450
  msgstr ""
3441
3451
 
3442
3452
  #. Default: "Servizio attivo"
3443
- #: components/View/commons/PageHeader/PageHeaderStatoServizio
3453
+ #: components/View/Servizio/BadgeStatusServizio
3444
3454
  msgid "service_on"
3445
3455
  msgstr ""
3446
3456
 
@@ -3504,12 +3514,6 @@ msgstr ""
3504
3514
  msgid "servizio_modulistica"
3505
3515
  msgstr ""
3506
3516
 
3507
- #. Default: "Servizio online"
3508
- #: components/Blocks/Listing/SimpleCard/Card/SimpleCardDefault
3509
- #: components/Cards/CardSimple/CardSimple
3510
- msgid "servizio_online_chip"
3511
- msgstr ""
3512
-
3513
3517
  #. Default: "Orari del servizio"
3514
3518
  #: components/View/Servizio/ServizioOrari
3515
3519
  msgid "servizio_orari"
@@ -723,11 +723,6 @@ msgstr "Sélectionner un fichier"
723
723
  msgid "Seleziona un'icona"
724
724
  msgstr ""
725
725
 
726
- #. Default: "Servizio disponibile e prenotabile"
727
- #: components/View/commons/PageHeader/PageHeaderStatoServizio
728
- msgid "Service available"
729
- msgstr ""
730
-
731
726
  #. Default: "Sono occorsi degli errori"
732
727
  #: components/Search/Search
733
728
  msgid "Sono occorsi degli errori"
@@ -1464,11 +1459,26 @@ msgstr ""
1464
1459
  msgid "come_fare_per_a_chi_si_rivolge"
1465
1460
  msgstr ""
1466
1461
 
1462
+ #. Default: "Allegati"
1463
+ #: components/View/ComeFarePer/ComeFarePerDocumenti
1464
+ msgid "come_fare_per_allegati"
1465
+ msgstr ""
1466
+
1467
1467
  #. Default: "Come fare"
1468
1468
  #: components/View/ComeFarePer/ComeFarePerComeFare
1469
1469
  msgid "come_fare_per_come_fare"
1470
1470
  msgstr ""
1471
1471
 
1472
+ #. Default: "Documenti"
1473
+ #: components/View/ComeFarePer/ComeFarePerDocumenti
1474
+ msgid "come_fare_per_documenti"
1475
+ msgstr ""
1476
+
1477
+ #. Default: "Modulistica"
1478
+ #: components/View/ComeFarePer/ComeFarePerDocumenti
1479
+ msgid "come_fare_per_modulistica"
1480
+ msgstr ""
1481
+
1472
1482
  #. Default: "Panoramica"
1473
1483
  #: components/View/ComeFarePer/ComeFarePerDescrizione
1474
1484
  msgid "come_fare_per_panoramica"
@@ -1489,11 +1499,6 @@ msgstr ""
1489
1499
  msgid "comefareper_approfondimenti"
1490
1500
  msgstr ""
1491
1501
 
1492
- #. Default: "Documenti"
1493
- #: components/View/ComeFarePer/ComeFarePerAllegati
1494
- msgid "comefareper_documenti"
1495
- msgstr ""
1496
-
1497
1502
  #. Default: "Contatti"
1498
1503
  #: components/Blocks/Contacts/schema
1499
1504
  msgid "contacts_block_title"
@@ -2062,6 +2067,11 @@ msgstr ""
2062
2067
  msgid "iconDescription"
2063
2068
  msgstr ""
2064
2069
 
2070
+ #. Default: "Icona per {topic_title}"
2071
+ #: components/View/commons/PageHeader/HeaderIcon
2072
+ msgid "icon_title"
2073
+ msgstr ""
2074
+
2065
2075
  #. Default: "Blocco con icone"
2066
2076
  #: components/Blocks/Icons/Sidebar
2067
2077
  msgid "icons_blocks"
@@ -3435,12 +3445,12 @@ msgid "select_risultato"
3435
3445
  msgstr ""
3436
3446
 
3437
3447
  #. Default: "Servizio non attivo"
3438
- #: components/View/commons/PageHeader/PageHeaderStatoServizio
3448
+ #: components/View/Servizio/BadgeStatusServizio
3439
3449
  msgid "service_off"
3440
3450
  msgstr ""
3441
3451
 
3442
3452
  #. Default: "Servizio attivo"
3443
- #: components/View/commons/PageHeader/PageHeaderStatoServizio
3453
+ #: components/View/Servizio/BadgeStatusServizio
3444
3454
  msgid "service_on"
3445
3455
  msgstr ""
3446
3456
 
@@ -3504,12 +3514,6 @@ msgstr ""
3504
3514
  msgid "servizio_modulistica"
3505
3515
  msgstr ""
3506
3516
 
3507
- #. Default: "Servizio online"
3508
- #: components/Blocks/Listing/SimpleCard/Card/SimpleCardDefault
3509
- #: components/Cards/CardSimple/CardSimple
3510
- msgid "servizio_online_chip"
3511
- msgstr ""
3512
-
3513
3517
  #. Default: "Orari del servizio"
3514
3518
  #: components/View/Servizio/ServizioOrari
3515
3519
  msgid "servizio_orari"
@@ -716,11 +716,6 @@ msgstr "Seleziona un file"
716
716
  msgid "Seleziona un'icona"
717
717
  msgstr ""
718
718
 
719
- #. Default: "Servizio disponibile e prenotabile"
720
- #: components/View/commons/PageHeader/PageHeaderStatoServizio
721
- msgid "Service available"
722
- msgstr ""
723
-
724
719
  #. Default: "Sono occorsi degli errori"
725
720
  #: components/Search/Search
726
721
  msgid "Sono occorsi degli errori"
@@ -1457,11 +1452,26 @@ msgstr "Giallo"
1457
1452
  msgid "come_fare_per_a_chi_si_rivolge"
1458
1453
  msgstr ""
1459
1454
 
1455
+ #. Default: "Allegati"
1456
+ #: components/View/ComeFarePer/ComeFarePerDocumenti
1457
+ msgid "come_fare_per_allegati"
1458
+ msgstr ""
1459
+
1460
1460
  #. Default: "Come fare"
1461
1461
  #: components/View/ComeFarePer/ComeFarePerComeFare
1462
1462
  msgid "come_fare_per_come_fare"
1463
1463
  msgstr ""
1464
1464
 
1465
+ #. Default: "Documenti"
1466
+ #: components/View/ComeFarePer/ComeFarePerDocumenti
1467
+ msgid "come_fare_per_documenti"
1468
+ msgstr ""
1469
+
1470
+ #. Default: "Modulistica"
1471
+ #: components/View/ComeFarePer/ComeFarePerDocumenti
1472
+ msgid "come_fare_per_modulistica"
1473
+ msgstr ""
1474
+
1465
1475
  #. Default: "Panoramica"
1466
1476
  #: components/View/ComeFarePer/ComeFarePerDescrizione
1467
1477
  msgid "come_fare_per_panoramica"
@@ -1482,11 +1492,6 @@ msgstr ""
1482
1492
  msgid "comefareper_approfondimenti"
1483
1493
  msgstr ""
1484
1494
 
1485
- #. Default: "Documenti"
1486
- #: components/View/ComeFarePer/ComeFarePerAllegati
1487
- msgid "comefareper_documenti"
1488
- msgstr ""
1489
-
1490
1495
  #. Default: "Contatti"
1491
1496
  #: components/Blocks/Contacts/schema
1492
1497
  msgid "contacts_block_title"
@@ -2055,6 +2060,11 @@ msgstr ""
2055
2060
  msgid "iconDescription"
2056
2061
  msgstr ""
2057
2062
 
2063
+ #. Default: "Icona per {topic_title}"
2064
+ #: components/View/commons/PageHeader/HeaderIcon
2065
+ msgid "icon_title"
2066
+ msgstr ""
2067
+
2058
2068
  #. Default: "Blocco con icone"
2059
2069
  #: components/Blocks/Icons/Sidebar
2060
2070
  msgid "icons_blocks"
@@ -3428,12 +3438,12 @@ msgid "select_risultato"
3428
3438
  msgstr ""
3429
3439
 
3430
3440
  #. Default: "Servizio non attivo"
3431
- #: components/View/commons/PageHeader/PageHeaderStatoServizio
3441
+ #: components/View/Servizio/BadgeStatusServizio
3432
3442
  msgid "service_off"
3433
3443
  msgstr "Servizio non attivo"
3434
3444
 
3435
3445
  #. Default: "Servizio attivo"
3436
- #: components/View/commons/PageHeader/PageHeaderStatoServizio
3446
+ #: components/View/Servizio/BadgeStatusServizio
3437
3447
  msgid "service_on"
3438
3448
  msgstr "Servizio attivo"
3439
3449
 
@@ -3497,12 +3507,6 @@ msgstr ""
3497
3507
  msgid "servizio_modulistica"
3498
3508
  msgstr ""
3499
3509
 
3500
- #. Default: "Servizio online"
3501
- #: components/Blocks/Listing/SimpleCard/Card/SimpleCardDefault
3502
- #: components/Cards/CardSimple/CardSimple
3503
- msgid "servizio_online_chip"
3504
- msgstr ""
3505
-
3506
3510
  #. Default: "Orari del servizio"
3507
3511
  #: components/View/Servizio/ServizioOrari
3508
3512
  msgid "servizio_orari"
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: 2025-09-19T13:15:59.811Z\n"
4
+ "POT-Creation-Date: 2026-04-21T07:20:20.069Z\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"
@@ -718,11 +718,6 @@ msgstr ""
718
718
  msgid "Seleziona un'icona"
719
719
  msgstr ""
720
720
 
721
- #. Default: "Servizio disponibile e prenotabile"
722
- #: components/View/commons/PageHeader/PageHeaderStatoServizio
723
- msgid "Service available"
724
- msgstr ""
725
-
726
721
  #. Default: "Sono occorsi degli errori"
727
722
  #: components/Search/Search
728
723
  msgid "Sono occorsi degli errori"
@@ -1459,11 +1454,26 @@ msgstr ""
1459
1454
  msgid "come_fare_per_a_chi_si_rivolge"
1460
1455
  msgstr ""
1461
1456
 
1457
+ #. Default: "Allegati"
1458
+ #: components/View/ComeFarePer/ComeFarePerDocumenti
1459
+ msgid "come_fare_per_allegati"
1460
+ msgstr ""
1461
+
1462
1462
  #. Default: "Come fare"
1463
1463
  #: components/View/ComeFarePer/ComeFarePerComeFare
1464
1464
  msgid "come_fare_per_come_fare"
1465
1465
  msgstr ""
1466
1466
 
1467
+ #. Default: "Documenti"
1468
+ #: components/View/ComeFarePer/ComeFarePerDocumenti
1469
+ msgid "come_fare_per_documenti"
1470
+ msgstr ""
1471
+
1472
+ #. Default: "Modulistica"
1473
+ #: components/View/ComeFarePer/ComeFarePerDocumenti
1474
+ msgid "come_fare_per_modulistica"
1475
+ msgstr ""
1476
+
1467
1477
  #. Default: "Panoramica"
1468
1478
  #: components/View/ComeFarePer/ComeFarePerDescrizione
1469
1479
  msgid "come_fare_per_panoramica"
@@ -1484,11 +1494,6 @@ msgstr ""
1484
1494
  msgid "comefareper_approfondimenti"
1485
1495
  msgstr ""
1486
1496
 
1487
- #. Default: "Documenti"
1488
- #: components/View/ComeFarePer/ComeFarePerAllegati
1489
- msgid "comefareper_documenti"
1490
- msgstr ""
1491
-
1492
1497
  #. Default: "Contatti"
1493
1498
  #: components/Blocks/Contacts/schema
1494
1499
  msgid "contacts_block_title"
@@ -2057,6 +2062,11 @@ msgstr ""
2057
2062
  msgid "iconDescription"
2058
2063
  msgstr ""
2059
2064
 
2065
+ #. Default: "Icona per {topic_title}"
2066
+ #: components/View/commons/PageHeader/HeaderIcon
2067
+ msgid "icon_title"
2068
+ msgstr ""
2069
+
2060
2070
  #. Default: "Blocco con icone"
2061
2071
  #: components/Blocks/Icons/Sidebar
2062
2072
  msgid "icons_blocks"
@@ -3430,12 +3440,12 @@ msgid "select_risultato"
3430
3440
  msgstr ""
3431
3441
 
3432
3442
  #. Default: "Servizio non attivo"
3433
- #: components/View/commons/PageHeader/PageHeaderStatoServizio
3443
+ #: components/View/Servizio/BadgeStatusServizio
3434
3444
  msgid "service_off"
3435
3445
  msgstr ""
3436
3446
 
3437
3447
  #. Default: "Servizio attivo"
3438
- #: components/View/commons/PageHeader/PageHeaderStatoServizio
3448
+ #: components/View/Servizio/BadgeStatusServizio
3439
3449
  msgid "service_on"
3440
3450
  msgstr ""
3441
3451
 
@@ -3499,12 +3509,6 @@ msgstr ""
3499
3509
  msgid "servizio_modulistica"
3500
3510
  msgstr ""
3501
3511
 
3502
- #. Default: "Servizio online"
3503
- #: components/Blocks/Listing/SimpleCard/Card/SimpleCardDefault
3504
- #: components/Cards/CardSimple/CardSimple
3505
- msgid "servizio_online_chip"
3506
- msgstr ""
3507
-
3508
3512
  #. Default: "Orari del servizio"
3509
3513
  #: components/View/Servizio/ServizioOrari
3510
3514
  msgid "servizio_orari"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "io-sanita-theme",
3
- "version": "2.23.2",
3
+ "version": "2.25.0",
4
4
  "description": "io-sanita-theme: Volto add-on",
5
5
  "main": "src/index.js",
6
6
  "license": "MIT",
package/publiccode.yml CHANGED
@@ -12,14 +12,15 @@ categories:
12
12
  dependsOn:
13
13
  open:
14
14
  - name: nodejs
15
- versionMin: '20'
15
+ versionMin: "20"
16
16
  - name: Python
17
- versionMin: '3.11'
17
+ versionMin: "3.11"
18
18
  - name: Docker
19
- versionMin: '18.03'
19
+ versionMin: "18.03"
20
20
  optional: true
21
21
  usedBy:
22
22
  - AUSL Ferrara
23
+ - IRST
23
24
  developmentStatus: stable
24
25
  softwareType: standalone/web
25
26
  description:
@@ -9,7 +9,6 @@ import {
9
9
  CardTitle,
10
10
  CardText,
11
11
  CardReadMore,
12
- Badge,
13
12
  } from 'design-react-kit';
14
13
  import { injectLazyLibs } from '@plone/volto/helpers/Loadable/Loadable';
15
14
  import UniversalLink from '@plone/volto/components/manage/UniversalLink/UniversalLink';
@@ -22,6 +21,7 @@ import {
22
21
  } from 'io-sanita-theme/helpers';
23
22
  import { CardCategoryBottom } from 'io-sanita-theme/components';
24
23
  import { ListingText } from 'io-sanita-theme/components/Blocks';
24
+ import { BadgeStatusServizio } from 'io-sanita-theme/components/View/Servizio';
25
25
 
26
26
  import { CardCategoryTop } from 'io-sanita-theme/components';
27
27
  import 'io-sanita-theme/components/Cards/CardSimple/cardSimple.scss';
@@ -36,10 +36,6 @@ const messages = defineMessages({
36
36
  id: 'update_date',
37
37
  defaultMessage: 'Data di aggiornamento',
38
38
  },
39
- servizioOnline: {
40
- id: 'servizio_online_chip',
41
- defaultMessage: 'Servizio online',
42
- },
43
39
  });
44
40
 
45
41
  const SimpleCardDefault = (props) => {
@@ -92,8 +88,6 @@ const SimpleCardDefault = (props) => {
92
88
  const listingText = show_description ? <ListingText item={item} /> : null;
93
89
 
94
90
  const type = item['@type'];
95
- const isServizioOnline =
96
- item['@type'] === 'Servizio' && item?.servizio_attivo;
97
91
 
98
92
  const BlockExtraTags = getComponentWithFallback({
99
93
  name: 'BlockExtraTags',
@@ -127,13 +121,7 @@ const SimpleCardDefault = (props) => {
127
121
  </CardTitle>
128
122
 
129
123
  {/* Chip servizio attivo */}
130
- {isServizioOnline && (
131
- <div className="mb-3">
132
- <Badge color="info">
133
- {intl.formatMessage(messages.servizioOnline)}
134
- </Badge>
135
- </div>
136
- )}
124
+ <BadgeStatusServizio item={item} wrapperClassName="mb-3" />
137
125
  {listingText && (
138
126
  <CardText className={cx('', { 'mb-5': eventRecurrenceMore })}>
139
127
  {listingText}
@@ -6,7 +6,6 @@ import cx from 'classnames';
6
6
  import { Card, CardBody, CardText, CardTitle } from 'design-react-kit';
7
7
 
8
8
  import VoltoIcon from '@plone/volto/components/theme/Icon/Icon';
9
- import ConditionalLink from '@plone/volto/components/manage/ConditionalLink/ConditionalLink';
10
9
  import { PuntoDiContattoValue } from 'io-sanita-theme/helpers';
11
10
 
12
11
  import telephoneIcon from 'io-sanita-theme/icons/telephone_icon.svg';
@@ -19,8 +18,6 @@ const CardContatti = ({
19
18
  className,
20
19
  ...rest
21
20
  }) => {
22
- const contactUrl = item['@id'];
23
-
24
21
  return (
25
22
  <Card
26
23
  className={cx('shadow rounded card-contatti no-after', className)}
@@ -33,13 +30,7 @@ const CardContatti = ({
33
30
  className="me-2 icon-sm icon-svg-telephone"
34
31
  name={telephoneIcon}
35
32
  />
36
- <ConditionalLink
37
- to={contactUrl}
38
- condition={contactUrl != null}
39
- className="text-decoration-none"
40
- >
41
- {item.title}
42
- </ConditionalLink>
33
+ {item.title}
43
34
  </CardTitle>
44
35
  )}
45
36
  {item?.contatti?.length > 0 && (
@@ -48,10 +39,10 @@ const CardContatti = ({
48
39
  return pdc.valore ? (
49
40
  <span key={index}>
50
41
  <span className="pdc-type">{pdc.tipo_label || pdc.tipo}</span>
51
- {/* <span className="pdc-desc">
52
- {pdc.descrizione ? ` - ${pdc.descrizione}` : ''}:{' '}
53
- </span> */}
54
42
  : <PuntoDiContattoValue value={pdc} />
43
+ <span className="pdc-desc">
44
+ {pdc.descrizione ? ` - ${pdc.descrizione}` : ''}
45
+ </span>
55
46
  </span>
56
47
  ) : (
57
48
  <></>
@@ -12,10 +12,11 @@
12
12
  span {
13
13
  flex: 1 1 100%;
14
14
  font-size: 0.8886rem;
15
+ word-break: break-word;
15
16
  }
16
17
 
17
18
  .pdc-type {
18
19
  text-transform: capitalize;
19
20
  }
20
21
  }
21
- }
22
+ }
@@ -7,20 +7,14 @@ del modello dei siti ASL, la prop che va a leggere è: 'servizio_attivo'
7
7
  */
8
8
 
9
9
  import React from 'react';
10
- import { useIntl, defineMessages } from 'react-intl';
10
+ import { useIntl } from 'react-intl';
11
11
  import Highlighter from 'react-highlight-words';
12
12
  import { Card, CardBody, CardTitle, CardText, Badge } from 'design-react-kit';
13
13
  import UniversalLink from '@plone/volto/components/manage/UniversalLink/UniversalLink';
14
14
  import { CardCategoryBottom } from 'io-sanita-theme/components';
15
+ import { BadgeStatusServizio } from 'io-sanita-theme/components/View/Servizio';
15
16
  import { viewDate } from 'io-sanita-theme/helpers';
16
17
  import './cardSimple.scss';
17
-
18
- const messages = defineMessages({
19
- servizioOnline: {
20
- id: 'servizio_online_chip',
21
- defaultMessage: 'Servizio online',
22
- },
23
- });
24
18
  export const CardSimple = ({
25
19
  showDescription = true,
26
20
  showCategory = true,
@@ -38,8 +32,7 @@ export const CardSimple = ({
38
32
  ? viewDate(intl.locale, item.effective, 'DD MMMM YYYY')
39
33
  : null;
40
34
 
41
- const isServizioOnline =
42
- item['@type'] === 'Servizio' && item?.servizio_attivo;
35
+ const isServizio = item['@type'] === 'Servizio';
43
36
 
44
37
  const title = highlight ? (
45
38
  <Highlighter
@@ -63,7 +56,7 @@ export const CardSimple = ({
63
56
  item.description
64
57
  );
65
58
 
66
- const display_badge = isServizioOnline || badgeText?.length > 0;
59
+ const display_badge = isServizio || badgeText?.length > 0;
67
60
  return (
68
61
  <Card className={`shadow rounded no-after card-simple ${className ?? ''}`}>
69
62
  <CardBody>
@@ -86,11 +79,11 @@ export const CardSimple = ({
86
79
  {/* Chip badge: servizio attivo per servizi o badge con badgeText */}
87
80
  {display_badge && (
88
81
  <div className={showDescription ? 'mb-3' : ''}>
89
- <Badge color="info">
90
- {isServizioOnline
91
- ? intl.formatMessage(messages.servizioOnline)
92
- : badgeText}
93
- </Badge>
82
+ {isServizio ? (
83
+ <BadgeStatusServizio item={item} />
84
+ ) : (
85
+ <Badge color="info">{badgeText}</Badge>
86
+ )}
94
87
  </div>
95
88
  )}
96
89
 
@@ -0,0 +1,56 @@
1
+ import React from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import { defineMessages, useIntl } from 'react-intl';
4
+ import { contentFolderHasItems } from 'io-sanita-theme/helpers';
5
+ import {
6
+ BackReferences,
7
+ Attachments,
8
+ } from 'io-sanita-theme/components/View/commons';
9
+
10
+ const messages = defineMessages({
11
+ allegati: {
12
+ id: 'come_fare_per_allegati',
13
+ defaultMessage: 'Allegati',
14
+ },
15
+ modulistica: { id: 'come_fare_per_modulistica', defaultMessage: 'Modulistica' },
16
+ documenti: {
17
+ id: 'come_fare_per_documenti',
18
+ defaultMessage: 'Documenti',
19
+ },
20
+ });
21
+
22
+ const ComeFarePerDocumenti = ({ content }) => {
23
+ const intl = useIntl();
24
+
25
+ return (
26
+ <>
27
+ {contentFolderHasItems(content, 'modulistica') && (
28
+ <Attachments
29
+ content={content}
30
+ folder_name={'modulistica'}
31
+ title={intl.formatMessage(messages.modulistica)}
32
+ />
33
+ )}
34
+ {contentFolderHasItems(content, 'allegati') && (
35
+ <Attachments
36
+ content={content}
37
+ folder_name={'allegati'}
38
+ title={intl.formatMessage(messages.allegati)}
39
+ />
40
+ )}
41
+
42
+ <BackReferences
43
+ type="Documento"
44
+ content={content}
45
+ id={'documenti_correlati'}
46
+ title={intl.formatMessage(messages.documenti)}
47
+ />
48
+ </>
49
+ );
50
+ };
51
+
52
+ ComeFarePerDocumenti.propTypes = {
53
+ content: PropTypes.object.isRequired,
54
+ };
55
+
56
+ export default ComeFarePerDocumenti;
@@ -22,23 +22,23 @@ import {
22
22
  import {
23
23
  ComeFarePerDescrizione,
24
24
  ComeFarePerAChiSiRivolge,
25
- ComeFarePerAllegati,
26
25
  ComeFarePerComeFare,
27
26
  ComeFarePerApprofondimenti,
28
27
  ComeFarePerUlterioriInformazioni,
28
+ ComeFarePerDocumenti,
29
29
  ComeFarePerSchemaOrg,
30
30
  } from 'io-sanita-theme/components/View/ComeFarePer';
31
31
 
32
32
  export const ComeFarePerViewSectionsOrder = [
33
33
  { /* DESCRIZIONE ESTESA (Panoramica) */ component: ComeFarePerDescrizione },
34
34
  { /* A CHI SI RIVOLGE */ component: ComeFarePerAChiSiRivolge },
35
- { /* ALLEGATI */ component: ComeFarePerAllegati },
36
35
  { /* COME FARE */ component: ComeFarePerComeFare },
37
36
  { /* APPROFONDIMENTI */ component: ComeFarePerApprofondimenti },
38
37
  {
39
38
  /* ULTERIORI INFORMAZIONI (e Parliamo di) */ component:
40
39
  ComeFarePerUlterioriInformazioni,
41
40
  },
41
+ { /* DOCUMENTI & ALLEGATI */ component: ComeFarePerDocumenti },
42
42
  { /* METADATA */ component: Metadata },
43
43
  { /* SCHEMA ORG*/ component: ComeFarePerSchemaOrg },
44
44
  ];
@@ -10,11 +10,7 @@ export const ComeFarePerAChiSiRivolge = loadable(() =>
10
10
  /* webpackChunkName: "ISComeFarePerView" */ 'io-sanita-theme/components/View/ComeFarePer/ComeFarePerAChiSiRivolge'
11
11
  ),
12
12
  );
13
- export const ComeFarePerAllegati = loadable(() =>
14
- import(
15
- /* webpackChunkName: "ISComeFarePerView" */ 'io-sanita-theme/components/View/ComeFarePer/ComeFarePerAllegati'
16
- ),
17
- );
13
+
18
14
  export const ComeFarePerComeFare = loadable(() =>
19
15
  import(
20
16
  /* webpackChunkName: "ISComeFarePerView" */ 'io-sanita-theme/components/View/ComeFarePer/ComeFarePerComeFare'
@@ -26,6 +22,11 @@ export const ComeFarePerDescrizione = loadable(() =>
26
22
  /* webpackChunkName: "ISComeFarePerView" */ 'io-sanita-theme/components/View/ComeFarePer/ComeFarePerDescrizione'
27
23
  ),
28
24
  );
25
+ export const ComeFarePerDocumenti = loadable(() =>
26
+ import(
27
+ /* webpackChunkName: "ISComeFarePerView" */ 'io-sanita-theme/components/View/ComeFarePer/ComeFarePerDocumenti'
28
+ ),
29
+ );
29
30
  export const ComeFarePerUlterioriInformazioni = loadable(() =>
30
31
  import(
31
32
  /* webpackChunkName: "ISComeFarePerView" */ 'io-sanita-theme/components/View/ComeFarePer/ComeFarePerUlterioriInformazioni'
@@ -0,0 +1,37 @@
1
+ import { defineMessages, useIntl } from 'react-intl';
2
+ import { Badge } from 'design-react-kit';
3
+
4
+ const messages = defineMessages({
5
+ service_on: {
6
+ id: 'service_on',
7
+ defaultMessage: 'Servizio attivo',
8
+ },
9
+ service_off: {
10
+ id: 'service_off',
11
+ defaultMessage: 'Servizio non attivo',
12
+ },
13
+ });
14
+
15
+ const BadgeStatusServizio = ({ item, wrapperClassName = null }) => {
16
+ const intl = useIntl();
17
+
18
+ if (item?.['@type'] !== 'Servizio') {
19
+ return null;
20
+ }
21
+
22
+ const badge = (
23
+ <Badge color={item.servizio_attivo ? 'info' : 'danger'}>
24
+ {item.servizio_attivo
25
+ ? intl.formatMessage(messages.service_on)
26
+ : intl.formatMessage(messages.service_off)}
27
+ </Badge>
28
+ );
29
+
30
+ return wrapperClassName ? (
31
+ <div className={wrapperClassName}>{badge}</div>
32
+ ) : (
33
+ badge
34
+ );
35
+ };
36
+
37
+ export default BadgeStatusServizio;
@@ -108,3 +108,9 @@ export const ServizioSchemaOrg = loadable(
108
108
  /* webpackChunkName: "ISServizioView" */ 'io-sanita-theme/components/View/Servizio/ServizioSchemaOrg'
109
109
  ),
110
110
  );
111
+ export const BadgeStatusServizio = loadable(
112
+ () =>
113
+ import(
114
+ /* webpackChunkName: "ISBadgeStatusServizio" */ 'io-sanita-theme/components/View/Servizio/BadgeStatusServizio'
115
+ ),
116
+ );
@@ -0,0 +1,36 @@
1
+ import React from 'react';
2
+ import { useIntl, defineMessages } from 'react-intl';
3
+ import PropTypes from 'prop-types';
4
+ import { Icon } from 'io-sanita-theme/components';
5
+
6
+ const messages = defineMessages({
7
+ iconTitle: {
8
+ id: 'icon_title',
9
+ defaultMessage: 'Icona per {topic_title}',
10
+ },
11
+ });
12
+
13
+ const HeaderIcon = ({ icon, title }) => {
14
+ const intl = useIntl();
15
+
16
+ return icon ? (
17
+ <div className="icon-argument-container mb-2">
18
+ <Icon
19
+ icon={icon}
20
+ {...(title
21
+ ? {
22
+ title: intl.formatMessage(messages.iconTitle, {
23
+ topic_title: title,
24
+ }),
25
+ }
26
+ : { 'aria-hidden': true })}
27
+ />
28
+ </div>
29
+ ) : null;
30
+ };
31
+
32
+ export default HeaderIcon;
33
+
34
+ HeaderIcon.propTypes = {
35
+ icon: PropTypes.string,
36
+ };
@@ -18,6 +18,7 @@ import {
18
18
  PageHeaderPersona,
19
19
  Sharing,
20
20
  } from 'io-sanita-theme/components/View/commons';
21
+ import HeaderIcon from 'io-sanita-theme/components/View/commons/PageHeader/HeaderIcon';
21
22
 
22
23
  const messages = defineMessages({
23
24
  reading_time: {
@@ -57,6 +58,9 @@ const PageHeader = (props) => {
57
58
  <div className="PageHeaderWrapper mb-4">
58
59
  <div className="row mb-2 mb-lg-0 page-header">
59
60
  <div className="py-lg-2 col-lg-10 page-header-left">
61
+ {(content.icon || content.icona) && (
62
+ <HeaderIcon icon={content.icon || content.icona} />
63
+ )}
60
64
  <h1
61
65
  data-element={
62
66
  content['@type'] === 'Servizio' ? 'service-title' : 'page-name'
@@ -1,37 +1,8 @@
1
- import { defineMessages, useIntl } from 'react-intl';
2
- import { Badge } from 'design-react-kit';
3
-
4
- const messages = defineMessages({
5
- service_available: {
6
- id: 'Service available',
7
- defaultMessage: 'Servizio disponibile e prenotabile',
8
- },
9
- service_on: {
10
- id: 'service_on',
11
- defaultMessage: 'Servizio attivo',
12
- },
13
- service_off: {
14
- id: 'service_off',
15
- defaultMessage: 'Servizio non attivo',
16
- },
17
- });
1
+ import { BadgeStatusServizio } from 'io-sanita-theme/components/View/Servizio';
18
2
 
19
3
  const PageHeaderServizio = ({ content }) => {
20
- const intl = useIntl();
21
-
22
4
  return content['@type'] === 'Servizio' ? (
23
- <div className="mb-3">
24
- <Badge color={content.servizio_attivo ? 'info' : 'danger'}>
25
- {content.servizio_attivo
26
- ? intl.formatMessage(messages.service_on)
27
- : intl.formatMessage(messages.service_off)}
28
- </Badge>
29
- {content.servizio_attivo && (
30
- <span className="px-2">
31
- {intl.formatMessage(messages.service_available)}
32
- </span>
33
- )}
34
- </div>
5
+ <BadgeStatusServizio item={content} wrapperClassName="mb-3" />
35
6
  ) : null;
36
7
  };
37
8
 
@@ -205,9 +205,12 @@ export const applyIoSanitaBlocksConfig = (config) => {
205
205
  },
206
206
  gridBlock: {
207
207
  ...config.blocks.blocksConfig.gridBlock,
208
- allowedBlocks: config.blocks.blocksConfig.gridBlock.allowedBlocks.filter(
209
- (item) => !['teaser'].includes(item),
210
- ),
208
+ allowedBlocks: [
209
+ ...config.blocks.blocksConfig.gridBlock.allowedBlocks.filter(
210
+ (item) => !['teaser'].includes(item),
211
+ ),
212
+ 'video',
213
+ ],
211
214
  },
212
215
  hero: {
213
216
  id: 'hero',
@@ -288,7 +291,9 @@ export const applyIoSanitaBlocksConfig = (config) => {
288
291
  search: {
289
292
  ...config.blocks.blocksConfig.search,
290
293
  // filtro top non personalizzato / non funzionante con layout agid
291
- variations: config.blocks.blocksConfig.search.variations.filter((v) => v.id !== 'facetsTopSide'),
294
+ variations: config.blocks.blocksConfig.search.variations.filter(
295
+ (v) => v.id !== 'facetsTopSide',
296
+ ),
292
297
  templates: [
293
298
  ...listingVariations.map((v) => v.id).filter((v) => v !== 'carousel'),
294
299
  ],
@@ -25,6 +25,7 @@ import faUserSVG from 'io-sanita-theme/icons/user.svg';
25
25
  import faCogSVG from 'io-sanita-theme/icons/cog.svg';
26
26
  import faSitemapSVG from 'io-sanita-theme/icons/sitemap.svg';
27
27
  import faBuildingSVG from 'io-sanita-theme/icons/building.svg';
28
+ import faAslSVG from 'io-sanita-theme/icons/asl.svg';
28
29
  import faFileDownloadSVG from 'io-sanita-theme/icons/file-download.svg';
29
30
  import faQuestionSVG from 'io-sanita-theme/icons/question-solid.svg';
30
31
  import bandoSVG from 'io-sanita-theme/icons/bando.svg';
@@ -141,6 +142,7 @@ export default function applyConfig(config) {
141
142
  Image: faImageSVG,
142
143
  File: faFileSVG,
143
144
  Link: faLinkSVG,
145
+ Struttura: faAslSVG,
144
146
 
145
147
  Argomento: faBoxOpenSVG,
146
148
  CartellaModulistica: faArchiveSVG,
@@ -613,6 +613,28 @@ body.cms-ui {
613
613
  .icon.icon-margin {
614
614
  width: 20px !important;
615
615
  }
616
+
617
+ .future,
618
+ .expired {
619
+ display: inline-block;
620
+ padding: 2px 8px;
621
+ margin-left: 0.5em;
622
+ border-radius: 4px;
623
+ font-size: 0.8em;
624
+ font-weight: 600;
625
+ text-decoration: none;
626
+ white-space: nowrap;
627
+ }
628
+
629
+ .future {
630
+ background-color: #0066cc;
631
+ color: white;
632
+ }
633
+
634
+ .expired {
635
+ background-color: rgb(228, 1, 102);
636
+ color: white;
637
+ }
616
638
  }
617
639
  }
618
640
  #page-contents.ui.container.folder-contents {
@@ -750,7 +772,7 @@ body.cms-ui {
750
772
  body.has-toolbar {
751
773
  #toolbar {
752
774
  .toolbar-content.show {
753
- z-index: 9;
775
+ z-index: 501;
754
776
  }
755
777
  .personal-tools {
756
778
  .avatar {
@@ -52,7 +52,7 @@
52
52
  }
53
53
  }
54
54
 
55
- &.align.center iframe,
55
+ .video-inner iframe,
56
56
  &.full .video-inner.full-width iframe {
57
57
  position: absolute;
58
58
  top: 0;
@@ -1,3 +1,23 @@
1
+ .icon-argument-container {
2
+ display: flex;
3
+ width: 44px;
4
+ min-width: 44px;
5
+ height: 44px;
6
+ min-height: 44px;
7
+ align-items: center;
8
+ justify-content: center;
9
+ border-radius: 44px;
10
+ background-color: #f5f6f7;
11
+
12
+ .icon,
13
+ svg {
14
+ width: 24px;
15
+ height: 24px;
16
+ color: $primary;
17
+ fill: $primary;
18
+ }
19
+ }
20
+
1
21
  .PageHeaderWrapper {
2
22
  h1 {
3
23
  margin-bottom: 0.67em;
@@ -1,32 +0,0 @@
1
- import React from 'react';
2
- import PropTypes from 'prop-types';
3
- import { defineMessages, useIntl } from 'react-intl';
4
- import { Attachments } from 'io-sanita-theme/components/View/commons';
5
- import { contentFolderHasItems } from 'io-sanita-theme/helpers';
6
-
7
- const messages = defineMessages({
8
- documenti: {
9
- id: 'comefareper_documenti',
10
- defaultMessage: 'Documenti',
11
- },
12
- });
13
-
14
- const ComeFarePerAllegati = ({ content }) => {
15
- const intl = useIntl();
16
-
17
- return (
18
- contentFolderHasItems(content, 'allegati') && (
19
- <Attachments
20
- content={content}
21
- folder_name={'allegati'}
22
- title={intl.formatMessage(messages.documenti)}
23
- />
24
- )
25
- );
26
- };
27
-
28
- ComeFarePerAllegati.propTypes = {
29
- content: PropTypes.object.isRequired,
30
- };
31
-
32
- export default ComeFarePerAllegati;