@@ -2,12 +2,14 @@ import React, { useEffect, useState, RefObject } from 'react';
22import { useSetRecoilState , useResetRecoilState } from 'recoil' ;
33import { FiPlus , FiMic , FiMicOff } from 'react-icons/fi' ;
44
5+ import toastListSelector from '@selectors/toast-list' ;
56import roomDocumentIdState from '@atoms/room-document-id' ;
67import roomViewState from '@atoms/room-view-type' ;
78import isOpenRoomState from '@atoms/is-open-room' ;
89import { isOpenRoomModalState } from '@atoms/is-open-modal' ;
910import DefaultButton from '@common/default-button' ;
1011import { IParticipant , InRoomUserBox , InRoomOtherUserBox } from '@components/room/in-view/in-room-user-box' ;
12+ import roomSocketMessage from '@constants/socket-message/room' ;
1113import { getRoomInfo } from '@api/room' ;
1214import { useRtc , IRTC } from '@hooks/useRtc' ;
1315import {
@@ -27,6 +29,7 @@ function InRoomModal() {
2729 const resetRoomDocumentId = useResetRecoilState ( roomDocumentIdState ) ;
2830 const setIsOpenRoom = useSetRecoilState ( isOpenRoomState ) ;
2931 const setIsOpenModal = useSetRecoilState ( isOpenRoomModalState ) ;
32+ const setToastList = useSetRecoilState ( toastListSelector ) ;
3033 const [ roomInfo , setRoomInfo ] = useState < IRooms > ( ) ;
3134 const [ isMic , setMic ] = useState ( false ) ;
3235 const [
@@ -37,7 +40,14 @@ function InRoomModal() {
3740 getRoomInfo ( roomDocumentId )
3841 . then ( ( res : any ) => {
3942 if ( ! res ) setRoomView ( 'notFoundRoomView' ) ;
40- else setRoomInfo ( res ) ;
43+ else if ( res . participants . length > 5 ) {
44+ setRoomView ( 'createRoomView' ) ;
45+ setToastList ( {
46+ type : 'danger' ,
47+ title : '๋ฐฉ ์ ์ ์คํจ' ,
48+ description : '์
์ฅ ๊ฐ๋ฅ ์ธ์์๊ฐ ์ด๊ณผ๋์ด ์
์ฅ์ด ๋ถ๊ฐ๋ฅ ํฉ๋๋ค' ,
49+ } ) ;
50+ } else setRoomInfo ( res ) ;
4151 } ) ;
4252
4353 return ( ) => {
@@ -48,7 +58,7 @@ function InRoomModal() {
4858 useEffect ( ( ) => {
4959 let isMount = true ;
5060
51- socket ?. on ( 'room: mic' , ( { userData } : any ) => {
61+ socket ?. on ( roomSocketMessage . mic , ( { userData } : any ) => {
5262 if ( isMount ) {
5363 const newParticipants = participants . reduce ( ( acc : Array < IRTC > , cur : IRTC ) => {
5464 if ( userData . userDocumentId === cur . userDocumentId ) {
@@ -69,12 +79,12 @@ function InRoomModal() {
6979
7080 return ( ) => {
7181 isMount = false ;
72- socket ?. off ( 'room: mic' ) ;
82+ socket ?. off ( roomSocketMessage . mic ) ;
7383 } ;
7484 } , [ socket , participants ] ) ;
7585
7686 const micToggle = ( isMicOn : boolean ) => {
77- socket ?. emit ( 'room: mic' , { roomDocumentId, userDocumentId : user . userDocumentId , isMicOn } ) ;
87+ socket ?. emit ( roomSocketMessage . mic , { roomDocumentId, userDocumentId : user . userDocumentId , isMicOn } ) ;
7888 setMic ( isMicOn ) ;
7989 myStreamRef . current !
8090 . getAudioTracks ( )
0 commit comments