import React, { useEffect, useState } from "react"; import firebase from "firebase/app"; import { Button, Grid, Stack } from "@mui/material"; import videoSrc from "./video.mp4"; import logoSrc from "./logo.svg"; const SHOW_MESSAGE_TIME = 6000; window.debug = false; export const Proiezione = () => { const [messaggi, cambiaMessaggi] = useState([]); const [messaggiApprovati, cambiaMessaggiApprovati] = useState([]); useEffect(() => { var messagesRef = firebase.database().ref("/messaggi"); messagesRef.on("child_added", function (snapshot) { console.log("child_added"); var messaggio = snapshot.val(); cambiaMessaggi((oldArray) => { const newArray = [...oldArray, messaggio].sort( (a, b) => b.timestamp - a.timestamp ); cambiaMessaggiApprovati(newArray.filter((d) => d.approvato)); return newArray; }); }); messagesRef.on("child_removed", function (snapshot) { console.log("child_removed"); var messaggio = snapshot.val(); cambiaMessaggi((oldArray) => { const newArray = []; oldArray.forEach((d) => { if (d.id !== messaggio.id) { newArray.push(d); } }); newArray.sort((a, b) => b.timestamp - a.timestamp); cambiaMessaggiApprovati(newArray.filter((d) => d.approvato)); return newArray; }); }); messagesRef.on("child_changed", function (snapshot) { console.log("child_changed"); const messaggio = snapshot.val(); cambiaMessaggi((oldArray) => { const newArray = [...oldArray]; newArray.forEach((d, i, a) => { if (d.id === messaggio.id) a[i] = messaggio; }); cambiaMessaggiApprovati(newArray.filter((d) => d.approvato)); return newArray; }); }); }, []); const ContainerMessaggio = ({ messaggiApprovati }) => { if (!messaggiApprovati.length) { return
da {messaggioDaMostrare.autore}
)}