- Redesign chirurgico: pulizia drift di palette (grigio/blu generico in un sistema terra/charcoal coerente). Audit fatto su pagine renderizzate (Chrome headless, desktop + mobile):
Pagination.tsxricostruita in stile brutalista angolare: pagina attiva terracotta (era blu), bordi civic,civic-numbertabular, feedbackactive.SearchAndFilters.tsx: input/select con bordi civic e focus ring terracotta (eraring-blue-500); contenitori angolari; bottone "cancella" e checkbox allineati al tema.initiative/[id].astro: linea timeline sostenitori#1f77b4→#c1694f(terracotta); testi prose grigi → civic.HomePage.tsx: stato vuoto riprogettato (riquadro tratteggiato + bottone terracotta, era blu arrotondato); statistiche civic; header di fallback riallineato.HamburgerMenuReact.tsxallineato al Native (righe bianche su charcoal, dropdown angolare con ombra brutalista).tabella.astro:bg-gray-50→bg-civic-stone.public/manifest.json:theme_colorblu#3B82F6→#1a1a1a;background_color→#f5f3f0.- Rimosso
src/pages/test_timeline.astro(artefatto di debug nel routing di produzione). - Lasciati intenzionalmente: colori-piattaforma di
ShareButton; copy ironico del 404.
- Creato documento specifiche tecniche generali (
docs/specifiche-tecniche-generali-sito-web-statico-astro.md):- Estrae pattern architetturali riutilizzabili dal progetto, generalizzati e indipendenti dal caso d'uso specifico
- Stack tecnologico: Astro + React + TypeScript strict + Tailwind con tema custom semantico
- Architettura componenti: separazione static (Astro) vs interactive (React) con hydration selettiva (
client:load) - State management: URL query params come single source of truth per shareability
- CI/CD: GitHub Actions con multi-trigger (push, schedule, manual), auto-commit artifacts, OG images pre-build
- Git workflow: pattern anti-conflict per gestire commit automatici da CI (
git pull --rebase --autostash) - Accessibilità: semantic HTML, ARIA attributes, rehype plugin per validare alt text, checklist WCAG
- SEO: meta tags completi, Open Graph, Twitter Cards, JSON-LD structured data (Organization, Article, BreadcrumbList, SearchAction)
- Social sharing: OG images 1200x630 generate automaticamente, favicon multi-formato, RSS feed
- Convenzioni: no testing/linting formale (solo TypeScript strict), file organization standard, markdown processing con rehype plugins
- Performance: static generation, selective hydration, image optimization pre-build
- Checklist setup: stack base, build & deploy (senza pattern specifici di data management per mantenere generalità)
- Fix schema.org WebSite markup: corretto
generateSearchActionSchema()insrc/lib/json-ld-schemas.tsper annidaretargetequery-inputdentropotentialAction.SearchActioninvece che direttamente suWebSite. Risolve avvisi di validazione schema.org sulla homepage.
-
Revert da titoloLeggeCostituzionale a titolo su tutta l'UI:
- Tolto
titoloLeggeCostituzionaleda type interface (src/types/initiative.ts) - Tornato a usare
titolocome campo principale in: cards, tabella, pagine dettaglio, numeri, RSS feed - JSON-LD schemas aggiornati per usare
titolocome headline - OG image generator aggiornato per usare
titolo - Mantiene il sort per quorum percentuale del 2026-01-06 precedente
- Tolto
-
Aggiunto ordinamento per percentuale quorum nella home:
- Nuova opzione "Percentuale quorum (più alta)" nel menu Ordinamento della home.
- Ordinamento basato su (sostenitori / quorum) * 100 in ordine decrescente, con valori mancanti/zero trattati come 0%.
- Nessuna modifica alla visualizzazione delle card, solo all'ordinamento.
-
Completata sezione "Che cos'è questo sito?" in src/content/info.md:
- Aggiunta narrativa discorsiva che spiega il valore aggiunto della piattaforma rispetto al sito ufficiale del Ministero della Giustizia.
- La sezione illustra i gap del sito originale (filtri per tema/quorum, link condivisibili, iniziative correlate, anteprima social, RSS, dati grezzi, testi formattati).
- Testo completamente gender-neutral: usa forme verbali generiche ("Vuoi esplorare", "Hai temi cari") invece di aggettivi sostantivati maschili.
- Aggiunta conclusione che sottolinea l'obiettivo principale: stimolare il Ministero a pubblicare i dati aperti e machine-readable, con rimando alla sezione dati per approfondimenti.
-
Aggiunta sezione "Come essere avvisato di una nuova iniziativa" in src/content/info.md:
- Spiega che cosa è un feed RSS in termini semplici e accessibili (analogia con "sottoscrizione a un giornale").
- Lista di lettori RSS populari per desktop/mobile: Feedly, Inoreader, Read You (Android).
- Estensioni browser per RSS: FeedBro (Chrome), Brief (Firefox).
- Opzione email via Kill the Newsletter!.
- URL del feed:
https://ondata.github.io/referendum_iniziative_popolari/rss.xml. - 3 opzioni concrete per iscriversi (lettore RSS, tasto browser, conversione email).
- Specifica che il feed contiene ultime 10 iniziative e si aggiorna 6 volte al giorno.
-
Implementati JSON-LD Schemas per migliorare SEO:
- Organization Schema (home page): identifica la piattaforma onData con descrizione e URL
- SearchAction Schema (home page): abilita il "Sitelinks search box" nei risultati Google
- Article Schema (pagine iniziative): markup semantico per headline, descrizione, autore, data
- BreadcrumbList Schema (pagine iniziative): migliora navigazione nei SERP
-
Creato utility
src/lib/json-ld-schemas.ts: funzioni helper per generare JSON-LD schemas in modo riutilizzabile e type-safe. -
Aggiunto H1 semantico in
/tabella.astro: aggiunto con classesr-onlyper SEO senza impattare layout visivo. -
Parametrizzato robots.txt: migrato da file statico (
/public/robots.txt) a endpoint dinamico (src/pages/robots.txt.ts). URL della sitemap ora costruito dinamicamente basato susiteeBASE_URL, compatibile con dev e prod. -
Esteso Layout.astro: aggiunta prop
jsonLdSchemasper supportare JSON-LD scripts nel<head>. -
Creato Breadcrumb component (
src/components/Breadcrumb.astro): naviga visibile sopra il main content con stile coerente al design civic brutalism (background stone, link terracotta). Integrato nella pagina dettaglio iniziative per mostrare: Home > [Titolo Iniziativa]. -
Implementata canonicalization dei query params per filtri: aggiunta prop
canonicalizeToBaseal Layout che rimuove i query params dal canonical URL. Attivata su:- Home page (
/): tutti i filtri (categoria, status, page) → canonical =/ - Tabella (
/tabella): tutti i filtri/sort → canonical =/tabella - Pagine singole (initiative detail, info, ecc): canonical mantiene il path completo (no canonicalizeToBase)
Beneficio SEO: Evita duplicati dovuti a varianti di filtro, concentra l'autorità sulla pagina principale.
- Home page (
-
Aggiunto filtro Quorum Raggiunto (GitHub issue #12): checkbox nella barra filtri per mostrare solo iniziative che hanno raggiunto il quorum:
- Aggiunta funzione helper
hasReachedQuorum()insrc/lib/initiatives.ts: verifica sesostenitori >= quorum - Modificato
SearchAndFilters.tsx(home page): statoonlyQuorumReached, checkbox UI, URL paramquorum=true, logica di filtraggio + aggiornamento conteggi - Modificato
TableView.tsx(pagina/tabella): stessi cambiamenti, stile Civic Brutalism per checkbox - Funziona sia per iniziative chiuse che aperte (se il quorum è stato raggiunto)
- URL shareable:
/tabella?quorum=trueo/?quorum=true - Fix: conteggi nei dropdown si aggiornano correttamente quando si attiva il filtro
- Aggiunta funzione helper
- Aggiunta sezione "Come citare i dati" in src/content/dati.md. Inserita sottosezione nella sezione "I dati disponibili in questo sito" con due formati di citazione (completo e compatto) per rispettare la licenza CC-BY 4.0 e citare correttamente sia la fonte originale (Ministero della Giustizia) che l'elaborazione (onData). I formati sono presi direttamente da data/README.md per coerenza.
- Risolto problema: grafici rotti nelle pagine delle iniziative. Due file dati erano stati corrotti durante gli aggiornamenti automatici di GitHub Actions:
- media_sostenitori_giornaliera.jsonl: svuotato completamente. Causava
Unexpected end of JSON inputnella build della pagina /numeri. - time_line.jsonl: ridotto a soli 30 righe (una per iniziativa con solo il dato di oggi). Causava grafici vuoti nella Timeline sostenitori.
- media_sostenitori_giornaliera.jsonl: svuotato completamente. Causava
- Causa: lo script
download_data.shricreatime_line.jsonlda zero ogni volta, basandosi solo susource.jsonlche contiene solo i dati ATTUALI dell'API. Non preserva la cronologia precedente. - Soluzione temporanea: Ripristinato
time_line.jsonldal commit fef8ff2 (5571 entry, 2025-07-06 → 2026-01-05) con force push. - Fix necessario a lungo termine: Modificare lo script per appendere i nuovi dati a
time_line.jsonlanziché sovrascriverlo, oppure gestire la cronologia in modo centralizzato.
- Creato README nella cartella
data/. Documentazione completa dei file dati principali:source.json/jsonl,time_line.jsonl,media_sostenitori_giornaliera.jsonl,check_date.txt,deploy_log.jsonle contenuto delle sottocartellequesiti/esample/. Include frequenza di aggiornamento e casi d'uso. - Disabilitato tasto di accesso ai dati nel footer. Il pulsante download nel footer che permetteva di scaricare il file
source.jsonlè stato commentato per il momento, in attesa di future modifiche. Modificato il filesrc/components/Footer.astro. - Migliorato truncamento breadcrumb con dimensionamento dinamico (
src/components/Breadcrumb.astro). Rimosso limite fissomax-w-xsper mostrare più contenuto. Implementato sistema flessibile:- Aggiunto
min-w-0a<ol>e ultimo<li>per permettere restringimento flex-shrink-0su "Home" per preservare lo spazio del primo linktruncatesu titolo finale con ellissi dinamiche basate su spazio disponibile- Breadcrumb rimane sempre su singola riga con troncamento proporzionale
- Titoli corti entrano completi, titoli lunghi si troncano gracefully senza andare a capo
- Aggiunto
- Risolto bug: menu hamburger coperto dagli sticky header in tutte le pagine. Il problema era duplice:
- Il bottone hamburger non aveva z-index esplicito (era z-auto)
- Gli sticky header di pagina avevano
z-10, che crea un nuovo stacking context e copre il menu z-60
- Fix 1 - HamburgerMenuNative.astro: Aggiunto
z-50al.hamburger-btnez-index: 60CSS standard al.menu-dropdown(poiché z-60 non esiste in Tailwind). - Fix 2 - Sticky headers: Aumentati da
z-10az-40in TableView.tsx, numeri.astro, info.astro e dati.astro. I sticky header con stacking context basso impedirebbero al menu (z-60) di stare sopra. - Gerarchia z-index finale: Menu dropdown z-60 > Sticky headers z-40 > Overlay z-40 > Contenuti z-auto
- Corretto errore build: La classe Tailwind
z-60non esiste. Sostituito con proprietà CSS standardz-index: 60.
- Corretto Footer per applicare sempre role="contentinfo". Il componente Footer accettava un prop
roleopzionale ma senza valore default, causando situazioni in cui l'attributo non veniva reso nel HTML finale. Modificatosrc/components/Footer.astroper impostarerole = 'contentinfo'come default. Questo garantisce che il footer avrà sempre il ruolo ARIA corretto per l'accessibilità, indipendentemente da come viene utilizzato il componente. - Implementati ARIA labels completi su componenti interattivi:
- SearchAndFilters.tsx: aria-label su input ricerca, select filtri (categoria, stato, tipo), select ordinamento, pulsante cancella. Aggiunta live region (role="status" aria-live="polite") per annunciare filtri applicati ai screen reader.
- Pagination.tsx: aria-label su pulsanti precedente/successiva, numeri pagina. Aggiunto aria-current="page" al numero di pagina corrente. Migliorate le etichette con numero pagina esplicito.
- HamburgerMenuNative.astro: Aggiunto aria-expanded e aria-controls al pulsante hamburger. Aggiunto aria-hidden="true" al menu. Aggiornato script per cambiare aria-expanded/aria-hidden al toggle del menu.
- ShareButton.tsx: aria-label sul pulsante principale e su ogni opzione di condivisione. Menu condivisione con role="dialog", aria-modal="true", aria-label. Pulsante copia link con aria-label specifico.
- Valutazione accessibilità migliorata da 6.5/10 a 8/10: ARIA labels e live regions implementate riducono significativamente le barriere per utenti con disabilità e screen reader.
- Risolto bug: banner "QUORUM RAGGIUNTO!" non visualizzato per iniziative chiuse. Il banner era condizionato sia su
hasReachedQuorumche susigningActive. Per iniziative come "Eutanasia Legale" (4100009) con quorum raggiunto ma stato CHIUSA, il banner non appariva. - Il quorum raggiunto è un fatto storico che deve essere visualizzato indipendentemente dallo stato dell'iniziativa. Modificato il file
src/pages/initiative/[id].astrorimuovendo la condizionesigningActive. - Ora il banner appare per qualsiasi iniziativa che ha raggiunto il quorum, indipendentemente dal fatto che la raccolta firme sia attiva o conclusa.
- Aggiunto badge QUORUM nella vista a griglia anche per iniziative chiuse. Modificato
src/components/InitiativeCard.tsxper visualizzare il badge QUORUM in tutte le iniziative che hanno raggiunto il quorum, anche se chiuse. Questo comunica visivamente due informazioni importanti: il fatto che l'iniziativa è conclusa (sfondo grigetto) e che ha raggiunto il quorum (badge verde in alto a destra). - Rimosso quadrato decorativo inutile dal footer. L'elemento era un semplice bordo semi-trasparente che non aveva alcuna funzione visuale o semantica. Semplificato il layout da 3 colonne a 2 colonne, mantenendo il contenuto centrale e le icone a destra.
- Risolto bug: tipologie iniziative non visualizzate correttamente. Il codice era hardcodato per mostrare solo 2 tipologie (ID 1 e 4), escludendo altre come "Referendum costituzionale" (ID 2).
- Cambiato da logica hardcodata a utilizzo del campo
idDecTipoIniziativa.nomein tutte le componenti:- Pagine dettaglio iniziative
- Filtri di ricerca e tabella iniziative
- Feed RSS
- Ora tutte le tipologie presenti nei dati vengono visualizzate correttamente e sono filtrabili.
- Migliorata la leggibilità delle etichette dell'asse X nel grafico "Timeline sostenitori" su mobile:
- Le label sono ora ruotate di 45°.
- Aumentato il margine inferiore del grafico per evitare il taglio delle scritte.
- Issue tracciata e chiusa su GitHub.
- Migliorato il grafico della timeline dei sostenitori nella pagina di dettaglio dell'iniziativa. Ora, passando il mouse sul grafico, compare una linea verticale che segue il puntatore, con un tooltip che mostra la data e il numero di sostenitori per il punto selezionato. Questo migliora l'interattività e la leggibilità dei dati.
- Implementata sezione "Iniziative correlate" nelle pagine di dettaglio delle iniziative. La nuova sezione mostra un elenco di massimo 3 iniziative correlate della stessa categoria, selezionate casualmente tra quelle con raccolta firme attiva.
- Criteri di selezione: le iniziative correlate devono appartenere alla stessa categoria dell'iniziativa visualizzata, escludere l'iniziativa corrente, e avere stato "IN RACCOLTA FIRME".
- Ottimizzata la funzione
isSigningActive(): ora si basa esclusivamente sullo stato ufficiale dell'iniziativa (idDecStatoIniziativa.nome === 'IN RACCOLTA FIRME') invece di calcoli complessi sulle date, garantendo maggiore affidabilità e coerenza con i dati del Ministero della Giustizia. - Posizionamento: la sezione appare dopo la timeline dei sostenitori e prima del quesito, come specificato nei requisiti.
- Comportamento dinamico: la sezione si nasconde automaticamente se non ci sono iniziative correlate disponibili nella categoria.
- La funzionalità migliora la navigabilità del sito e aiuta gli utenti a scoprire iniziative correlate di loro interesse.
- Aggiunta l'integrazione
@astrojs/sitemapper la generazione automatica della sitemap.xml. Questo migliora l'indicizzazione del sito da parte dei motori di ricerca. - Aggiunto il file
robots.txtper guidare i crawler dei motori di ricerca e specificare la posizione della sitemap.
- Il ranking Top 10 delle iniziative per media sostenitori giornalieri mostra ora solo le iniziative attive ("IN RACCOLTA FIRME").
- Correzione workflow: ora il deploy del log (
data/deploy_log.jsonl) viene gestito nel jobbuilde non più indeploy, per evitare errori git dovuti all'ambiente di deploy-pages. La sequenza aggiornata dovrebbe garantire la corretta scrittura e commit del log notturno. Da verificare nei prossimi run automatici.
- Corretto errore nel job
deploydel workflow GitHub Actions: ora viene creata la cartelladataprima di scrivere il filedata/deploy_log.jsonldurante il cron delle 21:30 UTC. Questo evita errori di mancata creazione del file di log e garantisce la corretta registrazione dello stato del deploy notturno. - Nessun impatto sull'archiviazione dei dati principali: i file dati vengono comunque aggiornati e committati regolarmente dal job
build.
- Aggiunta la registrazione automatica dello stato del deploy notturno (cron delle 21:30 UTC) nel file
data/deploy_log.jsonl. Ogni giorno viene salvato se il deploy è andato a buon fine (success) o meno (fail), in formato JSON Lines. Questo permette di monitorare facilmente la riuscita dei deploy automatici direttamente dal repository.
Esempio di riga:
{"date": "2025-07-12", "status": "success"}- La funzionalità è integrata nel workflow GitHub Actions e aggiorna il log solo per il cron delle 21:30 UTC.
- Lo script di download ora scarica e archivia automaticamente i dettagli dei quesiti per ogni iniziativa in raccolta firme, salvandoli nella cartella
data/quesiti/come file JSON individuali. - Integrato lo script
json2markdown.pynel processo di download dati (download_data.sh). Ora, per ogni quesito scaricato, viene generato automaticamente anche il corrispondente file Markdown, a partire dal JSON sorgente, nella cartelladata/-uesiti/. Questo migliora la leggibilità e la fruibilità dei testi dei quesiti direttamente dal repository. - Lo script Python non richiede dipendenze esterne: funziona con la sola libreria standard di Python 3.
- Aggiunta la gestione dei quesiti con riconoscimento automatico di titoli come ART., CAPO, ecc. nei file JSON tramite script
json2markdown.py. - Aggiunti nuovi quesiti nella cartella
data/quesiti/. - I quesiti sono ora visibili anche nelle pagine di dettaglio (single page) di ciascuna iniziativa, rendendo immediatamente consultabile il testo ufficiale direttamente dal sito.
- Modificato l'indicatore di "Tendenza" nella pagina Numeri: ora mostra la variazione percentuale della crescita delle firme. Questo permette un confronto più equo ed efficace tra iniziative con volumi di raccolta molto diversi.
- Semplificata la tabella per dispositivi mobili nella pagina Numeri, rimuovendo la colonna della tendenza per una migliore leggibilità.
- Aggiunta la sezione "Timeline sostenitori" nella pagina di dettaglio dell'iniziativa. Questa sezione mostra un grafico con l'andamento temporale del numero di sostenitori ed è visibile solo per le iniziative per cui sono disponibili dati storici.
- I valori della "Media sostenitori giornalieri" nella tabella e nel grafico lollipop della pagina Numeri sono ora arrotondati a numero intero (firme), senza decimali, per maggiore chiarezza e coerenza.
- Implementato il requisito di trasparenza dei dati: aggiunti link ai dati grezzi nella pagina Numeri.
- Aggiunto link al file
source.jsonlper la sezione "Numero di iniziative per categoria". - Aggiunto link al file
time_line.jsonlper la sezione "Top 10 - Media sostenitori giornalieri". - I link ai dati grezzi sono posizionati nelle note di ciascuna sezione per garantire trasparenza e accessibilità.
- Aggiunta pagina 404 personalizzata.
- Aggiunta gestione centralizzata del menu di navigazione.
- Integrazione di Heroicons per le icone.
- Aggiunta gestione dei percorsi normalizzati nel menu hamburger.
- Creata pagina Numeri con statistiche e grafici delle iniziative.
- Aggiunto grafico lollipop orizzontale nella pagina Numeri per visualizzare le top 10 iniziative con più alta media di sostenitori giornalieri.
- Implementata visualizzazione responsive per il grafico lollipop: su desktop viene mostrato il grafico, su mobile una tabella compatta con titoli troncati.
- Aggiunta logica per caricare e unire i dati da
media_sostenitori_giornaliera.jsonlcon le iniziative esistenti. - Implementate ancore cliccabili per i titoli delle sezioni grafiche per consentire link diretti e navigazione SEO-friendly.
- Applicata conformità alle best practices per la gestione dei percorsi usando le utility centralizzate (
createPath). - Creata immagine OpenGraph dedicata per la pagina Numeri (
og-numeri.png) e aggiornato il generatore di immagini OG. - Aggiornate le note esplicative nella pagina Numeri per riflettere le nuove funzionalità di visualizzazione dati.
- Migliorata la UI della vista a griglia: i box delle iniziative con stato "CHIUSA" ora appaiono con colori più spenti per distinguerli visivamente.
- Aggiunto file
.gitattributesper la normalizzazione delle interruzioni di riga. - Aggiunto script per il download e la trasformazione dei dati JSON.
- Migliorata la documentazione e la struttura dello script di download dei dati.
- Aggiornata la pianificazione del deploy automatico a 4 volte al giorno.
- Corretta la costruzione dell'URL del sito per il feed RSS.
- Aggiunta la sezione "Gestione Percorsi con Utility" nel documento NOTE_TECNICHE.
- Aggiunta la funzionalità di generazione del feed RSS e il tracciamento della timeline dei sostenitori.
- Aggiunta l'icona per il download dei dati nel footer.
- Migliorato il layout del footer con una griglia responsiva.
- Aggiunta la funzione
normalizeUrlper la gestione degli URL. - Aggiunta la funzione
normalizeForSortingper migliorare l'ordinamento dei titoli. - Aggiornato il footer della pagina di dettaglio per includere link ufficiali dell'iniziativa.
- Corretti URL nel README per riflettere il nome corretto del progetto.
- Aggiunti attributi title alle icone nel footer.
- Migliorata la timeline delle firme con filtraggio e ordinamento.
- Semplificata l'importazione del contenuto markdown nella pagina delle informazioni.
- Ridotta la dimensione del titolo e rimosso il messaggio di stato della raccolta firme.
- Gestita la paginazione e i filtri tramite URL nella HomePage e in SearchAndFilters.
- Migliorata la responsività e l'aspetto visivo della pagina dell'iniziativa.
- Aggiunto il file
check_date.txtcon la data di scaricamento dei dati dell'API. - Aggiunta la logica per leggere la data di aggiornamento da
check_date.txtnel footer. - Migliorata la logica di filtraggio delle opzioni disponibili nei menu a discesa.
- Centralizzati i contenuti della home page in un file di configurazione.
- Aggiunto il supporto per il plugin
@tailwindcss/typography. - Migliorata la formattazione e la chiarezza del contenuto nella sezione "Come funziona il sito?".
- Aggiunti filtri dinamici e gestione degli URL per la ricerca delle iniziative.
- Aggiornato il favicon con un nuovo design SVG.
- Aggiunto il documento Note Tecniche per la gestione e la manutenzione del sito.
- Riorganizzato il footer e aggiunta l'icona di GitHub.
- Aggiunto
HamburgerMenuReacte sostituitoHamburgerMenuinTableView. - Aggiunto il file
LICENSE.mdcon la licenza MIT. - Sostituita l'icona
UserGroupconFlagIconper il quorum. - Migliorata la gestione dell'URL di base.
- Normalizzato il
baseUrlin vari componenti. - Aggiornata la nota sulle firme per indicare che vengono aggiornate una volta al giorno.
- Commit iniziale da Astro.
- Impostazione per il deploy su GitHub Pages.
- Aggiunto il supporto per il deploy manuale con motivo personalizzato.
- Aggiornata la versione di tailwindcss e aggiunto il file di configurazione di tailwind.
- Rimossa l'importazione di tailwindcss e semplificate le classi di utilità.
- Aggiunte variabili d'ambiente per la build e abilitato automaticamente GitHub Pages.
- Aggiunta un'utilità per la gestione dei percorsi e aggiornati i link con
BASE_URL. - Aggiunto un trigger di deploy automatico giornaliero.
- Aggiunta la generazione di immagini Open Graph e aggiornato il layout per i metadati OG.
- Aggiunto il menu hamburger e l'integrazione in diverse pagine.
- Corretto il percorso del link "Info".
- Aggiunto il download automatico dei dati dell'API e il fallback al
source.jsonlocale. - Aggiornati i permessi per il deploy.
- Rimossa la funzione
getInitiativeUrle utilizzato il campo 'sito' per l'URL ufficiale. - Aggiunto il filtro per tipologia e la visualizzazione nella pagina dell'iniziativa.
- Scambiati i filtri per categoria e tipologia nel componente
SearchAndFilters. - Aggiornato il link ufficiale e aggiunte le informazioni sul quorum nella pagina dell'iniziativa.
- Migliorata la funzione di wrapping del testo e gestite le parole lunghe nel generatore di immagini OG.
- Aggiunta la funzionalità di condivisione con l'API Web Share e il fallback per il desktop.
- Aggiunte pagine aggiuntive per la descrizione del progetto e la visualizzazione tabellare delle iniziative.
- Aggiunta la visualizzazione tabellare per le iniziative e aggiornato il menu hamburger.
- Aggiunta la colonna "Data Apertura" nella visualizzazione tabellare delle iniziative.
- Aggiunto il supporto per l'ordinamento e la visualizzazione del quorum nella tabella delle iniziative.
- Aggiunto il componente Footer e integrato in tutte le pagine.
- Aggiunte le informazioni sull'associazione onData nel footer.