diff --git a/README.md b/README.md index ba45591..7d736a0 100644 --- a/README.md +++ b/README.md @@ -161,6 +161,7 @@ npx cypress open - 현재 진행중인 모각코 방들을 메인화면에서 찾을 수 있어요 - 방에대한 정보(제목, 태그, 테마)등을 통하여 원하는 방에 입장 할 수 있어요 +- 초대하기 링크를 통해 입장하면 비밀번호가 있는 방에 바로 접속 가능해요 ### ⭐️ 모각코 방 생성 @@ -170,17 +171,28 @@ npx cypress open ### ⭐️ 친구 추가 - 모각코중에 마음에 드는 사람을 만났나요? 친구로 등록해보세요 -- 친구의 모각코 방을 따라갈 수도, 개인적인 연락을 할 수 도 있어요 +- 친구 신청, 친구 수락 및 거절, 친구 삭제 모두 가능해요! ### ⭐️ 화면 공유 - 어떤것을 코딩하는지 공유하고 싶다면, 화면을 공유해보세요 - 화면만으로 부족하다면, 음성을 키고 대화해보세요 -### ⭐️ 통계 +### ⭐️ 채팅 +- 모각코 방에서 여러 사람들과 채팅을 할 수 있어요 +- 친구들과 1:1 채팅 또한 가능해요! -- 얼마나 했는지 궁금하시다면, 통계 페이지를 참고하세요 -- 오늘, 이번주, 한달 등 다양한 통계 자료를 보여드려요 +### ⭐️ 유튜브 플레이리스트 듣기 +- 나만의 플레이리스트로 커스텀하여 친구들과 노래를 들을 수 있어요 +- 원하지 않는 노래는 삭제도 가능해요 + +### ⭐️ 프로필 설정 +- 나의 깃허브와 개인 페이지 혹은 블로그 링크를 등록할 수 있어요 +- 간단한 한줄 소개로 자신을 표현해봐요! + +### ⭐ 로비 입장 +- 현재 모도코에 있는 모든 사람들을 확인할 수 있어요 +- 전체 채팅을 통해 같이 모각코할 사람을 구해보세요! --- diff --git a/src/adapters/friendSocket.ts b/src/adapters/friendSocket.ts index 88f196d..cda9336 100644 --- a/src/adapters/friendSocket.ts +++ b/src/adapters/friendSocket.ts @@ -34,7 +34,13 @@ const syncFriend = ( ) => { friendSocket.socket?.on('friend:sync-all', (data: directMessage[]) => { data.forEach((singleData) => { - if (singleData.messages.length === 0) return; + if (singleData.messages.length === 0) { + setMessage({ + uid: singleData.friend.uid, + messages: [], + }); + return; + } // 가장 최근에 온 순서로 정렬 const filteredMessage = singleData.messages ? singleData.messages.sort((a, b) => { diff --git a/src/components/room/InviteModal/Invite.tsx b/src/components/room/InviteModal/Invite.tsx index ac8c391..128ed02 100644 --- a/src/components/room/InviteModal/Invite.tsx +++ b/src/components/room/InviteModal/Invite.tsx @@ -19,9 +19,8 @@ export default function Invite() { } else { const password = localStorage.getItem(`${roomId}`); getInviteCode(parseInt(roomId, 10), password).then((res) => { - localStorage.setItem(`${roomId}`, res.data.password); setInviteCode( - `${process.env.REACT_APP_LAMBDA_INVITE}/${res.data.roomId}`, + `${process.env.REACT_APP_LAMBDA_INVITE}/${res.data.roomId}/${res.data.password}`, ); }); } diff --git a/src/hooks/useLogin.ts b/src/hooks/useLogin.ts index c7f3cf8..5e4dad1 100644 --- a/src/hooks/useLogin.ts +++ b/src/hooks/useLogin.ts @@ -42,8 +42,6 @@ export default function useLogin() { localStorage.setItem('access_token', result.data.access_token); getMe() .then((res) => { - // reload to resolve socket bog - window.location.reload(); setNickname(res.data.nickname); setAvatar(res.data.avatar); setUid(res.data.uid); diff --git a/src/pages/Invite.tsx b/src/pages/Invite.tsx index 3084475..26779f9 100644 --- a/src/pages/Invite.tsx +++ b/src/pages/Invite.tsx @@ -14,6 +14,10 @@ export default function Invite() { const { setLoginModal } = loginModalStore(); const token = localStorage.getItem('access_token'); + const urlSearch = new URLSearchParams(window.location.search); + const password = urlSearch.get('pw'); + if (password) localStorage.setItem(`${inviteId}`, password); + localStorage.setItem('inviteId', inviteId); const { isLoading, error, data } = useMe();