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

design: 톡앤픽 플레이스 Page UI 구현 #155

Merged
merged 7 commits into from
Aug 12, 2024

Conversation

areumH
Copy link
Collaborator

@areumH areumH commented Aug 11, 2024

💡 작업 내용

  • TalkPickItem 컴포넌트 UI 구현 (atom)
  • BestTalkPick 컴포넌트 UI 구현 (molecule)
  • TalkPickList 컴포넌트 UI 구현 (molecule)
  • TalkPickListSection 컴포넌트 UI 구현 (organism)
  • TalkPickPlacePage UI 구현 (page)
  • 구현한 컴포넌트 스토리북에 추가

💡 자세한 설명

✅ TalkPickItem

  • 톡픽 리스트의 헤더, 베스트 톡픽, 톡픽 리스트 총 3가지의 종류로 쓰이기 때문에 type을 default, best, header로 지정했습니다. <TalkPickItem type="header" />의 코드로 리스트의 헤더처럼 사용할 수 있습니다!
  • TalkPickListItem 타입 내에 톡픽의 순위가 없기 때문에 props에 rank를 추가하여 인기 톡픽 배열의 index 값을 사용하여 순위를 표기할 수 있도록 하였습니다.
  • 톡픽 제목이 해당 width 길이를 초과할 경우 ...와 같은 말줄임표로 표기됩니다.

✅TalkPickListSection

  • 페이지네이션 기능 코드를 임의로 적어두었습니다. api 연동 시 사용되지 않습니다!

✅TalkPickPlacePage

  • Header에 누락되어있던 boxShadow 속성을 추가하였고, Footer의 width를 100%로 수정해두었습니다.
  • layout 파일의 헤더 및 푸터를 수정해주었고, App.tsx파일에 해당 페이지를 추가해두었습니다. /talkpickplace 페이지 실행하면 확인 가능합니다!
  • 서버로부터 받아올 데이터 값을 대신해 해당 파일에 임의의 값을 적어두었습니다.
  • 페이지 컴포넌트는 props로 값을 지정해주지 않기에 따로 stories 파일을 작성하지 않았습니다. 대신 페이지 실행 화면을 첨부합니다!
    screencapture-localhost-4000-talkpickplace-2024-08-12-03_14_19

+) styles/reset.css 파일의 max-height 코드를 지우니 스토리북 내에서 발생했던 컴포넌트의 UI가 깨지는 현상이 사라졌습니다!! 페이지에 적용되는 스타일 속성이 스토리북 내에도 동일하게 적용되는 것 같아요 😶

📗 참고 자료 (선택)

📢 리뷰 요구 사항 (선택)

🚩 후속 작업 (선택)

✅ 셀프 체크리스트

  • PR 제목을 형식에 맞게 작성했나요?
  • 브랜치 전략에 맞는 브랜치에 PR을 올리고 있나요? (master/main이 아닙니다.)
  • 이슈는 close 했나요?
  • Reviewers, Labels, Projects를 등록했나요?
  • 작업 도중 문서 수정이 필요한 경우 잘 수정했나요?
  • 테스트는 잘 통과했나요?
  • 불필요한 코드는 제거했나요?

closes #154

@areumH areumH added ✔︎pull requests pull requests 코드 체크 요청 👩🏻‍💻 frontend 프론트엔드 작업 🎨 markup labels Aug 11, 2024
@areumH areumH self-assigned this Aug 11, 2024
Copy link
Collaborator

@alwubin alwubin left a comment

Choose a reason for hiding this comment

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

톡앤픽 플레이스 페이지 관련 컴포넌트들과 페이지 병합까지 수고하셨어요오!! 저도 헤더 보다가 밑에 BoxShadow 확인하고 수정했는데 수정해주셔서 감사합니당ㅎㅎ!! 그리고 혹시 layout에 Footer 넣으시고 Outlet 부분이 혹시 Footer와 겹치는 현상이 있으셨는지 궁금합니다ㅜㅜ 저는 로그인 페이지 제외한 LandingPageTodayTalkPickPage는 Footer와 Outlet이 겹치네용..

