Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FE] 약속 추천 페이지, 약속 결정 페이지 구현 #189

Merged
merged 15 commits into from
Aug 8, 2024

Conversation

hwinkr
Copy link
Contributor

@hwinkr hwinkr commented Aug 8, 2024

관련 이슈

작업 내용

  • 약속 참여자들은 약속 추천 시간을 조회할 수 있습니다.

    • 이로 인해서 더 빠른 의사 결정을 할 수 있습니다.
    • 약속 주최자 또한 약속 추천 페이지로 이동해서, 추천 시간들을 조회할 수 있습니다.
  • 약속 주최자는 약속 시간 결정을 할 수 있습니다.

    • 오직 약속 주최자만이 약속 결정 페이지로 이동할 수 있습니다.
    • 특정 시간을 약속 시간으로 결정하면, 약속 주최자 & 참여자 모두 약속 시간을 수정할 수 없도록 응답이 잠깁니다.
    • 결정을 해도, 다시 그 결정을 취소할 수 있고 이 후 약속 시간을 수정할 수 있습니다.

추천 페이지

image

결정 페이지

image
  • 결정 페이지에서는 약속 결정 api 호출을 하는 작업이 남아있습니다 :)

특이 사항

리뷰 요구사항 (선택)

@hwinkr hwinkr added 🐈 프론트엔드 프론트엔드 관련 이슈에요 :) 🚀 기능 기능을 개발해요 :) 🎨 디자인 디자인을 해요 :) labels Aug 8, 2024
@hwinkr hwinkr added this to the 3차 데모데이 milestone Aug 8, 2024
@hwinkr hwinkr self-assigned this Aug 8, 2024
Copy link

github-actions bot commented Aug 8, 2024

Test Results

5 tests   5 ✅  3s ⏱️
1 suites  0 💤
1 files    0 ❌

Results for commit 9b2231a.

♻️ This comment has been updated with latest results.

Copy link
Contributor

@Largopie Largopie left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

빠르게 구현해주셨네요~! 👍

반영도 빠르게 부탁드립니다~! 💯

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

항상 모킹 데이터를 먼저 만드는 모습 꼼꼼하네요 👍

frontend/src/styles/global.ts Outdated Show resolved Hide resolved
Comment on lines +21 to +25
const formatTime = (time: string) => {
const hour = parseInt(time);
const hourPrefix = hour >= 12 ? '오후' : '오전';

return `${hourPrefix} ${hour % 12 || 12}시`;
};
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[P3]

뭔가 제가 useTimeRangeDropdown.util.ts 파일에서 작성한 함수인 formatHours()와 결이 비슷한 함수같아요!
지금은 아니더라도 추후에 공통적으로 사용할 수 있도록 별도로 분리해도 좋겠습니다 :)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

공통된 부분은 나중에 따로 이슈를 파서 한 번에 반영하면 좋을 것 같아용

Comment on lines +49 to +50
{ value: 'earliest', label: '빠르게 만나고 싶어요' },
{ value: 'longTerm', label: '길게 만나고 싶어요' },
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[P3]

이거 뭔가뭔가 타입 narrow가 안되어있는데, 뭔가뭔가 나중에 수정해야할 듯 싶습니다.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

뭔가뭔가....그래서 뭐죠?

frontend/src/pages/MeetingConfirmPage/index.tsx Outdated Show resolved Hide resolved
Copy link
Contributor

@Largopie Largopie left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

반영사항 빠르게 반영해주셔서 감사합니다 빠이팅 👊

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

msw를 잘 활용하고 있군요👍🏻👍🏻

const { data: attendeeNames } = useQuery({
queryKey: [QUERY_KEY.meetingMySchedule],
queryFn: () => getMeetingAttendees({ uuid }),
retry: 0,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[Q]
retry를 0으로 설정하신 이유가 있나요?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

디버깅용으로 잠시 설정해둔것이긴 한데, retry같은 경우는 공통 queryClient 객체를 설정할 때 저희만의 룰을 만들어가야할 것 같아요!! 지금은 0으로 임시 설정 해두는 것이 괜찮을 것 같아요!

return (
<div css={s_container}>
<section css={s_attendeesContainer}>
<button css={s_tabButton(isSelectedAllAttendee)} onClick={() => toggleAttendee('전체')}>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[P2]
낙타가 만들어준 공통 버튼 컴포넌트 사용해도 될 것 같네요!

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

낙타가 만든 공통 컴포넌트에는 현재 active, inActive 스타일이 없어서 지금은 사용할 수 없을 것 같아욤 ㅎㅎ

Comment on lines -33 to -37

{
path: ':uuid/complete',
element: <MeetingLinkSharePage />,
},
Copy link
Contributor

@Yoonkyoungme Yoonkyoungme Aug 8, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[P1]
로그인 PR에서 아래의 경로로 바꿨습니다! 적용 부탁드려요 :)

{
   path: 'complete',
   path: ':uuid/complete',
   element: <MeetingLinkSharePage />,
 },

Copy link
Contributor

@Yoonkyoungme Yoonkyoungme left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🍀🍀🍀 행복하세요 🍀🍀🍀

- 모든 인원이 가장 빠르게, 가장 길게 만날 수 있는 시간
- 특정 인원이 가장 빠르게, 가장 길게 만날 수 있는 시간
- 약속 참여자들
- 고정된 width에서 컨텐츠의 너비를 보장할 수 있도록 변경
- 추천 컴포넌트는 div
- 결정 컴포넌트는 click 이벤트 핸들링을 위해서 button
- 서버로부터 약속 참여자들 이름을 가져온 후,
- useMeetingTimeRecommendFilter 커스텀 훅을 사용해서 UI를 구성
- 약속 추천 페이지 컴포넌트와, 사용하는 카드 컴포넌트만 다르고 나머지 구성 동일
- recommend, options 카드 컴폰넌트 공통 스타일을 묶은 스타일 객체 추가
@hwinkr hwinkr force-pushed the feat/172-meeting-recommend-page branch from cabda90 to 9b2231a Compare August 8, 2024 15:52
@hwinkr hwinkr merged commit 2ccb5ce into develop Aug 8, 2024
5 checks passed
@hwinkr hwinkr deleted the feat/172-meeting-recommend-page branch August 13, 2024 16:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🎨 디자인 디자인을 해요 :) 🐈 프론트엔드 프론트엔드 관련 이슈에요 :) 🚀 기능 기능을 개발해요 :)
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

[FE] 약속 참여자, 주최자 모두 약속 시간 추천을 받을 수 있는 UI를 구성해요 :)
3 participants