import React, { useEffect, useState } from "react"; import { useParams } from "react-router-dom"; import firebase from "firebase/app"; import ArrowForwardIcon from "@mui/icons-material/ArrowForward"; import ArrowBackIcon from "@mui/icons-material/ArrowBack"; import IconButton from "@mui/material/IconButton"; import { Stack } from "@mui/system"; import logoSrc from "./logo_chat.svg"; import { Fade, LinearProgress } from "@mui/material"; export const Galleria = () => { const { evento } = useParams(); const [messaggi, cambiaMessaggi] = useState([]); const [imgIndex, cambiaimgIndex] = useState(0); const [images, cambiaimmagini] = useState([]); useEffect(() => { var messagesRef = firebase.database().ref(`/messaggi/${evento}`); messagesRef.on("value", function (snapshot) { const messaggiObject = snapshot.val(); const messaggi = Object.keys(messaggiObject) .map((d) => { return messaggiObject[d]; }) .filter((d) => d.approvato) .sort((a, b) => a.timestamp - b.timestamp); cambiaMessaggi(messaggi); cambiaimmagini( messaggi .filter((d) => d.immagineURL != null) .map((d) => { return d.immagineURL; }) ); }); }, [evento]); useEffect(() => { if (images) { function loadImage() { const img = new Image(); img.src = images[imgIndex]; img.onload = () => { if (imgIndex < images.length) { cambiaimgIndex((i) => { return i + 1; }); } }; } loadImage(); } }, [imgIndex, images]); return (
da {messaggioDaMostrare.autore}
)}{date.toLocaleString("it-IT")}
> ); };