-
Notifications
You must be signed in to change notification settings - Fork 1
타임라인 기능 구현 #133
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
base: develop
Are you sure you want to change the base?
타임라인 기능 구현 #133
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
고생하셨습니다~
PR 끊어가면서 구현하는 것 리뷰하는 입장에서 너무 좋은 것 같아요. 변경사항이 적으니 더 꼼꼼하게 볼 수 있는 것 같아요.
몇 가지 코멘트 적어뒀지만 대부분 개선 사항이라 우선 Approve 드릴게요!
논의하고 싶은 점에 대해서 제가 생각하는 답을 해볼게요.
1. 소속/기수 관련
지금 프로필에 하드코딩된 소속/기수의 의미는 FE/BE/AN, N기를 의미했는데 소속 필드가 생겼으니 저는 파트라고 정해봐도 좋을 것 같습니다.
더 좋은 이름이 있다면 그 방향으로ㅎㅎ
2. 이벤트 추가 관련
처음엔 이벤트 추가가 무슨 일을 하는거지?라고 생각할 수 있지 않을까 생각했는데, 영상에 나와있는 것처럼 타임라인 옆에 이벤트 추가 버튼을 두어 이 버튼을 누르면 아래 타임라인을 만들 수 있다는 유도를 잘 한 것 같아요.
3. 소속 추가 버튼
소속 추가 버튼은 어디에 위치할까요? 이건 내일 이야기 해보면 좋을 것 같아요.
고생했어요~ 리뷰 확인하시고 천천히 반영해주세요!
| @@ -0,0 +1,169 @@ | |||
| 'use client'; | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
일반 문서 페이지처럼 그룹 페이지도 서버 컴포넌트로 처리하면 좋을 것 같아요.
- 서버에서 미리 값을 만들어 제공해줄 수 있는 영역 (레이아웃, 서버 데이터) -> 서버 컴포넌트
- 사용자 동작이 포함된 영역 -> 클라이언트 컴포넌트
아래 구조처럼 레아아웃, 서버 데이터를 서버 컴포넌트에서 처리하고, 사용자 인터렉션이 들어가는 영역이나 useState, useEffect가 포함된 기능을 클라이언트 컴포넌트에서 처리하면 좋을 것 같아요.
<ServerComponent>
<ClientComponent>
</ServerComponent>다만 분리하시면서 서버에서 처리할 내용이 너무 없어진다면 클라이언트 컴포넌트로 두셔도 됩니다~
| id: 4, | ||
| uuid: 'event-2', | ||
| title: '회식', | ||
| contents: '맛있는 회식을 했다', | ||
| writer: '관리자', | ||
| occurredAt: '2025-05-01', | ||
| organizationDocumentId: 1, | ||
| imageUrl: 'data:image/jpeg;base64,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', | ||
| }, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
5월 1일에 맛있는 회식을 했군요ㅋㅋㅋㅋㅋ
| if (loading) { | ||
| return ( | ||
| <div className="flex h-96 items-center justify-center"> | ||
| <div className="text-grayscale-lightText">그룹 정보를 불러오는 중...</div> | ||
| </div> | ||
| ); | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Next App router에서는 loading.tsx 파일을 만들어 사용할 수 있어요.
http://nextjs.org/docs/app/api-reference/file-conventions/loading
로딩과 에러 상태를 선언적으로 처리하기 위해서 아래와 같이 ErrorBoundary와 Suspense를 사용하잖아요.
<ErrorBoundary>
<Suspense fallback={<Loading>}>
<Component />
</Suspense>
</ErrorBoundary>next.js는 같은 디렉터리 내에 두 파일만 만들면 알아서 처리해줍니다.
ErrorBoundary -> error.tsx
Suspense -> loading.tsx
단 ErrorBoundary는 클라이언트 컴포넌트에서만 사용할 수 있어요.
| type: 'IMAGE', | ||
| name: event.title, | ||
| } | ||
| : undefined, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
나중에 이미지가 없다면 fallback image를 넣는 것도 고려해보면 좋을 것 같아요
| <style jsx global>{` | ||
| .timeline-container { | ||
| padding: 1rem; | ||
| min-height: 400px; | ||
| max-width: 100%; | ||
| overflow-y: hidden; | ||
| } | ||
|
|
||
| .timeline-container .timeline-main-wrapper { | ||
| padding-bottom: 2rem; | ||
| max-width: 100%; | ||
| overflow-y: hidden; | ||
| } | ||
|
|
||
| .timeline-container .timeline-horizontal-container { | ||
| padding: 1rem 0; | ||
| max-width: 100%; | ||
| overflow-y: hidden; | ||
| } | ||
|
|
||
| /* 카드 3개씩 보이도록 너비 조정 */ | ||
| .timeline-container .rct-chrono-timeline-container { | ||
| max-width: 100% !important; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
이 부분 css 파일을 만들어 import해도 좋을 것 같아요!
issue
구현 사항
🚧 기능이 완성되지 않았지만, 대면 작업을 앞두고 현재 상황을 공유하고자 올리는 PR입니다 🚧
app/wiki/groups/uuid/page.tsx경로에 그룹 페이지를 새로 만들었어요.이 문서는 유저가 그룹을 등록하는 시점에 생성됩니다.
페이지에는 그룹 이름, 결성일(2025.05.05 형식), 내용(그룹 설명), 타임라인이 있어요.
그룹 문서는 기존의 위키 문서들과 동일하게 TOC도 들어가고, 같은 레이아웃이 적용돼요.
이미지
영상
CleanShot.2025-08-31.at.21.11.24.1.mp4
타임라인 라이브러리 도입
타임라인 UI를 구현하기 위해 react-chrono 라이브러리를 도입했어요.
리액트와 타입스크립트로 만들어졌고, 커스터마이징이 간단하고 작업을 빠르게 할 수 있기 때문에 이 라이브러리를 선택했습니다.
논의하고 싶은 부분(선택)
전반적인 기획 부분에서 같이 얘기를 나눠보고 싶어요!
우선 7기 회의에서 정해진 사항을 공유합니다. 각 기획에 대해서 어떻게 생각하시는지도 궁금합니다..!
소속/기수항목이 있어서 텍스트를 어떻게 추가해야 할지 고민됩니다.소속 추가 버튼을 눌러 모달이 뜨고, 모달에서 기존 소속을 검색해서 선택합니다.🫡 참고사항
그룹 페이지에 접근하려면
/wiki/groups/[uuid]로 들어가면 됩니다.