Page 341 - MDP2022-3
P. 341
}
export default Announcement;
import {
Button,
Dialog,
DialogActions,
DialogContent,
DialogContentText,
DialogTitle,
TextField,
} from "@material-ui/core";
import React, { useState } from "react";
import { useAuthState } from "react-firebase-hooks/auth";
import { useRecoilState } from "recoil";
import { auth, db } from "../firebase";
import { joinDialogAtom } from "../utils/atoms";
function JoinClass() {
const [open, setOpen] = useRecoilState(joinDialogAtom);
const [user, loading, error] = useAuthState(auth);
const [classId, setClassId] = useState("");
const handleClose = () => {
setOpen(false);
};
const joinClass = async () => {
try {
// check if class exists
const classRef = await db.collection("classes").doc(classId).get();
if (!classRef.exists) {
return alert(`Class doesn't exist, please provide correct ID`);
}
const classData = await classRef.data();
// add class to user
const userRef = await db.collection("users").where("uid", "==", user.uid);