import React, { useEffect, useState } from "react"; /* ===================================================== PARROCCHIA SAN NICOLA - PORTALE DIGITALE (FIX TSX) NO PHP - REACT LOCAL STORAGE CMS ===================================================== */ export default function ParrocchiaSanNicola() { const users = { admin: "1234", parroco: "messa", }; const [user, setUser] = useState(null); const [login, setLogin] = useState({ u: "", p: "" }); const [avvisi, setAvvisi] = useState([]); const [eventi, setEventi] = useState([]); const [newsletter, setNewsletter] = useState([]); const [prenotazioni, setPrenotazioni] = useState([]); const [formAvviso, setFormAvviso] = useState(""); const [formEvento, setFormEvento] = useState({ titolo: "", descrizione: "" }); const [email, setEmail] = useState(""); const [prenota, setPrenota] = useState({ nome: "", evento: "" }); useEffect(() => { setAvvisi(JSON.parse(localStorage.getItem("avvisi") || "[]")); setEventi(JSON.parse(localStorage.getItem("eventi") || "[]")); setNewsletter(JSON.parse(localStorage.getItem("newsletter") || "[]")); setPrenotazioni(JSON.parse(localStorage.getItem("prenotazioni") || "[]")); }, []); useEffect(() => { localStorage.setItem("avvisi", JSON.stringify(avvisi)); }, [avvisi]); useEffect(() => { localStorage.setItem("eventi", JSON.stringify(eventi)); }, [eventi]); useEffect(() => { localStorage.setItem("newsletter", JSON.stringify(newsletter)); }, [newsletter]); useEffect(() => { localStorage.setItem("prenotazioni", JSON.stringify(prenotazioni)); }, [prenotazioni]); function doLogin() { if (users[login.u] && users[login.u] === login.p) { setUser(login.u); } else { alert("Login errato"); } } function addAvviso() { if (!formAvviso) return; setAvvisi([{ text: formAvviso }, ...avvisi]); setFormAvviso(""); } function addEvento() { if (!formEvento.titolo) return; setEventi([{ ...formEvento }, ...eventi]); setFormEvento({ titolo: "", descrizione: "" }); } function addNewsletter() { if (!email) return; setNewsletter([{ email }, ...newsletter]); setEmail(""); } function addPrenotazione() { if (!prenota.nome) return; setPrenotazioni([{ ...prenota }, ...prenotazioni]); setPrenota({ nome: "", evento: "" }); } function removeAvviso(i) { setAvvisi(avvisi.filter((_, idx) => idx !== i)); } function runTests() { console.assert(Array.isArray(avvisi), "avvisi array OK"); console.assert(users.admin === "1234", "login OK"); console.log("TEST OK"); } if (!user) { return (

Parrocchia San Nicola Login

setLogin({...login,u:e.target.value})}/> setLogin({...login,p:e.target.value})}/>
); } return (

Parrocchia San Nicola

Avvisi

setFormAvviso(e.target.value)} /> {avvisi.map((a,i)=>(
{a.text}
))}

Eventi

setFormEvento({...formEvento,titolo:e.target.value})}/> setFormEvento({...formEvento,descrizione:e.target.value})}/>

Newsletter

setEmail(e.target.value)}/>

Prenotazioni

setPrenota({...prenota,nome:e.target.value})}/> setPrenota({...prenota,evento:e.target.value})}/>
); }