diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 000000000..aebb5c663 --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +RELEASE.md merge=union diff --git a/CHANGELOG.md b/CHANGELOG.md index 2e0481ddd..df8a4ba14 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,67 @@ +### [7.22.2](https://github.com/redturtle/design-comuni-plone-theme/compare/v7.22.1...v7.22.2) (2023-10-11) + + +### Bug Fixes + +* rss card date ([#359](https://github.com/redturtle/design-comuni-plone-theme/issues/359)) ([18a50a7](https://github.com/redturtle/design-comuni-plone-theme/commit/18a50a76a73c7411138690ba84c7cb3fe37386c2)) + + +### Maintenance + +* preparing release ([44e4fa9](https://github.com/redturtle/design-comuni-plone-theme/commit/44e4fa93942cbf7253ad0547582d2b9c3d52409b)) + +### [7.22.1](https://github.com/RedTurtle/design-comuni-plone-theme/compare/v7.22.0...v7.22.1) (2023-09-27) + + +### Bug Fixes + +* fix search results usability for a11y ([#346](https://github.com/RedTurtle/design-comuni-plone-theme/issues/346)) ([8a891b9](https://github.com/RedTurtle/design-comuni-plone-theme/commit/8a891b93acc76b476c92fececf7372643223821e)) +* modulisticaview children non è un documento (non ha items) ([#351](https://github.com/RedTurtle/design-comuni-plone-theme/issues/351)) ([ad2b106](https://github.com/RedTurtle/design-comuni-plone-theme/commit/ad2b1062accf6b8dfcd94cb1ed62414b381ee5f1)) + +## [7.22.0](https://github.com/RedTurtle/design-comuni-plone-theme/compare/v7.21.0...v7.22.0) (2023-09-21) + + +### Features + +* enable/disable external link icon in listing template SmallBlocksLink ([0f9f872](https://github.com/RedTurtle/design-comuni-plone-theme/commit/0f9f872859edc7e940d3025b572786ba0b6f9f01)) + + +### Bug Fixes + +* accessibility for selectInput ([#343](https://github.com/RedTurtle/design-comuni-plone-theme/issues/343)) ([c4b1e66](https://github.com/RedTurtle/design-comuni-plone-theme/commit/c4b1e665e4e0eb8ce0d4a5e3f5b3927751ca8b2e)) +* focus on selected and default dates ([#333](https://github.com/RedTurtle/design-comuni-plone-theme/issues/333)) ([b271bec](https://github.com/RedTurtle/design-comuni-plone-theme/commit/b271bec2b0bbf264cbed4f41b5d8e268554e98c0)) + + +### Maintenance + +* added the 7.21.0 release info ([#337](https://github.com/RedTurtle/design-comuni-plone-theme/issues/337)) ([b478952](https://github.com/RedTurtle/design-comuni-plone-theme/commit/b478952628cc028353514c285fd0c2c02c674206)) +* release log title added ([#342](https://github.com/RedTurtle/design-comuni-plone-theme/issues/342)) ([2c150b5](https://github.com/RedTurtle/design-comuni-plone-theme/commit/2c150b57914b12b389c91bc44b9c4f57cf261f7a)) + +## [7.21.0](https://github.com/RedTurtle/design-comuni-plone-theme/compare/v7.20.4...v7.21.0) (2023-09-19) + + +### Features + +* added release-log ([#326](https://github.com/RedTurtle/design-comuni-plone-theme/issues/326)) ([4ba725f](https://github.com/RedTurtle/design-comuni-plone-theme/commit/4ba725f18cc96f7fdcbaff2b27b64dcb3f9a5862)) + + +### Bug Fixes + +* color corretion + file cleaned ([#321](https://github.com/RedTurtle/design-comuni-plone-theme/issues/321)) ([b08f430](https://github.com/RedTurtle/design-comuni-plone-theme/commit/b08f430f2687fb1732e9f2e889610188c54f6840)) +* i link in modulistica devono far vedere la remoteUrl e non il link (v2) ([#334](https://github.com/RedTurtle/design-comuni-plone-theme/issues/334)) ([a4b8b5d](https://github.com/RedTurtle/design-comuni-plone-theme/commit/a4b8b5de65ae66bbb54b26f5fa85c2e251909372)) + + +### Maintenance + +* Update RELEASE.md ([586d849](https://github.com/RedTurtle/design-comuni-plone-theme/commit/586d849f916c4632b323f43ef5f3e12755c31681)) + +### [7.20.4](https://github.com/RedTurtle/design-comuni-plone-theme/compare/v7.20.3...v7.20.4) (2023-09-13) + + +### Bug Fixes + +* calendar month a11y ([b24ebf6](https://github.com/RedTurtle/design-comuni-plone-theme/commit/b24ebf6ca0d45b29342e2a6fa956a644457d2d89)) + ### [7.20.3](https://github.com/RedTurtle/design-comuni-plone-theme/compare/v7.20.2...v7.20.3) (2023-09-12) diff --git a/RELEASE.md b/RELEASE.md new file mode 100644 index 000000000..fb1bc323f --- /dev/null +++ b/RELEASE.md @@ -0,0 +1,302 @@ + + + + + + +## Versione X.X.X (dd/mm/yyyy) + +### Migliorie + +- Aggiornata nuova icona di Twitter + +## Versione 7.22.2 (11/10/2023) + +### Fix + +- Sistemato il template degli Rss Card con immagine per mostrare la data corretta + +## Versione 7.22.1 (27/09/2023) + +### Migliorie + +- Nel template Blocco link solo immagini con link esterni, icona accessibilità per link esterni ora è disattivabile attraverso opzione del template +- Migliorata l'accessibilità e il supporto Screen Reader per il menu a tendina "Ordina Per" nella pagina di ricerca +- Migliorata accessibilità del calendario nel blocco ricerca Eventi e ricerca Bandi + +### Fix + +- Fissato il layout del template Blocco link solo immagini con link esterni, icona accessibilità per link esterni ora è posizionata invece in overlay se presente +- Sistemata la visualizzazione dello stato di caricamento della pagina /search +- Fissata pagina Cartella Modulistica in caso di moduli all'interno di documenti + +## Versione 7.21.0 (19/09/2023) + +### Novità + +- Aggiunto il release-log su panello di configurazioni [`Per accedere alla pagina con le informazioni sugli aggiornamenti accedere all'URL /release-log`] + +### Fix + +- Blocco info: Colori dentro editor di testo sistemati (bottoni draftJS) +- I link nella modulistica mostrano la remoteUrl + +## Versione 7.20.4 (13/09/2023) + +### Fix + +Accessibilità - Migliorata l'accessibilità del calendario + +## Versione 7.20.3 (12/09/2023) + +### Fix + +Accessibilità - Migliorata l'accessibilità dello Slider + +## Versione 7.20.2 (11/09/2023) + +### Fix + +Sistemato il caricamento delle mappe in alcuni contenuti + +## Versione 7.20.1 (06/09/2023) + +### Fix + +Sistemati i colori del blocco informazioni + +## Versione 7.20.0 (05/09/2023) + +### Migliorie + +- Aggiunto limite di caratteri agli input della descrizione + +### Fix + +- Sistemato il problema per cui nell'area modulistica eventuali link che puntano + a file non aprivano il file ma una pagina bianca del sito + + + +## Versione 7.19.1 + +### Migliorie + +- fissato un problema nei blocchi elenco del megamenu, per cui se si passava ad una pagina diversa, i blocchi elenco nel megamenu rimanevano in 'stato di caricamento'. + + +## Versione 7.19.0 + +### Migliorie + +- Accessibilità - migliorie sulla variazione "Slider" dei blocchi elenco +- Accessibilità - migliorata la navigazione dentro al menu principale + +### Fix + +- fissato focus sul pannello di aggiunta blocchi, che in alcuni casi rimaneva al di sotto dei blocchi sottostanti, inibendo di fatto la possibilità di selezionarli +- Sistemata la visibilità dei CT Luogo nel navigatore: ora vengono proposti anche come voci del menù principale + + +## Versione 7.18.8 + +### Fix + +- rimosso il link di contatto nelle pagine di errore "Non autorizzato" e "Non trovato" + + +## Versione 7.18.7 + +### Fix + +- Fissato un bug nella Card di testo con immagine, per cui non era possibile cambiare la dimensione dell'immagine. + + +## Versione 7.18.6 + +### Migliorie + +- Migliorata la gestione dei risultati di ricerca del sito (in caso di risultati su più pagine): ora ad esempio, cliccando su un risultato in terza pagina, e poi utilizzando il pulsante "Torna indietro" del browser, il numero di pagina della ricerca da cui si proveniva viene mantenuta. + + +## Versione 7.18.5 + +### Fix + +- Fissato un bug nella Cartella modulistica, per cui non si vedevano file, immagini e link inseriti come figli della cartella modulistica. + + +## Versione 7.18.1 + +### Fix + +- Fix sull'editor di testo per la gestione dei link + + +## Versione 7.18.0 + +### Novità + +- Aggiunto campo ricerca dentro al Content-type "Cartella Modulistica" - [`Istruzioni`](https://docs.google.com/document/d/1SThuxa_ah0BuNXukWs564kKPfprK41WLQE8Mome-0xg/edit#heading=h.97ulwc4mjw7c) + +### Fix + +- Fissato comportamento della checkbox per impostare lo sfondo nei "Blocchi elenco" + + +## Versione 7.15.2 + +### Novità + +- Nuovo "Blocco Grid" - [`Istruzioni`](https://docs.google.com/document/d/1SThuxa_ah0BuNXukWs564kKPfprK41WLQE8Mome-0xg/edit#heading=h.xfn2p1uq4gaw) + + +## Versione 7.14.0 + +### Migliorie + +- Migliorato il comportamento del "Blocco Accordion", per gestirne il corretto posizionamento in pagina sull'espansione delle voci +- Accessibilità migliorata per la ricerca in testata + + +## Versione 7.13.1 + +### Novità + +- Fissato Numero di slide da scorrere su mobile ("Blocco elenco" con variazione "Slider") settato a 1 +- "Blocco Twitter" rimosso (per modifiche delle condizioni di utilizzo da parte di Twitter) + + +## Versione 7.13.1 + +### Migliorie + +- Accessibilità - migliorata sulla variazione "Slider" dei blocchi elenco + + +## Versione 7.12.0 + +### Fix + +- Fissato il meccanismo di focus del menù laterale, sulla selezione dei blocchi nella pagina + + +## Versione 7.12.0 + +### Migliorie + +- Accessibilità - aggiornato il cookie banner (focus) + +### Fix + +- fix varie inerenti l'Accessibilità +- numero di telefono dentro card ufficio adesso è visibile anche senza indirizzo +- fix stili per il cookie banner + + +## Versione 7.11.1 + +### Migliorie + +- Aggiunte le frecce per la navigazione su blocco calendario + + +## Versione 7.11.0 + +### Fix + +- Reintrodotto bottone "link ad altro" su "Blocco calendario" +- Gestione errori su blocco twitter + + +## Versione 7.10.0 + +### Migliorie + +- Fissato il layout di stampa per pagine con Accordion +- aggiunte nuove opzioni di ordinamento nel blocco di ricerca Bandi: data effettiva e data modificata + +### Fix + +- Minor fix sul meccanismo di "Stampa" dei contenuti + + +## Versione 7.9.0 + +### Fix + +- Minor fix su comportamenti "Blocco Form" + + +## Versione 7.8.3 + +### Fix + +- Fissato "Blocco indice dei contenuti" + + +## Versione 7.6.0 + +### Novità + +- Possibilità di dimensionare l'icona (S, M, L) associata al blocco Alert + + +## Versione 7.5.1 + +### Fix + +- Sistemato meccanismo di Copia/incolla per i blocchi + + +## Versione 7.5.0 + +### Migliorie + +- "Blocco icone" - le icone ora restano allineate in alto ed hanno un'altezza fissa +- Opzione per scegliere il colore per lo sfondo delle card nel "Blocco elenco" con variazione "Link completo" - [`Istruzioni`](https://docs.google.com/document/d/1SThuxa_ah0BuNXukWs564kKPfprK41WLQE8Mome-0xg/edit#heading=h.xhyzg6rqxc5g) + +### Novità + +- Aggiunta opzione nel blocco "Blocco con icone" per centrare le card - [`Istruzioni`](https://docs.google.com/document/d/1SThuxa_ah0BuNXukWs564kKPfprK41WLQE8Mome-0xg/edit#heading=h.fwmn2siovvzr) +- Nuovo blocco "Informazioni" - [`Istruzioni`](https://docs.google.com/document/d/1SThuxa_ah0BuNXukWs564kKPfprK41WLQE8Mome-0xg/edit#heading=h.7ty110jumgmd) +- Aggiunta opzione per scegliere la dimensione dell'immagine su blocco "Alert" +- Aggiornato il selettore colori su "Blocco Alert" - [`Istruzioni`](https://docs.google.com/document/d/1SThuxa_ah0BuNXukWs564kKPfprK41WLQE8Mome-0xg/edit#heading=h.40rlr8tbssi) + +### Fix + +- Fissata immagine su editor del blocco HERO + + +## Versione 7.3.0 + +### Migliorie + +- Aggiunta descrizione per il campo select dentro al "Blocco Form" + diff --git a/locales/de/LC_MESSAGES/volto.po b/locales/de/LC_MESSAGES/volto.po index bbf99408e..ab9db93a0 100644 --- a/locales/de/LC_MESSAGES/volto.po +++ b/locales/de/LC_MESSAGES/volto.po @@ -2497,6 +2497,11 @@ msgstr "" msgid "other_info" msgstr "" +#: config/Blocks/ListingOptions/smallBlockLinksTemplate +# defaultMessage: Non mostrare l'icona di accessibilità per i link a siti esterni +msgid "override_links_accessibility_marker" +msgstr "Barrierefreiheitssymbol nicht für Links anzeigen, die auf externe Websites oder Ressourcen verweisen" + #: components/ItaliaTheme/View/Commons/TrasparenzaFields # defaultMessage: Pagamenti previsti e modalità msgid "pagamenti" diff --git a/locales/en/LC_MESSAGES/volto.po b/locales/en/LC_MESSAGES/volto.po index 13a95f04d..48a165ef3 100644 --- a/locales/en/LC_MESSAGES/volto.po +++ b/locales/en/LC_MESSAGES/volto.po @@ -2482,6 +2482,11 @@ msgstr "Ohter topics" msgid "other_info" msgstr "Further information" +#: config/Blocks/ListingOptions/smallBlockLinksTemplate +# defaultMessage: Non mostrare l'icona di accessibilità per i link a siti esterni +msgid "override_links_accessibility_marker" +msgstr "Do not show accessibility icon for links pointing to external websites or resources" + #: components/ItaliaTheme/View/Commons/TrasparenzaFields # defaultMessage: Pagamenti previsti e modalità msgid "pagamenti" diff --git a/locales/es/LC_MESSAGES/volto.po b/locales/es/LC_MESSAGES/volto.po index 471a0d951..da4e21887 100644 --- a/locales/es/LC_MESSAGES/volto.po +++ b/locales/es/LC_MESSAGES/volto.po @@ -2491,6 +2491,11 @@ msgstr "Otros temas" msgid "other_info" msgstr "Más información" +#: config/Blocks/ListingOptions/smallBlockLinksTemplate +# defaultMessage: Non mostrare l'icona di accessibilità per i link a siti esterni +msgid "override_links_accessibility_marker" +msgstr "No mostrar el ícono de accesibilidad para enlaces que apuntan a sitios web o recursos externos" + #: components/ItaliaTheme/View/Commons/TrasparenzaFields # defaultMessage: Pagamenti previsti e modalità msgid "pagamenti" diff --git a/locales/fr/LC_MESSAGES/volto.po b/locales/fr/LC_MESSAGES/volto.po index ff9060b99..28560574d 100644 --- a/locales/fr/LC_MESSAGES/volto.po +++ b/locales/fr/LC_MESSAGES/volto.po @@ -2499,6 +2499,11 @@ msgstr "Autres sujets" msgid "other_info" msgstr "Informations complémentaires" +#: config/Blocks/ListingOptions/smallBlockLinksTemplate +# defaultMessage: Non mostrare l'icona di accessibilità per i link a siti esterni +msgid "override_links_accessibility_marker" +msgstr "Ne pas afficher l'icône d'accessibilité pour les liens pointant vers des sites Web ou des ressources externes" + #: components/ItaliaTheme/View/Commons/TrasparenzaFields # defaultMessage: Pagamenti previsti e modalità msgid "pagamenti" diff --git a/locales/it/LC_MESSAGES/volto.po b/locales/it/LC_MESSAGES/volto.po index f5ce18d91..b52d64507 100644 --- a/locales/it/LC_MESSAGES/volto.po +++ b/locales/it/LC_MESSAGES/volto.po @@ -2482,6 +2482,11 @@ msgstr "Altri argomenti" msgid "other_info" msgstr "Ulteriori informazioni" +#: config/Blocks/ListingOptions/smallBlockLinksTemplate +# defaultMessage: Non mostrare l'icona di accessibilità per i link a siti esterni +msgid "override_links_accessibility_marker" +msgstr "" + #: components/ItaliaTheme/View/Commons/TrasparenzaFields # defaultMessage: Pagamenti previsti e modalità msgid "pagamenti" diff --git a/locales/volto.pot b/locales/volto.pot index 0b7a3ece8..f2f5570df 100644 --- a/locales/volto.pot +++ b/locales/volto.pot @@ -1,7 +1,7 @@ msgid "" msgstr "" "Project-Id-Version: Plone\n" -"POT-Creation-Date: 2023-09-04T15:56:21.451Z\n" +"POT-Creation-Date: 2023-09-19T07:30:36.575Z\n" "Last-Translator: Plone i18n \n" "Language-Team: Plone i18n \n" "MIME-Version: 1.0\n" @@ -2484,6 +2484,11 @@ msgstr "" msgid "other_info" msgstr "" +#: config/Blocks/ListingOptions/smallBlockLinksTemplate +# defaultMessage: Non mostrare l'icona di accessibilità per i link a siti esterni +msgid "override_links_accessibility_marker" +msgstr "" + #: components/ItaliaTheme/View/Commons/TrasparenzaFields # defaultMessage: Pagamenti previsti e modalità msgid "pagamenti" diff --git a/package.json b/package.json index 8dc5ffdfa..50b83dc48 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "design-comuni-plone-theme", "description": "Volto Theme for Italia design guidelines", "license": "MIT", - "version": "7.20.3", + "version": "7.22.2", "addons": [ "@plone-collective/volto-sentry", "volto-multilingual-widget", @@ -185,6 +185,7 @@ "classnames": "^2.3.2", "design-react-kit": "3.1.3", "htmldiff-js": "1.0.5", + "marked": "9.0.0", "react-dropzone": "11.0.1", "react-google-recaptcha-v3": "1.7.0", "react-highlight-words": "0.18.0", diff --git a/publiccode.yml b/publiccode.yml index b0dcf9ebe..ba8d738cf 100644 --- a/publiccode.yml +++ b/publiccode.yml @@ -227,9 +227,9 @@ maintenance: name: io-Comune - Il sito AgID per Comuni ed Enti Pubblici platforms: - web -releaseDate: '2023-07-11' +releaseDate: '2023-10-11' softwareType: standalone/web -softwareVersion: 7.13.2 +softwareVersion: 7.22.2 url: 'https://github.com/italia/design-comuni-plone-theme' usedBy: - ASP Comuni Modenesi Area Nord diff --git a/src/components/ItaliaTheme/Blocks/Listing/SmallBlockLinksTemplate.jsx b/src/components/ItaliaTheme/Blocks/Listing/SmallBlockLinksTemplate.jsx index f7c4a7bf0..2973f76ae 100644 --- a/src/components/ItaliaTheme/Blocks/Listing/SmallBlockLinksTemplate.jsx +++ b/src/components/ItaliaTheme/Blocks/Listing/SmallBlockLinksTemplate.jsx @@ -17,6 +17,7 @@ const SmallBlockLinksTemplate = ({ linkTitle, linkHref, center_cards, + override_links_accessibility_marker, }) => { return (
@@ -44,6 +45,9 @@ const SmallBlockLinksTemplate = ({ item={!isEditMode ? item : null} href={isEditMode ? '#' : ''} className="img-link" + overrideMarkSpecialLinks={ + override_links_accessibility_marker + } > {image} diff --git a/src/components/ItaliaTheme/Blocks/RssBlock/CardWithImageRssTemplate.jsx b/src/components/ItaliaTheme/Blocks/RssBlock/CardWithImageRssTemplate.jsx index f5db85ede..877999a5e 100644 --- a/src/components/ItaliaTheme/Blocks/RssBlock/CardWithImageRssTemplate.jsx +++ b/src/components/ItaliaTheme/Blocks/RssBlock/CardWithImageRssTemplate.jsx @@ -76,7 +76,9 @@ const CardWithImageRssTemplate = ({ )} - {getViewDate(item.pubDate, intl.locale)}{' '} + + {getViewDate(item.pubDate || item.date, intl.locale)} + {' '}
{item.title} diff --git a/src/components/ItaliaTheme/Icons/Icon.jsx b/src/components/ItaliaTheme/Icons/Icon.jsx index 43410ab11..06939fb88 100644 --- a/src/components/ItaliaTheme/Icons/Icon.jsx +++ b/src/components/ItaliaTheme/Icons/Icon.jsx @@ -7,6 +7,7 @@ import classNames from 'classnames'; import DesignIcon from './DesignIcon'; import TelegramSVG from './svg/TelegramSVG'; +import XTwitterSVG from './svg/XTwitterSVG'; import { FontAwesomeIcon } from 'design-comuni-plone-theme/components/ItaliaTheme'; const Icon = (props) => { @@ -25,10 +26,13 @@ const Icon = (props) => { const parts = icon.split(' '); - if (icon.indexOf('it-') === 0) { + // TO DO: rimuovere le condizioni dell'icona di twitter quando verrà aggiornato Bootstrap Italia + if (icon.indexOf('it-') === 0 && icon !== 'it-twitter') { return ; } else if (icon === 'telegram') { return ; + } else if (icon === 'it-twitter') { + return ; } else if (parts.length > 1) { return ( diff --git a/src/components/ItaliaTheme/Icons/svg/XTwitterSVG.jsx b/src/components/ItaliaTheme/Icons/svg/XTwitterSVG.jsx new file mode 100644 index 000000000..1d1cad9ef --- /dev/null +++ b/src/components/ItaliaTheme/Icons/svg/XTwitterSVG.jsx @@ -0,0 +1,18 @@ +import * as React from 'react'; + +const XTwitterSVG = (props) => ( + +); + +export default XTwitterSVG; diff --git a/src/components/ItaliaTheme/Search/Search.jsx b/src/components/ItaliaTheme/Search/Search.jsx index f9ff08da6..6c826c543 100644 --- a/src/components/ItaliaTheme/Search/Search.jsx +++ b/src/components/ItaliaTheme/Search/Search.jsx @@ -6,7 +6,7 @@ import React, { useState, useEffect } from 'react'; import { useDispatch, useSelector } from 'react-redux'; import { useIntl, defineMessages } from 'react-intl'; -import { values } from 'lodash'; +import { values, isEmpty } from 'lodash'; import cx from 'classnames'; import qs from 'query-string'; import moment from 'moment'; @@ -325,7 +325,7 @@ const Search = () => { true, ); - searchResults.result && + !isEmpty(searchResults.result) && history.push( getSearchParamsURL( searchableText, @@ -350,7 +350,6 @@ const Search = () => { }, 0); let activeTopics = values(topics).filter((t) => t.value).length; let activePortalTypes = values(portalTypes).filter((ct) => ct.value).length; - return ( <> @@ -615,72 +614,87 @@ const Search = () => { - {searchResults.loadingResults ? ( - - ) : searchResults?.result?.items_total > 0 ? ( -
-
- - -

- {intl.formatMessage(messages.foundNResults, { - total: searchResults.result.items_total, - })} -

-

- {intl.formatMessage(messages.orderBy)} -

- - - o.value === sortOn)[0] - } - label={intl.formatMessage(messages.orderBy)} - placeholder={intl.formatMessage(messages.orderBy)} - onChange={(opt) => setSortOn(opt.value)} - options={sortOnOptions} - /> - -
-
- - {searchResults?.result?.items?.map((item, index) => ( - - - - ))} +
+
+ + +

+ {intl.formatMessage(messages.foundNResults, { + total: searchResults?.result?.items_total || 0, + })} +

+

+ {intl.formatMessage(messages.orderBy)} +

+ + + o.value === sortOn)[0] + } + label={intl.formatMessage(messages.orderBy)} + placeholder={ + sortOnOptions.find((o) => o.value === sortOn).label + } + onChange={(opt) => setSortOn(opt.value)} + options={sortOnOptions} + defaultValue={sortOnOptions.find( + (o) => o.value === 'relevance', + )} + /> +
- {searchResults?.result?.batching && ( - - )}
- ) : searchResults.error ? ( - - {intl.formatMessage(messages.attenzione)}{' '} - {intl.formatMessage(messages.errors_occured)} - - ) : ( -

{intl.formatMessage(messages.no_results)}

- )} + + {searchResults.loadingResults || + (!searchResults.hasError && isEmpty(searchResults.result)) ? ( +
+ +
+ ) : searchResults?.result?.items_total > 0 ? ( + <> + + {searchResults?.result?.items?.map((item, index) => ( + + + + ))} + + {searchResults?.result?.batching && ( + + )} + + ) : searchResults.error ? ( + + {intl.formatMessage(messages.attenzione)}{' '} + {intl.formatMessage(messages.errors_occured)} + + ) : ( + !searchResults?.hasError && + !isEmpty(searchResults?.result) && + searchResults.result?.items.length === 0 && ( +

{intl.formatMessage(messages.no_results)}

+ ) + )} +
diff --git a/src/components/ItaliaTheme/View/CartellaModulisticaView/CartellaModulisticaView.jsx b/src/components/ItaliaTheme/View/CartellaModulisticaView/CartellaModulisticaView.jsx index c5fd612b5..1b7eb730f 100644 --- a/src/components/ItaliaTheme/View/CartellaModulisticaView/CartellaModulisticaView.jsx +++ b/src/components/ItaliaTheme/View/CartellaModulisticaView/CartellaModulisticaView.jsx @@ -116,7 +116,6 @@ const CartellaModulisticaView = ({ content }) => { return section['@type'] === 'Document' ? (
{/*

{section.title}

*/} - {section.blocks && Object.keys(section.blocks)?.length > 0 && ( @@ -131,16 +130,20 @@ const CartellaModulisticaView = ({ content }) => {
{section.items.filter(filterDocumento).map((doc) => { - const items = doc.items.filter(filterItemsFN); - return ( - - ); + if (doc.items) { + const items = doc.items.filter(filterItemsFN); + return ( + + ); + } else { + return ; + } })} )} diff --git a/src/components/ItaliaTheme/View/CartellaModulisticaView/DocRow.jsx b/src/components/ItaliaTheme/View/CartellaModulisticaView/DocRow.jsx index 9f65725c3..569b900de 100644 --- a/src/components/ItaliaTheme/View/CartellaModulisticaView/DocRow.jsx +++ b/src/components/ItaliaTheme/View/CartellaModulisticaView/DocRow.jsx @@ -34,7 +34,7 @@ const Downloads = ({ item, titleDoc }) => { ) : ( @@ -59,7 +59,7 @@ const DocRow = ({ doc, items }) => { })} >
- + {doc.title} {doc?.description && ( @@ -77,7 +77,7 @@ const DocRow = ({ doc, items }) => { key={doc['@id']} > {/*Only title and/or description, no files */} - {(!items || items.length == 0) && ( + {(!items || items.length === 0) && (
{titleWrapper}
)} diff --git a/src/components/ReleaseLog/ReleaseLog.css b/src/components/ReleaseLog/ReleaseLog.css new file mode 100644 index 000000000..4a7f52b22 --- /dev/null +++ b/src/components/ReleaseLog/ReleaseLog.css @@ -0,0 +1,4 @@ +h2 { + border-top: 1px solid grey; + font-weight: 600 !important; +} diff --git a/src/components/ReleaseLog/ReleaseLog.jsx b/src/components/ReleaseLog/ReleaseLog.jsx new file mode 100644 index 000000000..1e95c640e --- /dev/null +++ b/src/components/ReleaseLog/ReleaseLog.jsx @@ -0,0 +1,41 @@ +/** + * ReleaseLog component. + * @module components/ReleaseLog/ReleaseLog + */ + +import React, { useState, useEffect } from 'react'; + +import { Container } from 'design-react-kit/dist/design-react-kit'; +import { Helmet } from '@plone/volto/helpers'; +import { marked } from 'marked'; + +import './ReleaseLog.css'; + +const ReleaseLog = () => { + const ReleaseFile = require('design-comuni-plone-theme/../RELEASE.md'); + + const [releaseFileContent, setReleaseFileContent] = useState(''); + + useEffect(() => { + fetch(ReleaseFile) + .then((res) => res.text()) + .then((text) => setReleaseFileContent(marked(text))); + }, []); + + return ( +
+ + + + + +

+ Release Log - Lista degli aggiornamenti io-Comune v7 +

+
+
+
+ ); +}; + +export default ReleaseLog; diff --git a/src/components/SelectInput/SelectInput.jsx b/src/components/SelectInput/SelectInput.jsx index 1c81e4739..2a72054fa 100644 --- a/src/components/SelectInput/SelectInput.jsx +++ b/src/components/SelectInput/SelectInput.jsx @@ -299,6 +299,7 @@ const SelectInput = ({ options, components = {}, reactSelect, + defaultValue, }) => { const intl = useIntl(); const Select = reactSelect.default; @@ -319,6 +320,7 @@ const SelectInput = ({ }} id={id} value={value} + defaultValue={defaultValue} onChange={onChange} options={options} placeholder={placeholder} @@ -326,7 +328,9 @@ const SelectInput = ({ isSearchable={isSearchable} isMulti={isMulti} isClearable={isClearable} - aria-label={placeholder} + aria-label={label} + aria-live="polite" + aria-labelledby={id} ariaLiveMessages={getSelectAriaLiveMessages(intl)} noOptionsMessage={() => intl.formatMessage(messages.select_noOptionsMessage) diff --git a/src/config/Blocks/ListingOptions/index.js b/src/config/Blocks/ListingOptions/index.js index 71c5e74a7..82170be2b 100644 --- a/src/config/Blocks/ListingOptions/index.js +++ b/src/config/Blocks/ListingOptions/index.js @@ -19,3 +19,4 @@ export { addSliderTemplateOptions } from 'design-comuni-plone-theme/config/Block export { addSimpleListTemplateOptions } from 'design-comuni-plone-theme/config/Blocks/ListingOptions/simpleListTemplate'; export { addCardWithSlideUpTextTemplateOptions } from 'design-comuni-plone-theme/config/Blocks/ListingOptions/cardWithSlideUpTextTemplate'; export { addPhotogalleryTemplateOptions } from 'design-comuni-plone-theme/config/Blocks/ListingOptions/photogalleryTemplate'; +export { addSmallBlockLinksTemplateOptions } from 'design-comuni-plone-theme/config/Blocks/ListingOptions/smallBlockLinksTemplate'; diff --git a/src/config/Blocks/ListingOptions/smallBlockLinksTemplate.js b/src/config/Blocks/ListingOptions/smallBlockLinksTemplate.js new file mode 100644 index 000000000..227596ebd --- /dev/null +++ b/src/config/Blocks/ListingOptions/smallBlockLinksTemplate.js @@ -0,0 +1,32 @@ +import { defineMessages } from 'react-intl'; + +import { addSchemaField } from 'design-comuni-plone-theme/config/Blocks/ListingOptions'; + +const messages = defineMessages({ + override_links_accessibility_marker: { + id: 'override_links_accessibility_marker', + defaultMessage: + "Non mostrare l'icona di accessibilità per i link a siti esterni", + }, +}); + +export const addSmallBlockLinksTemplateOptions = ( + schema, + formData, + intl, + position = 0, +) => { + let pos = position; + + addSchemaField( + schema, + 'override_links_accessibility_marker', + intl.formatMessage(messages.override_links_accessibility_marker), + null, + { type: 'boolean' }, + pos, + ); + pos++; + + return pos; +}; diff --git a/src/config/Blocks/listingVariations.js b/src/config/Blocks/listingVariations.js index 9dea05273..0b4ca77be 100644 --- a/src/config/Blocks/listingVariations.js +++ b/src/config/Blocks/listingVariations.js @@ -58,9 +58,13 @@ import { addSimpleListTemplateOptions, addCardWithSlideUpTextTemplateOptions, addPhotogalleryTemplateOptions, + addSmallBlockLinksTemplateOptions, } from 'design-comuni-plone-theme/config/Blocks/ListingOptions'; -import { addLighthouseField, cloneBlock } from 'design-comuni-plone-theme/config/Blocks/ListingOptions/utils'; +import { + addLighthouseField, + cloneBlock, +} from 'design-comuni-plone-theme/config/Blocks/ListingOptions/utils'; const italiaListingVariations = [ { @@ -168,7 +172,8 @@ const italiaListingVariations = [ template: SmallBlockLinksTemplate, skeleton: SmallBlockLinksTemplateSkeleton, schemaEnhancer: ({ schema, formData, intl }) => { - /*let pos = */ addDefaultOptions(schema, formData, intl); + let pos = addDefaultOptions(schema, formData, intl); + addSmallBlockLinksTemplateOptions(schema, formData, intl, pos); return schema; }, cloneData: cloneBlock, diff --git a/src/config/italiaConfig.js b/src/config/italiaConfig.js index 0f993ebcd..a5f61ff0f 100644 --- a/src/config/italiaConfig.js +++ b/src/config/italiaConfig.js @@ -44,6 +44,7 @@ import faBuildingSVG from 'design-comuni-plone-theme/icons/building.svg'; import faFileDownloadSVG from 'design-comuni-plone-theme/icons/file-download.svg'; import faQuestionSVG from 'design-comuni-plone-theme/icons/question-solid.svg'; import bandoSVG from 'design-comuni-plone-theme/icons/bando.svg'; +import logSVG from 'design-comuni-plone-theme/icons/log.svg'; import applyRichTextConfig from 'design-comuni-plone-theme/config/RichTextEditor/config'; @@ -135,6 +136,15 @@ export default function applyConfig(voltoConfig) { great: 1200, huge: 1600, }, + controlpanels: [ + ...(config.settings.controlpanels ?? []), + { + '@id': '/release-log', + group: 'Generali', + title: 'Novità ultimi rilasci', + id: 'release-log', + }, + ], controlPanelsIcons: { ...config.settings.controlPanelsIcons, 'dropdown-menu-settings': menuSVG, @@ -143,6 +153,7 @@ export default function applyConfig(voltoConfig) { 'design-plone-settings': contentSVG, 'bandi-settings': bookSVG, 'social-settings': shareSVG, + 'release-log': logSVG, }, defaultBlockType: 'text', defaultExcludedFromSearch: { @@ -269,6 +280,7 @@ export default function applyConfig(voltoConfig) { config.settings.nonContentRoutes = config.settings.nonContentRoutes.filter( (route) => route !== '/contact-form', ); + config.settings.nonContentRoutes.push('/release-log'); /****************************************************************************** * VIEWS diff --git a/src/customizations/volto/components/manage/UniversalLink/UniversalLink.jsx b/src/customizations/volto/components/manage/UniversalLink/UniversalLink.jsx index 238127402..668594c04 100644 --- a/src/customizations/volto/components/manage/UniversalLink/UniversalLink.jsx +++ b/src/customizations/volto/components/manage/UniversalLink/UniversalLink.jsx @@ -30,6 +30,7 @@ const UniversalLink = ({ children, className = null, title = null, + overrideMarkSpecialLinks = false, ...props }) => { const intl = useIntl(); @@ -117,14 +118,15 @@ const UniversalLink = ({ {...props} > {children} - {config.settings.siteProperties.markSpecialLinks && ( - - )} + {!overrideMarkSpecialLinks && + config.settings.siteProperties.markSpecialLinks && ( + + )} ); } else if (isDownload) { diff --git a/src/icons/log.svg b/src/icons/log.svg new file mode 100644 index 000000000..f20d03c9e --- /dev/null +++ b/src/icons/log.svg @@ -0,0 +1,3 @@ + + LOG + \ No newline at end of file diff --git a/src/routes.js b/src/routes.js index e0de36398..0d714cfac 100644 --- a/src/routes.js +++ b/src/routes.js @@ -5,14 +5,23 @@ import { App, Search } from '@plone/volto/components'; import { defaultRoutes, multilingualRoutes } from '@plone/volto/routes'; +import loadable from '@loadable/component'; import config from '@plone/volto/registry'; +const ReleaseLog = loadable(() => + import('design-comuni-plone-theme/components/ReleaseLog/ReleaseLog'), +); + export const italiaRoutes = [ // Add design-comuni-plone-theme routes here { path: '/**/search', component: Search, }, + { + path: ['/controlpanel/release-log', '/release-log'], + component: ReleaseLog, + }, ]; /** diff --git a/theme/ItaliaTheme/Blocks/_calendar.scss b/theme/ItaliaTheme/Blocks/_calendar.scss index 64e7700e6..09d3cf796 100644 --- a/theme/ItaliaTheme/Blocks/_calendar.scss +++ b/theme/ItaliaTheme/Blocks/_calendar.scss @@ -118,6 +118,7 @@ margin-left: -1rem; font-family: $font-family-monospace; font-size: 0.8rem; + font-weight: 400; } .calendar-item { diff --git a/theme/ItaliaTheme/Blocks/_info.scss b/theme/ItaliaTheme/Blocks/_info.scss index 9265abe76..99c577ea2 100644 --- a/theme/ItaliaTheme/Blocks/_info.scss +++ b/theme/ItaliaTheme/Blocks/_info.scss @@ -61,17 +61,7 @@ $tertiary-hover: darken($gray-border, 10%); &.bg-color-true { background-color: var(--info-block-primary-color); } - h1, - h2, - h3, - h4, - h5, - h6, - a { - color: #fff; - } &.bg-color-true { - color: var(--info-block-primary-font-color-with-bg); h1, h2, h3, @@ -79,10 +69,12 @@ $tertiary-hover: darken($gray-border, 10%); h5, h6, a, + span, + p, .public-DraftEditorPlaceholder-inner { color: var(--info-block-primary-font-color-with-bg); } - svg.icon { + svg.icon.left-image { fill: var(--info-block-primary-font-color-with-bg); color: var(--info-block-primary-font-color-with-bg); } @@ -104,15 +96,6 @@ $tertiary-hover: darken($gray-border, 10%); &.bg-color-true { background-color: var(--info-block-secondary-color); } - h1, - h2, - h3, - h4, - h5, - h6, - a { - color: #fff; - } &.bg-color-true { color: var(--info-block-secondary-font-color-with-bg); h1, @@ -122,6 +105,8 @@ $tertiary-hover: darken($gray-border, 10%); h5, h6, a, + span, + p, .public-DraftEditorPlaceholder-inner { color: var(--info-block-secondary-font-color-with-bg); } @@ -156,26 +141,19 @@ $tertiary-hover: darken($gray-border, 10%); h4, h5, h6, - a { + a, + span, + p { color: var(--info-block-tertiary-font-color-with-bg); fill: var(--info-block-tertiary-font-color-with-bg); } } } - .DraftEditor-root { - background: none; - } - p { margin: 0; } - img.left-image { - max-width: 80%; - object-fit: unset; - } - .image-col { text-align: center; } diff --git a/theme/ItaliaTheme/Blocks/_smallblockLinkstemplate.scss b/theme/ItaliaTheme/Blocks/_smallblockLinkstemplate.scss index d5c464058..e05f1c1bd 100644 --- a/theme/ItaliaTheme/Blocks/_smallblockLinkstemplate.scss +++ b/theme/ItaliaTheme/Blocks/_smallblockLinkstemplate.scss @@ -16,6 +16,13 @@ background: $white; box-shadow: 0 2px 20px 0 rgba(0, 0, 0, 0.1); + .img-link svg { + position: absolute; + top: 4px; + right: 4px; + z-index: 2; + } + img, .img-skeleton { width: auto; diff --git a/theme/ItaliaTheme/Components/_sharing.scss b/theme/ItaliaTheme/Components/_sharing.scss index c2f2777a3..21e280d21 100644 --- a/theme/ItaliaTheme/Components/_sharing.scss +++ b/theme/ItaliaTheme/Components/_sharing.scss @@ -5,16 +5,21 @@ box-shadow: 0 0 0 2px $focus-outline-color; outline: none; } + .link-list-wrapper { - z-index: 10; position: relative; + z-index: 10; + ul { li { a.list-item, button.btn-link { display: flex; align-items: center; + .icon { + width: 28px; + height: 28px; margin-right: 0.5em; } } diff --git a/theme/ItaliaTheme/Widgets/_react-dates-override.scss b/theme/ItaliaTheme/Widgets/_react-dates-override.scss new file mode 100644 index 000000000..62bfdb88d --- /dev/null +++ b/theme/ItaliaTheme/Widgets/_react-dates-override.scss @@ -0,0 +1,14 @@ +table.CalendarMonth_table { + border-collapse: separate; + td.CalendarDay__selected:focus { + border: 1px solid white; + outline: 2px solid $focus-outline-color; + border-radius: 100%; + } + + td.CalendarDay__default:focus { + border: none; + box-shadow: none; + outline: 2px solid $focus-outline-color; + } +} diff --git a/theme/extras/_search.scss b/theme/extras/_search.scss index cfbca9f3a..90c1d92c0 100644 --- a/theme/extras/_search.scss +++ b/theme/extras/_search.scss @@ -112,4 +112,10 @@ body.search-modal-opened { outline: none !important; } } + .searchSpinnerWrapper { + display: flex; + align-items: center; + justify-content: center; + padding: 2rem 0; + } } diff --git a/theme/site.scss b/theme/site.scss index 18ed77f30..3b177c993 100644 --- a/theme/site.scss +++ b/theme/site.scss @@ -103,6 +103,7 @@ @import 'ItaliaTheme/Widgets/blocksWidget'; @import 'ItaliaTheme/Widgets/subsiteSocialLinks'; @import 'ItaliaTheme/Widgets/reactSelect'; +@import 'ItaliaTheme/Widgets/react-dates-override'; @import 'ItaliaTheme/Components/megamenu'; @import 'ItaliaTheme/Components/sharing'; @import 'ItaliaTheme/Components/logo'; diff --git a/yarn.lock b/yarn.lock index 23755ff52..ae69372cc 100644 --- a/yarn.lock +++ b/yarn.lock @@ -12205,6 +12205,7 @@ __metadata: husky: 8.0.2 jest-environment-jsdom: ^26.0.1 lint-staged: 13.0.3 + marked: 9.0.0 postcss: 8.4.13 prettier: ^2.7.1 razzle: 4.2.18 @@ -19314,6 +19315,15 @@ __metadata: languageName: node linkType: hard +"marked@npm:9.0.0": + version: 9.0.0 + resolution: "marked@npm:9.0.0" + bin: + marked: bin/marked.js + checksum: a8e6e7f84f3940259aeb3a2abdd0961cfe1052131a18dfa714fd8d050559f299920bba43c1aa6c4e60293af8da961e3ec96d8f799661fc2c9bcb93598770e942 + languageName: node + linkType: hard + "mathml-tag-names@npm:^2.1.3": version: 2.1.3 resolution: "mathml-tag-names@npm:2.1.3"