{ setContent(event.target.value); } const createMessage = (fileUrl = null) => { const message = { timestamp: firebase.database.ServerValue.TIMESTAMP, user: { id: user.uid, name: user.displayName, image: user.photoURL } } if (fileUrl !== null) { message["image"] = fileUrl; } else { message["content"] = content; } return message; } const handleSubmit = async () => { if (!content) { setErrors(prev => prev.concat("Type contents first")); return; } setLoading(true); //firebase에 메시지를 저장하는 "> { setContent(event.target.value); } const createMessage = (fileUrl = null) => { const message = { timestamp: firebase.database.ServerValue.TIMESTAMP, user: { id: user.uid, name: user.displayName, image: user.photoURL } } if (fileUrl !== null) { message["image"] = fileUrl; } else { message["content"] = content; } return message; } const handleSubmit = async () => { if (!content) { setErrors(prev => prev.concat("Type contents first")); return; } setLoading(true); //firebase에 메시지를 저장하는 "> { setContent(event.target.value); } const createMessage = (fileUrl = null) => { const message = { timestamp: firebase.database.ServerValue.TIMESTAMP, user: { id: user.uid, name: user.displayName, image: user.photoURL } } if (fileUrl !== null) { message["image"] = fileUrl; } else { message["content"] = content; } return message; } const handleSubmit = async () => { if (!content) { setErrors(prev => prev.concat("Type contents first")); return; } setLoading(true); //firebase에 메시지를 저장하는 ">
function MessageForm() {
  const chatRoom = useSelector(state => state.chatRoom.currentChatRoom);
  const user = useSelector(state => state.user.currentUser);
  const [content, setContent] = useState("");
  const [errors, setErrors] = useState([]);
  const [loading, setLoading] = useState(false);
  const messagesRef = firebase.database().ref("messages");

  const handleChange = (event) => {
    setContent(event.target.value);
  }

  const createMessage = (fileUrl = null) => {
    const message = {
      timestamp: firebase.database.ServerValue.TIMESTAMP,
      user: {
        id: user.uid,
        name: user.displayName,
        image: user.photoURL
      }
    }
    if (fileUrl !== null) {
      message["image"] = fileUrl;
    } else {
      message["content"] = content;
    }
    return message;
  }

  const handleSubmit = async () => {
    if (!content) {
      setErrors(prev => prev.concat("Type contents first"));
      return;
    }
    setLoading(true);
    //firebase에 메시지를 저장하는 부분
    try {
      await messagesRef.child(chatRoom.id).push().set(createMessage());
      setLoading(false);
      setContent("");
      setErrors([]);
    } catch (error) {
      setErrors(prev => prev.concat(error.message));
      setLoading(false);
      setTimeout(() => {
        setErrors([]);
      }, 5000);
    }
  }