06/22-2

Posted by:

|

On:

|

팀프로젝트 관련 내용

달력을 여러개 만들어 각각의 용도에 맞게 쓰기로 했다

  1. 메인캘린더/마이캘린더
    이 부분은 자신의 값만 가져오면 된다. 현재는 더미데이터로 했다.
    약속이 잡힌 날을 클릭시에는 해당 약속의 상세내용이나 약속관련 모달창이 나오도록 예정을 잡고 있고
    약속이 없는 날을 클릭시에는 아무런 이벤트가 없다
  2. 모임캘린더
    이 부분은 모임에 해당하는 인원들의 약속이 잡힌 날을 모두 모아서 표시하는 부분이다. 현재는 GroupDetail.jsx에서 더미데이터를 전역으로 꺼내서 export로 옮겨서 사용했다.
    각자의 date 값만 먼저 뽑은 후 빈 배열을 만들어서 거기에 concat 과 …(스프레드시트연산자)를 이용해 인덱스를 분해해서 하나씩 넣는 방법을 택했다.
    약속이 한명이라도 잡힌 날을 클릭시에는 현재 알림창으로 ‘이미 약속이 잡힌 날입니다’를 띄우도록 하였고
    없는 날의 경우 모임의 약속을 만드는 모달창을 띄우도록 했다
  3. 친구 캘린더(내가 친구것을 보거나 친구가 내 것을 보는 경우)
    이 부분은 상대방의 약속이 잡힌 날을 들고와야 한다. 현재는 더미데이터로 했다
    모임캘린더의 클릭이벤트를 그대로 가져오면 된다.
    대신 약속이 없는 날이면 친구와 나 둘의 약속이 잡히는 방향으로 해야 할 듯 하다
  4. 공통적으로 firebase에서 데이터를 담을 형태가 아직 없어서 실적용은 보류
    진지하게 데이터로 구성하고자 한다면 date값을 저장하는 컬렉션 이름이 따로 있고 그 안에서 문서id는 유저의 id가 되어야 하고 문서 안에서는 날짜값들이 배열형태로 약속이 잡힌 날들이 있어야 한다.
    그러면 이제 로그인 시에는 자신의 id값이 있으므로 해당 값을 불러내면 메인갤린더와 마이캘린더 값을 나타낼 수 있고
    친구캘린더의 경우 친구 id를 비교해 불러내면 되고
    모임캘린더의 경우 모임에 속한 유저들의 id를 map으로 접근해 맞는 날짜를 모아놓은 커렉션에 접근해 해당 유저 id와 같은 문서 id에 접근해서 배열을 불러내면 된다
    예시 : 컬렉션이름-havedate / 문서id : 유저id / 필드 : date=[new Date(), new Date()]