@@ -8,7 +8,8 @@ export const containerStyle = css({
display: 'flex',
alignItems: 'center',
justifyContent: 'space-between',
backgroundColor: '#ffffff',
backgroundColor: color.WT,
boxShadow: '0px 4px 11px rgba(0, 0, 0, 0.1)',
Copy link
Collaborator

Choose a reason for hiding this comment

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

이부분 저도 이번에 확인하고 수정했는데..! 감사합니다🙂‍↕️

@areumH
Copy link
Collaborator Author

areumH commented Aug 12, 2024

톡앤픽 플레이스 페이지 관련 컴포넌트들과 페이지 병합까지 수고하셨어요오!! 저도 헤더 보다가 밑에 BoxShadow 확인하고 수정했는데 수정해주셔서 감사합니당ㅎㅎ!! 그리고 혹시 layout에 Footer 넣으시고 Outlet 부분이 혹시 Footer와 겹치는 현상이 있으셨는지 궁금합니다ㅜㅜ 저는 로그인 페이지 제외한 LandingPageTodayTalkPickPage는 Footer와 Outlet이 겹치네용..

아마 현재 페이지에 max-height가 100vh로 적용되어있어서 그럴거에요!! 해당 코드 지우면 해결될 것 같습니당 ☺️☺️

Copy link
Collaborator

@WonJuneKim WonJuneKim left a comment

Choose a reason for hiding this comment

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

컴포넌트 구현과 페이지 병합 고생 많으셨습니다!! 페이지 병합 시 생기는 페이지네이션 방식은 제가 수정 후에 이 부분 까지 수정 같이 해보는 걸로 하겠습니다!!
reset.css 는 제 코드에서도 지우고 실행하면 되겠네요 수고하셨습니다 👍

Comment on lines +26 to +36
const getTalkPickId = (): number | undefined => {
switch (type) {
case 'default':
return talkPickItem.id;
case 'best':
return rank;
case 'header':
default:
return undefined;
}
};
Copy link
Collaborator

Choose a reason for hiding this comment

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

talkpickId를 props 로 받게 된다면, case에 따른 로직을 utils에 정의하는 것도 좋아보여요 😄

@@ -6,7 +6,7 @@ export const footerContainer = css`
display: flex;
flex-direction: column;
background-color: ${color.BLUE_LIGHT};
width: 1920px;
width: 100%;
Copy link
Collaborator

Choose a reason for hiding this comment

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

header와 footer의 경우, 전체 layout을 , 나머지 요소들은 양 옆 간격을 가지고 표시되기 때문에 1920px 로 지정해놨었는데, 100%로 처리하고 안에 요소들에 margin 을 설정하는 것도 좋은 방법이네요!

Comment on lines +75 to +81
<Pagination
pages={pages}
selected={selectedPage}
maxPage={totalPages}
onChangeNavigate={handleChangeNavigate}
/>
</div>
Copy link
Collaborator

Choose a reason for hiding this comment

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

오늘 논의 된 페이지제이션 관련 수정 사항 제가 반영해서 이 부분까지 처리하는 걸로 미리 노티 드립니다.

<li css={storyInnerContainer}>
<h3>Header </h3>
<TalkPickItem {...args} />
<h3>Defult</h3>
Copy link
Collaborator

Choose a reason for hiding this comment

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

이 부분은 오타인거 같습니닷

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

오타가 있었네요..!!! 알려주셔서 감사합니다 바로 수정하겠습니다!! 🥹

@areumH areumH merged commit 5856af1 into dev Aug 12, 2024
3 checks passed
@areumH areumH deleted the design/154-talkpick-place-ui branch September 26, 2024 14:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
👩🏻‍💻 frontend 프론트엔드 작업 🎨 markup ✔︎pull requests pull requests 코드 체크 요청
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

톡앤픽 플레이스 Page UI 구현
3 participants