-
Notifications
You must be signed in to change notification settings - Fork 1
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
[Feature] 모달 컴포넌트 #25
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.
수고하셨습니다!
저희는 next.js를 사용하니까 useModalState는 사용할 일이 없을 거 같다는 생각이 들긴 하네요...
parallel route, intercepting route, useModalRoute만 사용하면 충분히 다 해결될 거 같아요!
bbf50e1
to
b434677
Compare
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.
수고 하셨어요!!
저는 라우팅이 필요없는 단순 확인용 모달이고 플로우 상 연속 2번 이상 모달이 이어지는 경우가 아니면 useModalState 를 활용해봐도 좋을 것 같아요!
const onClick: MouseEventHandler = useCallback( | ||
(e) => { | ||
if (e.target === overlay.current) { | ||
if (closeModal) closeModal(); | ||
} | ||
}, | ||
[closeModal, overlay] | ||
); |
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.
p4;
정해진 영역 외의 바깥 영역을 클릭하면 닫히는 훅으로 만들어보면 어떨까요? useClickOutside
다른 컴포넌트를 만들 때에도 쓰일 수 있을 거 같아서요 (툴팁 만들 때 사용할 수 있을 거 같은 ,,,)
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.
Modal은 Route 기준으로 구현되어 있으니까, 바깥 영역을 클릭하면 route를 닫히게 만드는 임의의 route로 설정해서 훅을 만들어도 좋을 것 같아요~!!
/closeModal
<- 여기로 라우트되면 null 리턴하게끔..?!
https://nextjs.org/docs/app/building-your-application/routing/parallel-routes#closing-the-modal
아니면 그냥 router.back()
으로 처리해도 될듯!
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.
Modal은 Route 기준으로 구현되어 있으니까, 바깥 영역을 클릭하면 route를 닫히게 만드는 임의의 route로 설정해서 훅을 만들어도 좋을 것 같아요~!!
/closeModal
<- 여기로 라우트되면 null 리턴하게끔..?! https://nextjs.org/docs/app/building-your-application/routing/parallel-routes#closing-the-modal아니면 그냥
router.back()
으로 처리해도 될듯!
오 null
로 처리하는 방법도 있구나 신기해요 요거는 좀 더 공부해봐야 할 것 같아서 일단 세은님이 말하신 특정 영역 밖 컴포넌트 클릭 시 특정 함수를 실행할 수 있는 훅만 분리했습니다! 0fa38d7
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.
P1;
next/navigation
은 client 환경에서 동작하기 때문에 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.
"use client"
는 클라이언트 컴포넌트를 명시하기 위한 용도로 알고 있습니당. 훅에 "use client"
를 추가한다고 해도 훅을 사용하는 컴포넌트에서 "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.
P1;
useState
는 client 환경에서 동작하기 때문에 use client
를 붙여주어야 할 것 같아요!
0fa38d7
to
96a4db4
Compare
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.
수고하셨어요!
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.
수고하셨어요~! 마이너 리뷰라서 미리 어푸룹 날립니당
7b46784
to
a65075b
Compare
* feat: client home으로 접속 시 my-study 페이지로 리다이렉트되도록 설정 * chore: typescript 설정 변경 * feat: ui css 파일 생성 * fix: client 패딩 동적 스타일링 적용 안 되는 문제 해결 * feat: admin home으로 접속 시 studies 페이지로 리다이렉트되도록 설정 * feat: admin Navbar 컴포넌트 구현 * feat: navBar 아이콘 파일 추가 * chore: Navbar와 children을 나란히 배치하도록 수정 * rename: my-homework url 구조 수정 * chore: client layout language 한국어로 변경 * feat: client navBar 멘토 페이지로 전환 버튼 추가 * feat: ui css 파일 변경 * feat: admin 폴더 구조 구축 * feat: admin 전역 스타일에 ui 스타일 추가 * feat: admin 전역 layout 구축 * refactor: Navbar 컴포넌트 div 태그 ul 태그로 변경 * refactor: NavItem 컴포넌트 리팩토링 * design: li 태그 listStyle none으로 수정 * feat: ui css 파일 변경 * feat:CI/CD 추가 * rename: 파일명 변경사항 반영 * chore: lock 파일 변경 사항 반영 * chore: ui 패키지 경로 상대 경로로 변경 * chore: ui 패키지 절대 경로 설정 수정 * rename: fetcher 관련 파일 utils 패키지로 이동 * chore: fetch request 함수 try-catch 문으로 감싸도록 수정 * chore: fetcher baseUrl 프로덕션, 개발 환경 구분하도록 수정 * chore: 응답 파싱 시 이미지도 수용할 수 있도록 수정 * chore: get 메서드에 쿼리 파라미터 기능 추가 * chore: 각 메서드 제네릭 타입 추가 * chore: 불필요한 eslint 규칙 삭제 * chore: request 에러 핸들링 부분 추가 * feat: get 메서드 쿼리 파라미터 관련 테스트 추가 * chore: handleError 비동기 관련 에러 해결 * feat: 에러 핸들링 관련 테스트 추가 * feat: admin, client에 wow-class/utils 패키지 설치 * chore: client jest 관련 속성 제거 * docs: 내비게이션 바 관련 컴포넌트 문서화 추가 * fix: useSelectedLayoutSegments null 관련 처리 추가 * refactor: 웹 접근성 관련 속성 추가 및 시맨틱 태그로 변경 * chore: 중복된 Navbar 컴포넌트 삭제 * chore: next config redirect 속성 변경 * chore: client 접속 시 auth 페이지로 접속하도록 수정 * rename: assets 폴더 내부 구조 변경 * chore: import문 에러 해결 * feat: Text 컴포넌트 제작 * feat: product sans 폰트 추가 * feat: ui 패키지 suit 폰트 추가 * feat: global css에 폰트 적용 * feat: client Header 컴포넌트 구현 * feat: ui 패키지 css 변경사항 반영 * feat: client에 wowds-tokens 패키지 설치 * feat: landing 페이지 레이아웃 구현 * chore: lock 파일 변경 사항 반영 * feat: auth 페이지 구현 * chore: 접속 시 landing 페이지로 리다이렉트되도록 수정 * feat: 많이 쓰는 타이포와 컬러로 디폴트 설정 * refactor: auth 페이지 시맨틱 태그로 변경 * refactor: landing 페이지 시맨틱 태그로 변경 * feat: AuthErrorAfterRecruitment 페이지 구현 * feat: AuthErrorDuringRecruitment 페이지 구현 * chore: Navbar 관련 컴포넌트 apps 패키지로 이동 * chore: panda config에서 components 폴더도 인식하도록 설정 수정 * feat: NavItem 컴포넌트 스토리 추가 * fix: 잘못된 import 경로 수정 * feat: 랜딩 페이지 배경 이미지 추가 * feat: ui 스타일 변경사항 반영 * refactor: 스타일 객체 분리하도록 수정 * rename: fetcher 내부 폴더 구조 변경 * chore: utils 패키지 배럴 파일 추가 * feat: LoginButton 추출 후 적용 * feat: auth server redirect 페이지 구현 * feat: 로그인 상태 관련 리다이렉트 처리 추가 * feat: 로그인 상태 관련 리다이렉트 처리 추가 * chore: use client 주석 삭제 * refactor: nav item text style 토큰 사용하도록 수정 * feat: ui 스타일 변경사항 반영 * refactor: header 색상 토큰 사용하도록 수정 * feat: 수강 신청 페이지 & 과제 페이지 마크업 * chore: 불필요한 세션 로그인 관련 로직 삭제 * chore: 폰트 패키지 생성 및 적용 * feat: 텍스트 컴포넌트 as 추가, typo 관련 panda 설정 panda-config 로 이동 * feat: 스토리북 경로 수정 * feat: NavItem 에 Text 반영 * chore: 리다이렉트 로직 middleware 사용하도록 수정 * feat: 내 과제 페이지까지 마크업 * chore: auth 페이지 이미지 크기 변경 * refactor: routePath 상수로 관리하도록 수정 * refactor: apiPath, tag 상수로 관리하도록 수정 * chore: routePath enum 대신 문자열 리터럴로 변경 * chore: routePath enum 대신 문자열 리터럴로 변경 * feat: px 로 수정 * feat: 토큰 반영 * feat: dot svg 반영 * refactor: 적절한 시맨틱 태그로 변경 * feat: 미들웨어 및 fetch 헤더 설정 테스트 * chore: 불필요한 테스트 로직 삭제 * refactor: dashboard api 별도 함수로 분리 * feat: middleware에서 로그인 여부 및 멤버 롤도 확인하도록 기능 구현 * feat: utils 패키지에 next 설치 * feat: fetcher에 토큰 관련 요청 인터셉터 추가 * chore: 불필요한 로직 삭제 * chore: fetcher에서 쿠키 관련 로직 삭제 * chore: middleware에서 Authorization header 설정해주도록 변경 * refactor: 상수 값 별도로 관리하도록 수정 * chore: wowds-ui 0.1.12 버전으로 변경 * feat: LoginButton에 github logo 추가 * refactor: Text 컴포넌트로 리팩토링 * fix: dashboardApi currentRecruitment 예외 처리 추가 * chore: 페이지명 컨벤션 통일 * rename: LoginButton auth 폴더 내부로 이동 * chore: 대시보드 api 헤더 주입 관련 주석 추가 * feat: Text,Space 컴포넌트로 변경 * feat: Table 스토리 추가 * refactor: base url 상수 값으로 관리하도록 수정 * feat: 폴더 구조, 컴포넌트 네이밍 변경 * feat: Text 컴포넌트로 교체 * feat: 수정된 스펙에 따라 Table 수정 * feat: styles.css 추가 * feat: 컴포넌트 네이밍 변경, 클라이언트 로직 추가 * feat: Icon 적영 * feat: codegen 스크립트 수정 * fix: Type suffix 붙이기 * chore: 스토리북 경로 shared 로 통일 * feat: wowds-icons 패키지 설치 * feat: 나의 스터디 페이지 헤더 컴포넌트 레이아웃 구현 * feat: 나의 스터디 페이지 스터디 공지 컴포넌트 레이아웃 구현 * feat: 나의 스터디 페이지 스터디 커리큘럼 컴포넌트 레이아웃 구현 * design: Navbar 컴포넌트 최소 너비 지정 * [Feature]: 스터디 개설 페이지 레이아웃 (#21) * chore: lock 패키지 변경 사항 반영 * chore: 중복된 Navbar 컴포넌트 삭제 * feat: 개설 스터디 기본 잡기 * feat: 스터디 개설 페이지 레이아웃 * fix: 찌그러짐 방지용 minWidth 추가 * feat: 스터디 개설하기 뷰 생성 * fix: 개설된 스터디로 화면 옮기기 * feat: auth 체크용 middleWare 생성 * fix: utils fetcher 함수 export 경로 변경 * feat: 스터디 생성하기 페이지 생성 * fix: router handler 삭제 * refactor: api path 상수로 수정 * feat: isAdmin 함수 추가 * fix: 코드리뷰 반영 * fix: admin여부에 따라 스터디 생성 박스 보이지 않도록 * chore: 패키지 설치 * fix: 빌드에러 고치기 * fix: isadmin 판별 로직 미들웨어에서 진행 * feat: 역할 논리 다시 * fix: 폴더명 변경 * fix: createStudy 경로 변경 * feat:wow-icons 추가 * fix: 폴더구조 변경 * fix: 폴더 복수형 변경 --------- Co-authored-by: ghdtjgus76 <[email protected]> * chore: client afterLogin layout 하단 패딩 추가 * design: 스터디 커리큘럼 css 수정 * design: 스터디 공지 css 수정 * design: 나의 스터디 페이지 헤더 css 수정 * feat: 나의 스터디 페이지 오늘의 할 일 컴포넌트 추가 * feat: client afterLogin 배럴 파일 추가 * feat: 나의 스터디 페이지 구현 * feat: pnpm lock 파일 변경 사항 반영 * chore: ui 패키지 스타일 변경사항 반영 * feat: 스터디 신청 api 연결 및 응답 포맷팅 로직 추가 * feat: body 추가 * feat: 헤더 뺀 부분 * refactor: parseDate 상단에서 하도록 수정, padWitZero 유틸 추가 * feat: padWithZero export * feat: utils 패키지에 next 설치 * fix: fetcher 클래스 client, server 환경 분리 로직 추가 * chore: root 의존성 충돌 문제 해결 * chore: 불필요한 헤더 주입 로직 삭제 * chore: admin 헤더 관련 로직 삭제 * fix: 빌드 실패하는 문제 해결 * feat: lock 파일 변경사항 반영 * design: client layout width 변경 * feat: useHorizontalScroll 훅 추가 * feat: arrow-button 이미지 추가 * feat: 오늘의 할 일 캐러셀 기능 추가 * feat: async await 으로 변경, success 여부만 넘기는 것으로 * refactor: Table.Content 삭제, 핸들러 이름 변경 * feat: 에러 페이지 추가, header 제거 * feat: 나의 스터디 페이지 헤더 목데이터 기반 UI 구축 * design: 오늘의 할일 자잘한 디자인 수정 * feat: 스터디 공지 목데이터 기반 UI 구축 * design: 클라이언트 레이아웃 오른쪽 패딩 수정 * feat: 스터디 커리큘럼 목데이터 기반 UI 구축 * refactor: 오늘의 할 일 캐러셀 별도 컴포넌트로 분리 * feat: 나의 스터디 페이지 오늘의 할 일 목데이터 기반 UI 구축 * refactor: 공통 상수값 추출 * chore: parseISODate 함수 반환값 수정 * refactor: 타입 types 폴더로 분리 * fix: 빌드 에러 해결 * chore: 배럴 파일에서 import하도록 수정 * [Feature] 스터디 수강신청 api 연결 (#31) * feat: 스터디 신청 api 연결 및 응답 포맷팅 로직 추가 * feat: body 추가 * feat: 헤더 뺀 부분 * refactor: parseDate 상단에서 하도록 수정, padWitZero 유틸 추가 * feat: padWithZero export * feat: utils 패키지에 next 설치 * fix: fetcher 클래스 client, server 환경 분리 로직 추가 * chore: root 의존성 충돌 문제 해결 * chore: 불필요한 헤더 주입 로직 삭제 * chore: admin 헤더 관련 로직 삭제 * fix: 빌드 실패하는 문제 해결 * feat: async await 으로 변경, success 여부만 넘기는 것으로 * refactor: Table.Content 삭제, 핸들러 이름 변경 * feat: 에러 페이지 추가, header 제거 * feat: Table export 추가 및 빌드 스크립트 수정 * fix: 빌드 에러 수정 * feat: Table Content 부분 삭제 * fix: 구조분해할당으로 리팩토링 * fix: respose.ok 값 체크 * chore: 필요없는 주석 제거 * chore: notion link 로 열리게 수정 --------- Co-authored-by: ghdtjgus76 <[email protected]> * refactor: formatWeekPeriod 함수로 리팩토링 * chore: 소개 링크 바로가기 버튼 텍스트 버튼으로 변경 * refactor: 목데이터 한 파일에서 관리하도록 수정 * refactor: map 하나의 객체로 관리하도록 수정 * chore: map 타입 명확하게 지정하도록 수정 * chore: 과제 제출 상태 dto에 맞게 반영 * chore: homework 부분 assignment로 네이밍 변경 * feat: 오늘의 할 일 버튼 조건부 활성화 기능 추가 * feat: ui 스타일 변경사항 반영 * [Feature] 모달 컴포넌트 (#25) * feat: 모달 기본 UI 구현 * feat: 라우팅으로 모달을 열고 닫기 위한 로직 추가 * feat: modal 병렬 라우팅 레이아웃 추가 및 JotaiProvider 삭제 * fix: Modal 닫기 버튼 onClick 함수 변경 및 title 정렬 * feat: Modal ui 패키지로 이동, hook 분리 * fix: 타입 경고 해결 * fix: hook 내보내기 위치 변경 * feat: ui style 재생성 * feat: 라우팅 활용 모달 예시 추가 * feat: jsdoc 추가 및 태그 수정 * fix: JotaiProvider 원복 * fix: title prop 삭제 * fix: open 함수 네이밍 변경 * fix: title 삭제에 따른 예시 prop 삭제 * feat: close 아이콘 적용 * refactor: PropsWithChildren 타입 사용 * feat: useClickOutside 훅 분리 * fix: 불필요한 코드 삭제 및 스토리북 수정 * fix: closeModal props 이름 변경 * refactor: any 타입 좁히기 * feat: setIsOpen 내보내기 추가 * fix: 빌드 에러 해결 * [Feature] 내 과제 페이지 api 연동 (#34) * feat: 과제 히스토리 api 연결, 클라이언트 단에서 목데이터 생성 * feat: histroy api 연동 및 구조 리팩토링 * feat: study-dashboard api 연결, HomeworkBox 분리 * feat: api 에 헤더 삭제 UI 수정 * feat: Table.Content 삭제 * chore: 안쓰는 유틸 지우기 * feat: LInk 로 교체 * chore: 공톧된 style 은 분리 * chore: Typer suffix 붙이기 * feat: Assignment 컴포넌트 분리 * chore: assignment 로 워딩 수정 * feat: 리뷰 반영 * chore: 목데이터 수정 * chore: 스타일 하단으로 분리, 네이밍 더 정확히 * chore: 얼리리턴으로 변경 * feat: 리뷰 반영 * feat: 가로스크롤 가능하게 추가 * chore: 카멜케이스로 변경 * chore: 타입 경로 common 으로 수정 * [Feature] 나의 스터디 페이지 모달 구현 (#39) * feat: client에 wowds-ui 패키지 설치 * feat: LinkButton 컴포넌트 추가 * feat: 오늘의 할 일 AssignmentStatusBox 라우팅 기능 추가 * chore: StudyCurriculum LinkButton으로 변경 * chore: Modal 컴포넌트 내부에서 className, style 커스텀할 수 있도록 변경 * chore: AttendanceStatusBox 버튼 링크 버튼으로 변경 * feat: 출석체크 모달 기능 추가 * feat: 출석체크 완료 모달 기능 추가 * chore: 모달 컴포넌트 기본 onClose는 router.back으로 지정하도록 수정 * chore: 모달 컴포넌트 onClose 핸들러 삭제 * feat: ui 변경사항 반영 * chore: 출석 체크 완료 모달 컴포넌트명 변경 * rename: check attendance -> attendance check로 네이밍 변경 * refactor: 모달 parallel route 한 폴더에서 관리하도록 수정 * chore: 나의 스터디 페이지 모달 조건부 렌더링 방식으로 변경 * feat: ui 패키지 스타일 변경사항 반영 * fix: 빌드 에러 해결 * fix: 스토리북 appDirectory 설정 추가 * [Feature]: 스터디 개설하기 api 연동 (#30) * chore: lock 패키지 변경 사항 반영 * chore: 중복된 Navbar 컴포넌트 삭제 * feat: 개설 스터디 기본 잡기 * feat: 스터디 개설 페이지 레이아웃 * fix: 찌그러짐 방지용 minWidth 추가 * feat: 스터디 개설하기 뷰 생성 * fix: 개설된 스터디로 화면 옮기기 * feat: auth 체크용 middleWare 생성 * fix: utils fetcher 함수 export 경로 변경 * feat: 스터디 생성하기 페이지 생성 * fix: router handler 삭제 * refactor: api path 상수로 수정 * feat: isAdmin 함수 추가 * fix: 코드리뷰 반영 * fix: admin여부에 따라 스터디 생성 박스 보이지 않도록 * chore: 패키지 설치 * fix: 빌드에러 고치기 * fix: isadmin 판별 로직 미들웨어에서 진행 * feat: 역할 논리 다시 * fix: 폴더명 변경 * fix: createStudy 경로 변경 * feat:wow-icons 추가 * refactor: 컴포넌트 폴더위치 변경 * chore:react-hook-form 설치 * feat: 복잡한 UI 설계 react-hook-form * feat: 스터디 수강 시작 날짜 지정 * chore: timepicker 패키지 설치 * feat: 스터디 신청 UI 완성 * fix: 쓸데없는 콘솔로그 제거 * feat: api 연결 * feat:api 호출 성공시 redirect * fix: 캐시 지워서 빌드에러 해결 * chore: 패키지 설치 * fix: api 관련 코드리뷰 반영 * fix: 코드리뷰 반영 * fix: navbar 두개인것 고치기 * fix: 코드리뷰 반영 * fix: 코드리뷰 반영 * fix: 코드리뷰 반영 * fix: 멘토 id 변경 --------- Co-authored-by: ghdtjgus76 <[email protected]> * [Feature] 수강신청 페이지 모달 플로우 추가 (#45) * feat: 신청 모달, 취소 모달 * feat: 컴포넌트 로직 분리 * chore: 문구 수정 * chore: 헤더 제거 * chore: fetcher 주석 해제 * feat: api 추가된 필드에 대해 dto 추가 * feat: url 파람을 통해서 전달하지 않고 api fetch, 폴더 네이밍 변경 * feat: StudyApplication, StudyCancel 로 수정, url로 받는 것으로 수정 * fix: cancel 명사로 수정, StudyItem content min width 주기 * chore: my-assignment 파일 위치 옮기기 * [Feature] 과제 제출 api 연동 (#47) * [Feature] : 개설된 스터디 보기 api 연동 (#37) * feat: 스터디 리스트 보기 뷰 * fix: api 추가 및 하드코딩 제거 * fix:노션 경로 없는 경우 예외처리 * fix: 코드리뷰 반영 * fix: 빌드에러 해결 * fix: 코드리뷰 반영 * [Feature] 레포지토리 입력할 때 모달 플로우 추가 (#46) * feat: 신청 모달, 취소 모달 * feat: 컴포넌트 로직 분리 * chore: 문구 수정 * chore: 헤더 제거 * chore: fetcher 주석 해제 * feat: 레포지토리 입력 모달 * feat: 헤더 제거 * feat: match되는 studyHistoryId 찾는 훅 추가 * chore: modal 라우팅 경로 수정 * chore: my-study/my-assignment 로 이동 * chore: 이전 브랜치에 남은 로직 삭제 * feat: modal 라우팅 수정, url 쿼리paramter 넘기는 것으로 수정 * feat: 분기문 수정 * chore: 컴포넌트명 수정 * refactor: AssignmentBoxButtons 리팩토링 * feat: AssignmentBoxInfo 로 수정 * refactor: RepositorySubmissionBox 리팩토링 * feat: customRevalidate 삭제 * chore: 스타일 객체 하단으로 분리, 문구 수정 * feat: 추가된 히스토리 api dto 반영, 과제 없을 때 ui 추가 * feat: 입력할 때 빈 문자에 대한 validate 추가, 컴포넌트 하단 분리 * chore: 프로퍼티 스프레드로 * feat: 모달 url 변경 * feat: 에러 상태 핸들링 수정, 텍스트필드 height 고정 * chore: ui css반영 * feat: 모달 플로우 수정, 입력하기 버튼 누르면 모달 열리게 * [Feature] 마이페이지, 로그아웃 구현 (#50) * feat: 마이페이지, 로그아웃 구현 * chore: github-logo svg 이름 변경 * feat: 리뷰 반영 * feat: member api 추가 * [Feat] 나의 과제 페이지 Tooltip, Popover 컴포넌트 구현 (#49) * [Refactor] 나의 스터디 페이지 클라이언트 컴포넌트 서버 컴포넌트로 변경 (#41) * feat: LinkButton 추가 * design: 나의 스터디 페이지 하단 스페이싱 추가 * refactor: 모집 기간 이후 리다이렉트 페이지 서버 컴포넌트로 변경 * refactor: 모집 기간 중 리다이렉트 페이지 서버 컴포넌트로 변경 * refactor: 랜딩 페이지 서버 컴포넌트로 변경 * feat: wowds-ui 최신 버전 설치 * refactor: 라우팅 기능 버튼 asProp 사용해서 해결하도록 수정 * refactor: 자잘한 수정사항 반영 * feat: oauth 로그인 버튼 aria-label 추가 * chore: 변경된 이미지 url 반영 * [Feature] 스터디 기본 정보 조회하기 UI 생성 및 api 연결 (#42) * chore: lock 패키지 변경 사항 반영 * chore: 중복된 Navbar 컴포넌트 삭제 * feat: 개설 스터디 기본 잡기 * feat: 스터디 개설 페이지 레이아웃 * fix: 찌그러짐 방지용 minWidth 추가 * feat: 스터디 개설하기 뷰 생성 * fix: 개설된 스터디로 화면 옮기기 * feat: auth 체크용 middleWare 생성 * fix: utils fetcher 함수 export 경로 변경 * feat: 스터디 생성하기 페이지 생성 * fix: router handler 삭제 * refactor: api path 상수로 수정 * feat: isAdmin 함수 추가 * fix: 코드리뷰 반영 * fix: admin여부에 따라 스터디 생성 박스 보이지 않도록 * chore: 패키지 설치 * fix: 빌드에러 고치기 * fix: isadmin 판별 로직 미들웨어에서 진행 * feat: 역할 논리 다시 * fix: 폴더명 변경 * fix: createStudy 경로 변경 * feat:wow-icons 추가 * refactor: 컴포넌트 폴더위치 변경 * chore:react-hook-form 설치 * feat: 복잡한 UI 설계 react-hook-form * feat: 스터디 수강 시작 날짜 지정 * chore: timepicker 패키지 설치 * feat: 스터디 신청 UI 완성 * fix: 쓸데없는 콘솔로그 제거 * feat: api 연결 * feat:api 호출 성공시 redirect * fix: 캐시 지워서 빌드에러 해결 * chore: 패키지 설치 * feat: 스터디 리스트 보기 뷰 * fix: api 관련 코드리뷰 반영 * fix: 코드리뷰 반영 * fix: navbar 두개인것 고치기 * feat: Header, 기본 레이아웃 세팅 * feat: Header 생성 * feat: 출석 보기 * fix: 코드리뷰 반영 * fix: 코드리뷰 반영 * fix: 코드리뷰 반영 * fix: api 추가 및 하드코딩 제거 * feat: 과제 목록 보기 api 연결 * feat: 과제 목록 생성 * feat: 스터디 커리큘럼 생성 기능 및 api 연결 * feat: 스터디 기본 정보 대시보드 * fix: 노션 링크 없을 때에 에러페이지 안뜨게끔 수정 * fix: padwithzero 추가 * fix: 노션 null 처리 진행 * fix: 중복 요소 제거 * fix: 코드리뷰 반영 및 모든 mock 데이터 제거 * fix: 필요없는 console 삭제 * fix: 코드리뷰 반영 --------- Co-authored-by: ghdtjgus76 <[email protected]> * [Feature] 클라이언트 페이지 not-found, error 페이지 추가 (#53) * feat: wowds-ui 최신 버전 설치 * feat: client not-found 페이지 추가 * feat: ui 패키지 스타일 변경사항 반영 * feat: not-found 버튼 aria-label 추가 * feat: 클라이언트 에러 페이지 추가 * feat: 어드민 화면 에러페이지 추가 * fix: 빌드에러 해결 * chore: error html, body 태그 삭제 * feat: pnpm lock 파일 변경사항 반영 --------- Co-authored-by: Eugene Kim <[email protected]> * [Fix] 프로덕션/개발 환경 구분 환경 변수 VERCEL_ENV로 변경 (#67) * fix: 프로덕션/개발 환경 구분 환경 변수 변경 * chore: 환경 변수 NEXT_PUBLIC 구문 추가 * [Feature] 내비게이션 바 역할에 따라 멘토 페이지 전환 버튼 보여주기 여부 조정 (#58) * chore: 불필요한 미들웨어 로직 삭제 * chore: dashboardApi 반환값 추가 * chore: NavItem 경로 상대 경로로 전환 * chore: 변경된 대시보드 dto 반영 * feat: Navbar 멘토 페이지 전환 버튼 역할에 따라 다르게 띄우도록 설정 * [Feature] 클라이언트 페이지 메타데이터 추가 (#60) * feat: root layout 메타데이터 추가 * feat: beforeLogin 라우트 그룹 내 페이지 메타데이터 추가 * feat: afterLogin 라우트 그룹 내 페이지 메타데이터 추가 * chore: 나의 과제 페이지 메타데이터 타이틀 변경 * chore: og-image 변경 * chore: 메타데이터 대문자 수정 * [Feature] 나의 스터디 페이지 api 연결 (#44) * feat: client에 wowds-ui 패키지 설치 * feat: LinkButton 컴포넌트 추가 * feat: 오늘의 할 일 AssignmentStatusBox 라우팅 기능 추가 * chore: StudyCurriculum LinkButton으로 변경 * chore: Modal 컴포넌트 내부에서 className, style 커스텀할 수 있도록 변경 * chore: AttendanceStatusBox 버튼 링크 버튼으로 변경 * feat: 출석체크 모달 기능 추가 * feat: 출석체크 완료 모달 기능 추가 * chore: 모달 컴포넌트 기본 onClose는 router.back으로 지정하도록 수정 * chore: 모달 컴포넌트 onClose 핸들러 삭제 * feat: ui 변경사항 반영 * chore: 출석 체크 완료 모달 컴포넌트명 변경 * rename: check attendance -> attendance check로 네이밍 변경 * chore: 대시보드 api no store cache 속성 설정 * feat: 스터디 기본 정보 조회 api 호출 함수 작성 * feat: 나의 스터디 페이지 헤더 스터디 정보 조회 api 연결 * feat: 스터디 공지 조회 api 호출 함수 작성 * feat: 나의 스터디 페이지 스터디 공지 조회 api 연결 * rename: StudyNotice -> StudyAnnouncementList로 네이밍 변경 * chore: 불필요한 목데이터 삭제 * design: layout shift 방지용 헤더 최소 높이 지정 * feat: 스터디 출석체크 api 호출 함수 작성 * feat: 스터디 출석체크 api 연결 * refactor: 모달 parallel route 한 폴더에서 관리하도록 수정 * feat: 수강 중인 스터디 정보 조회 api 함수 작성 * feat: 수강 중인 스터디 정보가 없는 경우 예외 처리 추가 * feat: 수강 중인 스터디 정보 조회 시 캐시 사용하도록 설정 * rename: 모달 url 경로 수정 * feat: 수강 중인 스터디 태그 추가 * rename: 모달 url 경로 수정에 따른 변경 사항 반영 * chore: 스터디 기본 정보 조회 시 api 요청으로 받은 스터디 아이디 사용하도록 수정 * chore: 스터디 공지 조회 시 api 요청으로 받은 스터디 아이디 사용하도록 수정 * chore: 잘못 머지한 부분 수정 * chore: 스터디 커리큘럼 변경된 dto에 맞게 목데이터 변경 * feat: 나의 스터디 커리큘럼 조회 api 호출 함수 작성 * feat: 나의 스터디 커리큘럼 조회 api 연결 * feat: 현재 주차 표시 기능 추가 * feat: 스터디 커리큘럼 휴강 주차 분기 처리 추가 * feat: 오늘의 할 일 api 조회 함수 추가 * chore: 오늘의 할일 dto 기반으로 목데이터 변경 * chore: dto 타입 제네릭 사용하도록 변경 * chore: 불필요한 목데이터 삭제 * feat: 오늘의 할일 api 연결 * chore: 변수명 변경 * feat: 커리큘럼 조회 dto에 과제 제출 링크 추가 * refactor: studyInfoData fetching 관련 내용 훅으로 분리 * refactor: Time 타입 재사용 * refactor: attendanceCheckModalInfoData fetching 관련 내용 훅으로 분리 * chore: 시간 포맷팅 안 된 부분 수정 * chore: DailyTask key 값 studyDetailId로 변경 * fix: 수강 신청/취소 시 revalidate 로직 추가 * chore: 수강 신청 정보 조회 api no-store로 변경 * refactor: 공통 타입 리팩토링 * [Feature] 스터디 공지 수정, 삭제, 작성 (#48) * [Design] 클라이언트 페이지 디자인 및 수정 사항 반영 (#71) * feat: wowds-ui 최신 버전 설치 * feat: client not-found 페이지 추가 * feat: ui 패키지 스타일 변경사항 반영 * feat: not-found 버튼 aria-label 추가 * feat: 클라이언트 에러 페이지 추가 * feat: 어드민 화면 에러페이지 추가 * fix: 빌드에러 해결 * chore: 내비게이션 바에서 나의 과제 페이지 삭제 * design: 수강 신청 페이지 스터디 한 줄 소개 ellipsis 처리 추가 * design: 버튼 maxWidth 지정 * design: 내비게이션 바 active 상태 안 보이는 부분 수정 * design: navbar 고정되도록 수정 --------- Co-authored-by: Eugene Kim <[email protected]> * [Chore] 클라이언트 스터디 커리큘럼 api 엔드 포인트 및 dto 변경사항 반영 (#74) * chore: 커리큘럼 조회 api 엔드포인트 변경사항 반영 * chore: 스터디 커리큘럼 dto 변경사항 반영 * fix: 과제 스터디의 경우 시간 - 보여주도록 수정 (#82) * fix: 모달 컴포넌트 position 변경 (#80) * fix: QA용 어드민 권한 꺼두기 * fix: middleware 복구 * fix: 환경변수 변경 * [Feature] 스터디 생성 모달 창을 만들고, 스터디 생성 관련 예외처리를 진행해요. (#72) * chore: lock 패키지 변경 사항 반영 * chore: 중복된 Navbar 컴포넌트 삭제 * feat: 개설 스터디 기본 잡기 * feat: 스터디 개설 페이지 레이아웃 * fix: 찌그러짐 방지용 minWidth 추가 * feat: 스터디 개설하기 뷰 생성 * fix: 개설된 스터디로 화면 옮기기 * feat: auth 체크용 middleWare 생성 * fix: utils fetcher 함수 export 경로 변경 * feat: 스터디 생성하기 페이지 생성 * fix: router handler 삭제 * refactor: api path 상수로 수정 * feat: isAdmin 함수 추가 * fix: 코드리뷰 반영 * fix: admin여부에 따라 스터디 생성 박스 보이지 않도록 * chore: 패키지 설치 * fix: 빌드에러 고치기 * fix: isadmin 판별 로직 미들웨어에서 진행 * feat: 역할 논리 다시 * fix: 폴더명 변경 * fix: createStudy 경로 변경 * feat:wow-icons 추가 * refactor: 컴포넌트 폴더위치 변경 * chore:react-hook-form 설치 * feat: 복잡한 UI 설계 react-hook-form * feat: 스터디 수강 시작 날짜 지정 * chore: timepicker 패키지 설치 * feat: 스터디 신청 UI 완성 * fix: 쓸데없는 콘솔로그 제거 * feat: api 연결 * feat:api 호출 성공시 redirect * fix: 캐시 지워서 빌드에러 해결 * chore: 패키지 설치 * feat: 스터디 리스트 보기 뷰 * fix: api 관련 코드리뷰 반영 * fix: 코드리뷰 반영 * fix: navbar 두개인것 고치기 * feat: Header, 기본 레이아웃 세팅 * feat: Header 생성 * feat: 출석 보기 * fix: 코드리뷰 반영 * fix: 코드리뷰 반영 * fix: 코드리뷰 반영 * fix: api 추가 및 하드코딩 제거 * feat: 과제 목록 보기 api 연결 * feat: 과제 목록 생성 * feat: 스터디 커리큘럼 생성 기능 및 api 연결 * feat: 스터디 기본 정보 대시보드 * fix: 노션 링크 없을 때에 에러페이지 안뜨게끔 수정 * fix: padwithzero 추가 * fix: 노션 null 처리 진행 * feat: 공지 생성 기능 * fix: 스터디 공지 수정, 삭제 모달창 구현 * fix: 코드리뷰 반영 * feat: 멘토일 경우 나의 스터디만 볼 수 있게끔 로직 추가 * fix: client 레포에 존재하는 wow-ui 패키지 삭제 * feat: 스터디 생성 확인 모달창 생성 * fix: dropdown 옵션 잘못된 부분 수정, 스터디 형식에 따른 예외처리 진행 * fix: undefined인 경우 null처리 * fix: parse 함수 제거 * fix: 사용하지 않는 import문 제거 * fix: routerPath 수정 * fix: 캐시 지우고 다시 시도 * fix: 코드리뷰 반영 * fix: 모달창 구조 수정 * fix: 폴더명 변경 * fix: 코드리뷰 반영 --------- Co-authored-by: ghdtjgus76 <[email protected]> * [Feature]: 스터디 상세 정보 작성 (#56) * chore: lock 패키지 변경 사항 반영 * chore: 중복된 Navbar 컴포넌트 삭제 * feat: 개설 스터디 기본 잡기 * feat: 스터디 개설 페이지 레이아웃 * fix: 찌그러짐 방지용 minWidth 추가 * feat: 스터디 개설하기 뷰 생성 * fix: 개설된 스터디로 화면 옮기기 * feat: auth 체크용 middleWare 생성 * fix: utils fetcher 함수 export 경로 변경 * feat: 스터디 생성하기 페이지 생성 * fix: router handler 삭제 * refactor: api path 상수로 수정 * feat: isAdmin 함수 추가 * fix: 코드리뷰 반영 * fix: admin여부에 따라 스터디 생성 박스 보이지 않도록 * chore: 패키지 설치 * fix: 빌드에러 고치기 * fix: isadmin 판별 로직 미들웨어에서 진행 * feat: 역할 논리 다시 * fix: 폴더명 변경 * fix: createStudy 경로 변경 * feat:wow-icons 추가 * refactor: 컴포넌트 폴더위치 변경 * chore:react-hook-form 설치 * feat: 복잡한 UI 설계 react-hook-form * feat: 스터디 수강 시작 날짜 지정 * chore: timepicker 패키지 설치 * feat: 스터디 신청 UI 완성 * fix: 쓸데없는 콘솔로그 제거 * feat: api 연결 * feat:api 호출 성공시 redirect * fix: 캐시 지워서 빌드에러 해결 * chore: 패키지 설치 * feat: 스터디 리스트 보기 뷰 * fix: api 관련 코드리뷰 반영 * fix: 코드리뷰 반영 * fix: navbar 두개인것 고치기 * feat: Header, 기본 레이아웃 세팅 * feat: Header 생성 * feat: 출석 보기 * fix: 코드리뷰 반영 * fix: 코드리뷰 반영 * fix: 코드리뷰 반영 * fix: api 추가 및 하드코딩 제거 * feat: 과제 목록 보기 api 연결 * feat: 과제 목록 생성 * feat: 스터디 커리큘럼 생성 기능 및 api 연결 * feat: 스터디 기본 정보 대시보드 * fix: 노션 링크 없을 때에 에러페이지 안뜨게끔 수정 * fix: padwithzero 추가 * fix: 노션 null 처리 진행 * fix: 중복 요소 제거 * fix: 코드리뷰 반영 및 모든 mock 데이터 제거 * fix: 필요없는 console 삭제 * fix: entity 관리하기 쉽게 분리 * feat: 스터디 상세 정보 생성 api 연결 * feat: StudyInfobox 컴포넌트 구성 완료 * feat: 스터디 상세 정보 입력 api 연결 * fix: timeType 추가 * fix: type 고치기 * fix: next-cache 쓸데없이 하는 부분 제거 * feat: 스터디 상세 정보 입력 모달창 생성 * fix: entity 분리한거 합치기 * fix: 코드리뷰 반영 * feat: 커스텀 훅으로 로직 분리 * fix: 코드리뷰 반영, 빌드에러 해결 * fix: 폴더명 수정 * fix: 빌드에러 해결 * fix: 캐시 지우고 폴더명 다시 시도 * fix: 파일명 오류 수정 * fix: 빌드 캐시 지우기 * fix: 새로운 폴더 생성 * fix: 폴더명 다시 되돌림 * fix: 폴더명 명확하게 변경 * fix: 빌드에러 해결 * fix: sessions로 API 변경, 선언적인 코드로 변경 * fix: 세션을커리큘럼으로 바꾸어요 * fix: 스터디 시간 없을 경우 예외처리 * fix: layout overscroll 처리 * fix: query사용 방법 수정 * fix: 스타일 수정 * fix: 코드리뷰 반영 --------- Co-authored-by: ghdtjgus76 <[email protected]> * fix: 빌드에러 수정 * [Bug] 스터디 개설 validation 처리, querystring 사용 방식 개선 (#77) * chore: lock 패키지 변경 사항 반영 * chore: 중복된 Navbar 컴포넌트 삭제 * feat: 개설 스터디 기본 잡기 * feat: 스터디 개설 페이지 레이아웃 * fix: 찌그러짐 방지용 minWidth 추가 * feat: 스터디 개설하기 뷰 생성 * fix: 개설된 스터디로 화면 옮기기 * feat: auth 체크용 middleWare 생성 * fix: utils fetcher 함수 export 경로 변경 * feat: 스터디 생성하기 페이지 생성 * fix: router handler 삭제 * refactor: api path 상수로 수정 * feat: isAdmin 함수 추가 * fix: 코드리뷰 반영 * fix: admin여부에 따라 스터디 생성 박스 보이지 않도록 * chore: 패키지 설치 * fix: 빌드에러 고치기 * fix: isadmin 판별 로직 미들웨어에서 진행 * feat: 역할 논리 다시 * fix: 폴더명 변경 * fix: createStudy 경로 변경 * feat:wow-icons 추가 * refactor: 컴포넌트 폴더위치 변경 * chore:react-hook-form 설치 * feat: 복잡한 UI 설계 react-hook-form * feat: 스터디 수강 시작 날짜 지정 * chore: timepicker 패키지 설치 * feat: 스터디 신청 UI 완성 * fix: 쓸데없는 콘솔로그 제거 * feat: api 연결 * feat:api 호출 성공시 redirect * fix: 캐시 지워서 빌드에러 해결 * chore: 패키지 설치 * feat: 스터디 리스트 보기 뷰 * fix: api 관련 코드리뷰 반영 * fix: 코드리뷰 반영 * fix: navbar 두개인것 고치기 * feat: Header, 기본 레이아웃 세팅 * feat: Header 생성 * feat: 출석 보기 * fix: 코드리뷰 반영 * fix: 코드리뷰 반영 * fix: 코드리뷰 반영 * fix: api 추가 및 하드코딩 제거 * feat: 과제 목록 보기 api 연결 * feat: 과제 목록 생성 * feat: 스터디 커리큘럼 생성 기능 및 api 연결 * feat: 스터디 기본 정보 대시보드 * fix: 노션 링크 없을 때에 에러페이지 안뜨게끔 수정 * fix: padwithzero 추가 * fix: 노션 null 처리 진행 * feat: 공지 생성 기능 * fix: 스터디 공지 수정, 삭제 모달창 구현 * fix: 중복 요소 제거 * fix: 코드리뷰 반영 및 모든 mock 데이터 제거 * fix: 필요없는 console 삭제 * fix: entity 관리하기 쉽게 분리 * feat: 스터디 상세 정보 생성 api 연결 * feat: StudyInfobox 컴포넌트 구성 완료 * feat: 스터디 상세 정보 입력 api 연결 * fix: timeType 추가 * fix: type 고치기 * fix: next-cache 쓸데없이 하는 부분 제거 * fix: 코드리뷰 반영 * feat: 멘토일 경우 나의 스터디만 볼 수 있게끔 로직 추가 * fix: client 레포에 존재하는 wow-ui 패키지 삭제 * feat: 스터디 생성 확인 모달창 생성 * fix: dropdown 옵션 잘못된 부분 수정, 스터디 형식에 따른 예외처리 진행 * fix: undefined인 경우 null처리 * fix: parse 함수 제거 * fix: 사용하지 않는 import문 제거 * feat: 스터디 상세 정보 입력 모달창 생성 * fix: entity 분리한거 합치기 * fix: 코드리뷰 반영 * feat: 커스텀 훅으로 로직 분리 * fix: 코드리뷰 반영, 빌드에러 해결 * fix: routerPath 수정 * fix: 폴더명 수정 * fix: 빌드에러 해결 * fix: 캐시 지우고 다시 시도 * fix: 캐시 지우고 폴더명 다시 시도 * fix: 파일명 오류 수정 * fix: 빌드 캐시 지우기 * fix: 코드리뷰 반영 * fix: 새로운 폴더 생성 * fix: 폴더명 다시 되돌림 * fix: 폴더명 명확하게 변경 * fix: 빌드에러 해결 * fix: sessions로 API 변경, 선언적인 코드로 변경 * fix: 모달창 구조 수정 * fix: 폴더명 변경 * fix: 세션을커리큘럼으로 바꾸어요 * fix: 빌드에러 해결 * fix: 스터디 일정 수정 * fix: validation 수동 변경 * fix: 스터디 코스 먼저 선택하도록 변경 * fix: default 시간 변경 * fix: 스터디 개설 쿼리스트링 방식 개선 * fix: 코드리뷰 반영 * fix: 스터디 코스 선택에 따라 스터디 진행 기간 재 변경 --------- Co-authored-by: ghdtjgus76 <[email protected]> * [Bug] 나의 스터디 페이지 QA 반영 (#87) * refactor: LinkButton 대신 Button asProp 활용하도록 수정 * chore: navbar 로고 클릭 시 홈으로 가도록 수정 * chore: 외부 링크 새 탭으로 열리도록 수정 * chore: navbar 멘토 페이지로 전환 버튼 클릭 시 멘토 페이지로 전환되도록 수정 * fix: notionLink null인 경우 예외 처리 * chore: 헤더 반응형 스타일 적용 * feat: ui 패키지 스타일 변경사항 반영 * fix: og image 안 보이는 문제 해결 * feat: 출석 체크 후 모달 사라지게 하는 로직 추가 * feat: 출석 체크 후 모달 사라지게 하는 로직 추가 * chore: NavItem href 경로 상대 경로로 변경 * rename: useModalRoute 모달 닫는 함수 onClose로 네이밍 변경 * chore: 로고 클릭 시 나의 스터디 페이지로 가도록 수정 * [Chore] 클라이언트 페이지 성능 최적화 (#88) * chore: 폰트 ttf에서 woff2로 변경 * chore: woff2, woff, ttf 순으로 브라우저에서 지원하는 폰트 사용하도록 설정 * feat: my-page, my-study, study-apply 중 한 페이지 초기 접속 시에만 미들웨어 동작하는 로직 추가 * chore: 로그아웃 시 middleware-executed 쿠키 삭제 로직 추가 * chore: 미들웨어에서 로그인 안 한 사용자는 헤더 캐시 속성 없어도 확인하도록 수정 * chore: aria 속성 잘못 설정된 부분 삭제 * chore: 자잘한 태그 변경 * feat: ui 패키지 스타일 변경 사항 반영 * refactor: cookieKey constants에서 관리하도록 수정 * chore: 불필요한 api 호출 에러 처리 삭제 * chore: cookieKey 객체로 관리하도록 수정 * chore: 과제 제출 상태 넘어오지 않는 경우 예외 처리 추가 * refactor: 스타일 객체 분리 * chore: baseUrl hostname으로 지정하도록 수정 * feat: ui 패키지 변경사항 반영 * chore: 불필요한 변수 삭제 * fix: 스터디 기본 정보 시작시간 및 종료시간 널 처리 추가 * feat: ui 패키지 변경사항 변경 * [Feat] 수강 신청,마이 페이지 관련 QA 반영 (#84) * [Feature] 과제 개설, 수정, 조회 UI 및 API 연결 (#76) * feat: 과제 페이지 기본 UI * feat: 과제 위치 이동 및 폰트 적용 * feat: 과제 관련 DTO 추가 * chore: react-hook-form 설치 * feat: 과제 정보 입력 페이지 * feat: 과제 조회 페이지 * fix: 불필요한 use client 삭제 * feat: layout 타입 추가 * fix: 텍스트필드 onChange 에러 임시 주석처리 * fix: 렌더링 오류 수정 * fix: 과제 폴더구조 수정 및 라우팅 추가 * feat: Modal 컴포넌트 forwardRef 추가 * feat: 과제 생성 성공 모달, [id] 폴더 [week] 변경 및 모달 위치 변경 * rename: assignments 폴더 위치 변경 * rename: week -> studyDetailId 폴더구조 변경 * feat: 과제 개설 라우팅 * feat: 과제 내용 보기 페이지 API 연결 * fix: 과제 내용보기 라우팅 변경 * feat: 과제 조회 API 추가 * feat: 과제 수정/생성 페이지 과제 기본정보 API 연결 * feat: 과제 생성/수정 성공 모달 라우팅이 아닌 state로 관리하기 * feat: 과제 수정/생성 API 연결 * fix: 불필요한 모달 관련 코드 삭제 * fix: Modal로 내려주는 prop 타입에러 해결 * fix: assignment null 체크 * chore: TODO 주석 * feat: 과제 휴강 처리 보완 * feat: react-hook-form useController 활용해서 CustomTextField 만들기 * chore: defaultValue 적용 안됨 * rename: edit -> edit-assignment * fix: 과제 리스트 revalidate * refactor: 중복 로직 삼항연산자로 개선 * fix: defaultValue 적용 안되는 문제 * fix: 빌드 에러 수정 * chore: AssignemtPage 네이밍 변경 * fix: descriptionLink null로 오는 경우 가드 * feat: ItemSeparator 컴포넌트 분리, 적용 * chore: 타이틀 주차 색상 적용 * chore: 중복된 패딩 제거 * refactor: 수강 상태 텍스트 변환 함수에서 객체로 바꾸기 * chore: 불필요한 toString 사용 삭제 * fix: 디테일 페이지 과제 휴강 버튼 삭제 * refactor: 복잡한 삼항연산자 개선 * refactor: 과제 관련 router 상수화 * fix: 잘못된 변수명 수정 * chore: 불필요한 use client 삭제 * fix: 빌드 에러 수정 * [Feature] 어드민 페이지 메타데이터 설정 및 UX 개선 (#91) * feat: og-image 추가 * feat: 루트 레이아웃 메타데이터 작성 * feat: 하위 페이지 title 작성 * feat: 로고 및 네비게이션 UX 고려하기 * design: studies 페이지 하위 overflow scroll 적용 * fix: 모달 뒷배경 스크롤 막기 * fix: 불필요한 prop 삭제 * chore: title 워딩 수정 * chore: 빌드 에러 수정 * fix: 누락된 modal props * fix: 에러 해결을 위해 generateMetadata page로 이동, page 컴포넌트 서버컴포넌트로 만들기 * chore: 임시용 mentor id 설정 * [Design] 나의 스터디 페이지 스터디 커리큘럼 반응형 디자인 적용 (#98) * chore: 이전에 반영되지 않았던 변수명 변경 * design: 스터디 커리큘럼 반응형 디자인 적용 * [Chore] 클라이언트 나의 스터디 페이지 및 자잘한 QA 사항 반영 (#102) * design: 수강 중인 스터디 없는 경우 디자인 수정사항 반영 * chore: wowds-ui 0.1.15 버전으로 변경 * refactor: DailyTaskItem 별도 파일로 분리 * chore: 오늘의 할 일 과제 박스 시간 포맷팅 안 된 부분 적용 * fix: ISODate 가져올 때 날짜 잘못 가져오는 문제 해결 * chore: 스터디 커리큘럼 현재 주차 외의 버튼은 다 disabled 상태로 변경 * chore: 커리큘럼 과제 휴강인 경우 버튼 disabled 처리 * chore: 메타데이터 타이틀 변경 * [Refactor] : 어드민 서비스 미들웨어 로직 추가 및 스터디 리스트 레이아웃 조정 (#94) * chore: middleware 캐시 로직 추가 * fix: 오타 수정 * fix: 커리큘럼을 스터디로 변경해요 * feat: Navbar 클릭하면 메인페이지로 이동 * fix: 절대경로 변경 * fix: 스터디 상세 레이아웃 수정 * fix: url constants로 분리 * fix: error처리 삭제, 이름 변경 * fix: 어드민 전용으로 쿠키 이름 변경 * fix: 만료 시간 제거 * [Feat] 수강신청 페이지 큐에이 반영 (#105) * feat: 큐에이 반영 * fix: 소문자로 변경 * [Fix] 네비게이션 관련 QA 이슈 해결 (#103) * fix: 네비게이션 따로 스크롤 * fix: 수강생 관리 메뉴 주석처리 * feat: 멘티 페이지로 이동 * fix: clientUrl 환경변수 관리 * [Design] nav-item 경로 이슈 때문에 색 적용 안 되는 문제 해결 (#110) * [Feature] 출결번호 API 연결 (#104) * feat: 출석 조회 API * feat: AttendaceItem 컴포넌트 * fix: studyId 넘겨주는 방법 변경 * feat: AttendaceList 컴포넌트 * feat: 출결번호 상태체크 및 UI 렌더링 * rename: statusmap 경로수정 * rename: 파일명 타이포 수정 * fix: 출결 상태에 따라 출결번호 색상 변경 * fix: 비활성화 색상 변경 * [Feature] 과제 Picker 컴포넌트 도입 및 QA사항 반영 (#99) * fix: 과제 DTO 변경 * feat: formatDateToISOString util함수 추가 * feat: Picker 컴포넌트 도입 * fix: 시간 형식 변경 * chore: 과제 선택 가능 범위? * fix: 과제 response DTO 수정으로 인한 로직 변경 * chore: 버튼 활성화 관련 TODO * fix: API 요청 포맷에 맞게 수정 * chore: wowds-ui, wowds-icons 버전업 * fix: getIsCurrentWeek 로직 수정 * fix: 과제 휴강 후 revalidate * fix: 휴강완료 버튼 이벤트 막기 * fix: Date 선택해야 버튼 활성화되도록 수정 * refactor: assignment 구조분해할당 * fix: defaultValue 없을 때 props 넘겨주지 않도록 * fix: useEffect 로직 수정 * fix: 같은 역할을 하는 유틸함수 삭제 * fix: 메타데이터 수정 * feat: studyTitle 추가 * [Fix] 스터디 상세, 스터디 생성 관련 QA 이슈 해결 (#106) * feat: 수정 아이콘 추가 * fix: 난이도 옆에 실제 값 반영되도록 수정 * fix: Header arrow 방향 수정 * fix: 개설된 스터디 -> 담당 스터디 * fix: 스터디 정보 수정 이후 커리큘럼 업데이트되도록 수정 * fix: 스터디 상세 정보 수정 * fix: 필요없는 콘솔로그 제거 * fix: 스터디 생성일 validation 처리 * fix: 스터디 시작-종료 시간 validation 추가 * fix: url 문제 해결 * fix: edit 아이콘 위치 변경 * fix: 휴강 여부도 수정할 수 있도록 변경 * [Fix] 스터디 공지 관련 QA 이슈 해결 (#109) * fix: 공지 작성시 container height 같이 커지도록 수정 * fix: 스터디 공지 작성하면 textfield 값 비우기 * fix: 스터디 수정 UX 개선, 스터디 공지 수정 이후 바로 반영되게끔 * feat: 멘토 페이지로 전환 링크 동작하도록 변경 * fix: 스터디 상세 보기 레이아웃 잡기 * fix: 스터디 삭제 바로 반영 * fix: 외부 링크로 이동하는 경우 _blank처리 * fix: 멘티 전환 페이지 수정 * [Feature] 스터디 멘토 검색 기능 추가 (#111) * feat: 스터디 멘토 검색 기능 추가 * chore: cursor pointer 스타일 추가 * fix: 빌드 에러 해결 --------- Co-authored-by: ghdtjgus76 <[email protected]> Co-authored-by: SeieunYoo <[email protected]> Co-authored-by: SeieunYoo <[email protected]> Co-authored-by: 이현영 <[email protected]>
🎉 변경 사항
🚩 관련 이슈
🙏 여기는 꼭 봐주세요!
useModalRoute
useState
훅을 활용한 모달useModalState
children
으로 하위 컴포넌트를 처리하면 하위에도 서버 컴포넌트가 돌아갈 수 있게 됩니다. (현재layout
세팅처럼요!)layout
에서 훅을 사용해야 하므로layout
자체가 클라이언트 컴포넌트가 됩니다.useState
를 사용한useModalState
또는useModalRoute
를 활용하여 각 컴포넌트에서 모달 상태를 관리합니다.admin
쪽에 임시로 구현해 두었습니다. 필요하시다면 Next.js 문서를 활용하셔서 구현하면 되고, 일반적인 모달은useModalState
로 처리해도 무방할 것 같습니다.