Page 332 - MDP2022-3
P. 332

import  {  IconButton  }  from  "@material-ui/core";

            import  moment  from  "moment";
            import  React  from  "react";
            import  {  useEffect  }  from  "react";

            import  {  useState  }  from  "react";
            import  {  useAuthState  }  from  "react-firebase-hooks/auth";

            import  {  useNavigate,  useParams  }  from  "react-router-dom";
            import  Announcement  from  "../components/Announcement";
            import  {  auth,  db  }  from  "../firebase";

            import  "./Class.css";


            //클래스  페이지



            function  Class()  {

                const  [classData,  setClassData]  =  useState({});
                const  [announcementContent,  setAnnouncementContent]  =  useState("");
                const  [posts,  setPosts]  =  useState([]);

                const  [user,  loading,  error]  =  useAuthState(auth);
                const  {  id  }  =  useParams();

                const  navigate  =  useNavigate();


            //각  데이터  받기



                useEffect(()  =>  {

                    //  reverse  the  array
                    let  reversedArray  =  classData?.posts?.reverse();
                    setPosts(reversedArray);

                },  [classData]);



                const  createPost  =  async  ()  =>  {
                    try  {
                        const  myClassRef  =  await  db.collection("classes").doc(id).get();

                        const  myClassData  =  await  myClassRef.data();
                        console.log(myClassData);

                        let  tempPosts  =  myClassData.posts;
                        tempPosts.push({
                            authorId:  user.uid,
   327   328   329   330   331   332   333   334   335   336   337