Skip to content

Conversation

@wldnjs990
Copy link
Collaborator

✅ 요약

🪄 변경사항

  • 편지 작성 퍼블리싱 완료
  • 카테고리 우표 선택 퍼블리싱 완료
  • 결과화면 퍼블리싱 거의 완료(애니메이션 구현은 아직 안했습니다.)
  • 옵션 모달? 바텀시트? 거의 구현 완료(슬라이드 토글 구현은 아직 안했습니다.)
  • 최초 편지 / 답장 편지에 대한 분기를 나눴습니다.

🖼️ 결과 화면 (선택)

image
image
image
image
image

💬 리뷰어에게 전할 말 (선택)

  • 기능적으론 백엔드분들과 연결 가능할 정도까지만 만들었습니다!(애니메이션 넣다가 시간이 오래 걸릴거 같아서..) 먼저 다른 페이지 퍼블리싱 후딱 끝내고 나머지 디자인 구현하겠습니다!!!

@wldnjs990 wldnjs990 added the 🎨 Design 디자인 이슈 label Feb 18, 2025
@wldnjs990 wldnjs990 self-assigned this Feb 18, 2025
@wldnjs990 wldnjs990 linked an issue Feb 18, 2025 that may be closed by this pull request
1 task
Copy link
Collaborator

@AAminha AAminha left a comment

Choose a reason for hiding this comment

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

수고하셨습니다!!! 이정도면 기능 구현 아닌가요?!?! 엄청나십니돳!
혹시 여기 있는 이미지가 다 사용되고 있는 게 맞나요!?


import { T_theme_info, T_theme_obj } from '../write';

const themes: T_theme_info[] = [
Copy link
Collaborator

Choose a reason for hiding this comment

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

상수는 명확한 구분을 위해서 UPPER_CASE로 작성하면 어떨지 제안해봅니다!

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

오오오 바로 UPPERCASE로 바꾸겠습니다! 저도 사용하면서도 헷갈리더라구용

Copy link
Collaborator

Choose a reason for hiding this comment

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

타입명은 헝가리안 표기법일까요?!?! 제가 알기로는 타입명은 스네이크 케이스보다는 파스칼 케이스로 많이 사용한다고 알고 있어서 타입명을 수정하는건 어떨지 제안드립니다!
그리고 d.ts 파일의 특징은 import와 export를 하지 않아도 된다는 점으로 알고 있습니다! 그래서 d.ts에 있는 export와, d.ts에 있는 타입 import문은 제거하셔도 될 것 같아요

Copy link
Collaborator

Choose a reason for hiding this comment

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

타입은 types 폴더에 넣어도 되지 않을까 합니당~!

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

감사합니다! 전부 적용해놓겠습니당

Comment on lines 36 to 44
{send || prevLetter ? (
<span className="body-b text-gray-60 mt-15 rounded-full bg-white px-6 py-4">
편지 작성이 완료 되었어요!
</span>
) : (
<span className="body-b text-gray-60 mt-15 rounded-full bg-white px-6 py-4">
어떤 답장을 받고 싶나요?
</span>
)}
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.

오 저 편지 작성이 완료 되었어요! 부분이 나중에 애니메이션이 적용될때 어떻게 애니메이션 효과를 줘야할지 애매해서 저렇게 뒀는데 애니메이션 구현하면서 수정해보겠습니다!

Copy link
Collaborator

Choose a reason for hiding this comment

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

아하!!! 그렇군요! 좋아요좋아요


{send && (
<div className="mt-25 flex w-full max-w-[300px] flex-col items-center gap-5">
<ResultLetter stampName={stamp!} />
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.

엇 그냥 멋모르고 쓴건뎅 허허 수정하겠습니다!!

Comment on lines 77 to 78
<div
role="button"
Copy link
Collaborator

Choose a reason for hiding this comment

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

role이 button이라면.. button 태그를 해도 되지 않을까요?!

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

!!

Comment on lines 12 to 16
text: string;
onClick?: () => void;
bgColor?: string;
clicked?: T_option;
rounded?: string;
Copy link
Collaborator

Choose a reason for hiding this comment

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

예전에 강사님이 props 순서로 함수들을 뒤쪽에 몰아넣으면 정리하면 좋다고 말씀해주셨던 기억이 있어요!
그래서 이런 점도 신경쓰면 좋을 것 같습니당~~

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

오홍 이런 디테일이 있었군용 감사합니다!!!

Comment on lines 12 to 16
stampName = '위로와 공감',
}: {
stampName: '위로와 공감' | '축하와 응원' | '고민 상담' | '기타' | '답변자';
}) {
const letterStyle = twMerge(`flex w-full flex-col gap-[35px] p-4`);
Copy link
Collaborator

Choose a reason for hiding this comment

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

이건 바로 class로 넘겨도 되지 않을까 싶습니다!

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

엇 그러게요! 왜 저렇게 만들었지...

Comment on lines 21 to 27
const stamps = {
'축하와 응원': celebrationStamp,
'위로와 공감': consolationStamp,
'고민 상담': consultStamp,
기타: etcStamp,
답변자: respondentStamp,
};
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.

아직 상수로 안 뺀 친구들이 좀 있었는데 찾아주셨군요 ㄷㄷ.. 감사합니다!!!

Comment on lines 11 to 26
<div className="w-[calc(50%-12px)]">
<CategoryStamp title="위로와 공감" image={consolation} />
<p className="body-m mt-2 flex items-center justify-center">위로와 공감</p>
</div>
<div className="w-[calc(50%-12px)]">
<CategoryStamp title="축하와 응원" image={celebration} />
<p className="body-m mt-2 flex items-center justify-center">축하와 응원</p>
</div>
<div className="w-[calc(50%-12px)]">
<CategoryStamp title="고민 상담" image={cunsult} />
<p className="body-m mt-2 flex items-center justify-center">고민 상담</p>
</div>
<div className="w-[calc(50%-12px)]">
<CategoryStamp title="기타" image={etc} />
<p className="body-m mt-2 flex items-center justify-center">기타</p>
</div>
Copy link
Collaborator

Choose a reason for hiding this comment

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

와!!! map 쓰고 싶게 생겼어요!!

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

으악 map 가져와!!!!!

Copy link
Collaborator

Choose a reason for hiding this comment

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

svg 팁을 드리자면!!! 제가 svgr이라는 라이브러리를 설치해놨는데요! 이 친구를 사용하면 svg를 컴포넌트처럼 사용할 수 있습니다!
머지된 코드 보시면 제가 사용한 사례들이 몇몇 보일거에요!

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

오잉? svg로 컴포넌트를 만들어놓은게 몇개 있는데 사례들 참고해서 수정해보겠습니다!!!👍👍👍👍

@wldnjs990
Copy link
Collaborator Author

새벽에 리뷰하셨는데도 이렇게 잘 잡아주시다니 ㄷㄷㄷ
그리고 이미지는 다시한번 살펴봤는데 전부 사용하는 이미지입니다!!

@wldnjs990
Copy link
Collaborator Author

수정사항 적용해서 다시 커밋 올렸습니다!!

@wldnjs990
Copy link
Collaborator Author

애니메이션 적용했습니다! 바텀시트 슬라이드 구현은 추후에 하고 다른 페이지 퍼블리싱 먼저 하겠습니다!!

@wldnjs990 wldnjs990 merged commit 8c3c23c into develop Feb 19, 2025
@wldnjs990 wldnjs990 deleted the 5-design-write branch February 19, 2025 07:35
wldnjs990 added a commit that referenced this pull request Mar 4, 2025
* design: 모바일 뷰 기본 틀 설정 (#2)

* chore: mui icon 라이브러리 설치

* design: 최대 너비 600px 제한

* design: 모바일 viewport 문제 개션을 위한 훅 추가

* design: 마이페이지 퍼블리싱 (#8)

* design: 마이페이지 에셋 추가

* design: 마이페이지 퍼블리싱

* design: ConfirmModal 컴포넌트 구현 및 탈퇴 모달 적용

* design: 모달 배경 이미지 적용

* design: 모달 컴포넌트 버튼 비율 동일하도록 수정

* refactor: 중복되는 버튼 디자인 스타일 클래스로 분리

* design: 배경 오버레이 이미지 추가

* fix: useViewport 계산 상수 수정

* feat: 온도에 맞는 텍스트 보여주는 함수 추가

* refactor: hn 태그 적용

* refactor: Header 컴포넌트를 공통 레이아웃으로 분리

* refactor: 모달 오버레이 공통 컴포넌트로 분리

* design: 알림페이지 퍼블리싱 (#10)

* design: 알림 페이지 에셋 추가

* feat: 알림 아이콘 - 알림 페이지 라우팅 연결

* design: 경고 모달창 퍼블리싱

* design: 알림 페이지 퍼블리싱

* design: 페이지 상단 간격 수정

* refactor: 레이아웃 컴포넌트 구조 수정

* design: 편지작성 페이지 퍼블리싱 (#13)

* design:편지 작성 페이지 작업 시작

* design:폰트 css 추가

* design:편지 작성 페이지 작업중

* design:글 작성 페이지 관련 이미지

* design:애니메이션 요소, 테마 제외한 퍼블리싱 완료

* design:편지지 테마선택 퍼블리싱 완료

* refactor:타입명 파스칼 케이스로 변경 & 상수명 대문자로 변경 & 타입 export import문 제거 & 몇몇 코드 상수파일 통합 & 타입파일 types폴더로 이동

* refactor:코드리뷰 수정사항 적용

* design:편지작성 완료 애니메이션 구현

* design:고민편지 작성 결과에도 애니메이션 적용 & ResultLetter 컴포넌트 공용 컴포넌트로 이동

* design: 게시판 퍼블리싱 (#14)

* design: 편지 게시판 페이지 내 편지 미리보기 컴포넌트 퍼블리싱

* design: 롤링페이퍼 공지 컴포넌트 퍼블리싱

* design: 편지 공유 게시판 퍼블리싱

* refactor: ConfirmModal 배경 이미지 삽입 방식 개선

* rename: 파일명 형식 통일을 위한 에셋 파일명 수정

* design: 롤링페이퍼 편지 컴포넌트 퍼블리싱

* design: 롤링페이퍼 페이지 퍼블리싱

* refactor: ModalOverlay 컴포넌트로 모달의 외부 영역 클릭 로직 이동

* design: 롤링페이퍼 페이지 메시지 상세조회 모달 퍼블리싱

* design: 모달 활성화 시, 스크롤이 안되도록 수정

* design: 신고 모달 컴포넌트 퍼블리싱

* design: 롤링페이퍼 메사지 추가 모달 버픕ㄹ리싱

* design: Header 컴포넌트 position을 fixed로 변경

* refactor: 하단 배경 컴포넌트로 분리

* design: 마이페이지 중 내가 올린 게시물 페이지 퍼블리싱

* design: 게시판 상세 페이지의 편지 컴포넌트 퍼블리싱

* design: 편지 공유 게시글 상세 페이지 퍼블리싱

* feat: 게시글 상세 페이지 헤더 컴포넌트 뒤로가기 기능 추가

* remove: 중복 에셋 제거

* refactor: 중복 스타일 코드 utilities로 분리

* design: 내 편지함 페이지 퍼블리싱 (#16)

* design: 내 편지함 목록 페이지 퍼블리싱

* refactor: 리스트 디자인 컴포넌트로 분리

* design: 컴포넌트 props명 수정 및 sender, receiver 디자인 변경

* design: 내 편지함 상세 페이지 퍼블리싱

* refactor: 배경 이미지 삽입되는 로직 컴포넌트로 분리

* design: 필요한 모달 퍼블리싱 및 버튼과 연결

* rename: ListItemContainer -> ListItemWrapper로 컴포넌트명 수정

* refactor: 페이지 제목에 PageTitle 컴포넌트 적용

* design : 랜덤 편지 페이지 & 편지 상세 페이지 퍼블리싱 (#17)

* design:랜덤편지 메인화면, 편지선택 모달 퍼블리싱

* chore:스와이퍼 설치

* design:랜덤 편지 페이지 스와이퍼 적용

* design:편지 상세보기 퍼블리싱

* design:편지 작성 페이지 레이아웃 관련 수정

* design:랜덤편지 페이지 퍼블리싱

* design:편지 상세 페이지 퍼블리싱

* design:랜덤편지 세부사항 수정 & 공용 컴포넌트들로 코드 수정

* refactor:코드리뷰 수정사항 반영

* design: 온보딩 페이지 퍼블리싱 (#18)

* design: 온보딩 페이지 퍼블리싱

우편번호 페이지 퍼블리싱 완료
우편번호 애니메이션 구현 완료
애니메이션 페이지 퍼블리싱 완료
애니메이션 페이지 구현 중
관리자 편지는 컴포넌트 제작 후 라우팅 연결할 예정

* design: 게시판 퍼블리싱 (#14)

* design: 편지 게시판 페이지 내 편지 미리보기 컴포넌트 퍼블리싱

* design: 롤링페이퍼 공지 컴포넌트 퍼블리싱

* design: 편지 공유 게시판 퍼블리싱

* refactor: ConfirmModal 배경 이미지 삽입 방식 개선

* rename: 파일명 형식 통일을 위한 에셋 파일명 수정

* design: 롤링페이퍼 편지 컴포넌트 퍼블리싱

* design: 롤링페이퍼 페이지 퍼블리싱

* refactor: ModalOverlay 컴포넌트로 모달의 외부 영역 클릭 로직 이동

* design: 롤링페이퍼 페이지 메시지 상세조회 모달 퍼블리싱

* design: 모달 활성화 시, 스크롤이 안되도록 수정

* design: 신고 모달 컴포넌트 퍼블리싱

* design: 롤링페이퍼 메사지 추가 모달 버픕ㄹ리싱

* design: Header 컴포넌트 position을 fixed로 변경

* refactor: 하단 배경 컴포넌트로 분리

* design: 마이페이지 중 내가 올린 게시물 페이지 퍼블리싱

* design: 게시판 상세 페이지의 편지 컴포넌트 퍼블리싱

* design: 편지 공유 게시글 상세 페이지 퍼블리싱

* feat: 게시글 상세 페이지 헤더 컴포넌트 뒤로가기 기능 추가

* remove: 중복 에셋 제거

* refactor: 중복 스타일 코드 utilities로 분리

* design: 내 편지함 페이지 퍼블리싱 (#16)

* design: 내 편지함 목록 페이지 퍼블리싱

* refactor: 리스트 디자인 컴포넌트로 분리

* design: 컴포넌트 props명 수정 및 sender, receiver 디자인 변경

* design: 내 편지함 상세 페이지 퍼블리싱

* refactor: 배경 이미지 삽입되는 로직 컴포넌트로 분리

* design: 필요한 모달 퍼블리싱 및 버튼과 연결

* rename: ListItemContainer -> ListItemWrapper로 컴포넌트명 수정

* refactor: 페이지 제목에 PageTitle 컴포넌트 적용

* design: 온보딩 페이지 편지 애니메이션 구현

- 온보딩 페이지에서 편지 애니메이션 구현
- TODO: 모바일 뷰 확인
- TODO: 편지 상세 링크

* design : 랜덤 편지 페이지 & 편지 상세 페이지 퍼블리싱 (#17)

* design:랜덤편지 메인화면, 편지선택 모달 퍼블리싱

* chore:스와이퍼 설치

* design:랜덤 편지 페이지 스와이퍼 적용

* design:편지 상세보기 퍼블리싱

* design:편지 작성 페이지 레이아웃 관련 수정

* design:랜덤편지 페이지 퍼블리싱

* design:편지 상세 페이지 퍼블리싱

* design:랜덤편지 세부사항 수정 & 공용 컴포넌트들로 코드 수정

* refactor:코드리뷰 수정사항 반영

* refactor: pr 피드백 반영

- 이미지 에셋 정리
- animation 파일 분리
- css 충돌 해결
- spinner -> containerRef 오류 수정

---------

Co-authored-by: nirii00 <[email protected]>
Co-authored-by: Minha Ahn <[email protected]>
Co-authored-by: wldnjs990 <[email protected]>

* design: 홈 페이지 퍼블리싱  (#19)

* design: 홈 페이지 에셋 추가

* design: 홈 페이지 퍼블리싱

* design: 홈 페이지 모달 퍼블리싱

* design: 홈 페이지 퍼블리싱

* design: 홈 페이지 모달 퍼블리싱

* refactor: package-json 삭제

* refactor: ModalOverlay 컴포넌트 새 속성에 맞춰 모달 정리

* fix: import 오류 해결

* refactor: SpecialLetterBanner 애니메이션 animation.css로 분리

* design: Home에서 grow 적용으로 불필요한 h-screen 제거

* rename: 에셋 파일명을 케밥 케이스로 변경

* remove: 필요없는 에셋 삭제

* fix: 이미지 경로 import 방식 수정

* refactor: 버튼 컴포넌트 반복 로직 개선

* style: HomeRight 레이아웃 수정

* refactor: max-w 값 수정 및 불필요한 삼항 연산자 제거

* rename: Navbar를 HomeHeader로 대체

* rename: 홈 페이지 배경 이미지 업데이트

* fix: 모바일 및 웹에서 레이아웃 오류 해결, 홈 페이지 구조 리팩토링

* design: 홈 페이지 왼쪽 배경 width 조정

* design: SpecialLetterBanner width 조정

* design: 게시판 이미지 버튼 width 조정

* fix: coflict 오류 해결

* design: 로그인 및 랜딩 페이지 퍼블리싱 (#22)

* design: 전체 배경 그라데이션 삽입

* design: 로그인 페이지 에셋 추가

* design: 로그인 페이지 퍼블리싱

* design: 로그인 페이지 에셋 변경 및 반영

* design: 랜딩페이지 퍼블리싱

* remove: 불필요한 에셋 제거

* remove: 중복 에셋 제거

* refactor: 로그인 아이콘에 aria-label 추가

* style: 랜딩페이지 원 크기 수정

* design: 홈 페이지 공유 미리보기 퍼블리싱  (#25)

* fix: 홈 페이지 게시판 라우팅 오류 해결

* fix: 랜덤 응원 메시지 z-index 조정으로 클릭 안되는 오류 해결

* design: 홈 페이지 공유 미리보기 에셋 추가

* design: 홈 페이지 공유 미리보기 퍼블리싱

* fix: 랜덤 응원 메시지가 모달보다 위로 뜨는 오류 해결

* remove: landing blur 중복 에셋 삭제

* fix: landing blur 에셋 import 경로 수정

* design, feat, chore : 편지 작성 페이지 추가 퍼블리싱 + 기능구현 + API연결 + 관리자페이지 퍼블리싱 (#28)

* design : 카테고리 버튼 사이즈 full로 변경

* design : 옵션 슬라이드 바텀시트 애니메이션 구현(약간 미완)

* refactor:관리자 / 모바일용 레이아웃 분리

* design : 관리자 페이지 퍼블리싱

* design:관리자 페이지 퍼블리싱

* refactor : 폰트 선택 모달 아이콘 svgr 변경 + 목API 형식에 맞춰 타입 수정 + API 연결 작업 90% 완료

* feat:글작성 페이지 쿼리스트링으로 이전편지 가져오기 API연결

* feat:편지 상세 페이지 API 데이터바인딩 90%완료(유저 우편번호 데이터 필요)

* feat:편지삭제 api 생성

* feat:글작성, 상세 페이지 뒤로가기 버튼 + 상세페이지 글 삭제 버튼 추가

* refactor : ResultLetter 타입 변경

* feat:글 작성 페이지 네비게이션 가드 테스트

* fix:코드리뷰 수정사항 반영

* feat: 내 편지함 기능 구현 1차 (#30)

* feat: 내 편지함, 상세 기능 구현 1차
- 내 편지함 기능구현
  - 렌더링
  - 3의 배수가 아닌 경우 이미지 추가
  - 아무것도 없을 때 노트 추가
- 내 편지함 상세 기능 구현
  - 공유 작성 및 전송
  - 편지 리스트 렌더링
  - 상대방 차단하기
- TODO
  - [ ] tanstackQuery 적용
  - [ ] 무한 스크롤? 적용할지?
  - [ ] 상태관리 확인하기

* refactor: API 컨벤션 통일

- API 파일이름 수정
- api.ts 삭제

* refactor: merge 후 오류 해결

---------

Co-authored-by: nirii00 <[email protected]>

* design: 404 페이지 디자인 (#33)

- 404 페이지 퍼블리싱
- 홈으로 가는 버튼 추가

Co-authored-by: nirii00 <[email protected]>

* feat: 롤링페이퍼 기능 구현 (mock api) (#35)

* feat: Tanstack query를 이용한 데이터 가져오는 커스텀 훅 useFetchQuery 구현

* feat: NoticeRollingPaper에 데이터 패칭 적용
- NoticeRolling -> NoticeRollingPaper로 컴포넌트 명 수정

* feat: 홈 페이지에 공용 컴포넌트 적용

* rename: MessageDetailModal -> CommentDetailModal 컴포넌트 명 수정

* rename: Message -> Comment 컴포넌트 명 수정

* feat: 롤링페이퍼 조회 기능 구현

* refactor: 중복되는 배경 컴포넌트 적용 및 불필요한 에셋 제거

* refactor: 중복되는 메모 배경 컴포넌트 적용 및 불필요한 에셋 제거

* remove: 중복 에셋 제거

* refactor: 중복되는 모달 배경 컴포넌트 적용 및 불필요한 에셋 제거

* style: 커스텀 훅 제거 및 queryClient 기본값 설정

* feat: 삭제 모달 추가 및 삭제 mock api 연결

* feat: 편지 추가 mock api 연결

* fix: 신고 ui 제거

* style: 사용하지 않는 코드 제거

* style: 엔드포인트 오타 수정

* style: 더미 제거

* feat: 오고 있는 편지 조회 기능 구현 (mock api) (#36)

* style: 홈 페이지 eslint 오류 해결

* remove: 사용하지 않는 파일 삭제

* feat: 오고 있는 편지 조회 mock api 연결

* feat: 오고 있는 편지 클릭 시 편지 상세 페이지로 이동

* feat: 편지 목록 높이 자동 조정 및 스크롤 기능 추가

* fix: 랜덤 응원 메시지 모달 위로 뜨는 오류 해결

* fix: 오고 있는 편지 클릭 시 편지 미리보기로 이동하는 라우팅 오류 해결

* feat: 오고 있는 편지 목록에서 시간이 다 된 항목을 자동으로 삭제하는 기능 추가

* refactor: 오고 있는 편지 파일 구조 수정

* style: 오고 있는 편지 함수 선언을 화살표 함수로 변환

* feat: 새로 도착한 편지 개수 계산 구현

* feat: 마이페이지 내 정보 조회 기능 구현 (mock api) (#39)

* feat: 마이페이지 내 정보 조회 기능 구현

* fix: merge conflict 해결

* fix: 온보딩 애니메이션 오류 해결 (#41)

- 온보딩 편지 애니메이션 모바일 오류 해결
- 온보딩 단계에 따른 상태관리
- 온보딩이 끝난 후 홈으로 이동

Co-authored-by: nirii00 <[email protected]>

* feat:관리자 페이지 1차 기능 구현 (#43)

* feat:관리자 페이지 신고기능 구현완료(페이지네이션 제외)

* feat:관리자 페이지 검열관리 필터링 기능 개발중(검열 단어 추가 구현중)

* feat:필터링 단어 추가기능 목api연결 완료(단어 삭제는 목api가 안만들어짐) + 차단 편지목록 퍼블리싱

* chore:badwords, filteredLetter 라우팅 분리 + 사이드바 버튼에 라우팅 연결

* feat:편지 작성 페이지 1차 기능구현 (#47)

* feat:편지전송 답장 post api 연결완료

* feat:매칭된 편지 작성시 api 분기 구현

* feat:카테고리 페이지 페이지 뒤로가기 버튼 제거 + 이전단계 위치 조정

* feat:옵션 모달 외부 클릭시 슬라이드 닫히는 로직 구현

* feat: 편지작성 페이지 전역변수 편지전송 관련 request값들 객체형태로 통일

* fix:코드리뷰 사항 수정

* feat:랜덤 편지 + 편지 상세 1차 기능 구현 (#46)

* feat:편지 상세 페이지 삭제 모달 추가

* chore:기존 파일들 컴포넌트파일로 이동

* feat:쿨타임 컴포넌트 생성 + 랜덤편지 타입 수정

* feat:차단된 편지 버튼 disabled처리

* feat:편지 상세보기 모달 생성(매칭편지는 상세페이지와 분리)

* fix:쿨타임 페이지 letterWrapper 적용

* feat:편지 상세, 랜덤 편지 api throw error 예외처리 추가

* feat:편지 매칭 제한시간 구현

* feat:랜덤편지 페이지 매칭 제한시간, 쿨타임 로직 구현

* feat:랜덤편지 페이지 편지 매칭 제한시간, 쿨타임 시간 구현

* feat:매칭된 편지 전달시 location값 전달처리({randomMatched: true})

* feat:코드리뷰 사항 수정

* Perf: 내 편지함 탄스택 쿼리 적용 (#50)

* fix: 모바일에서 gradient 보이지 않는 문제 해결

* refactor: 내 편지함 및 상세 querykey 적용
- useState을 삭제 하고 데이터 관리 및 성능 최적화를 위해 tanstack query 적용

* fix: 편지 상세 무한 스크롤 오류 수정
- 마지막 편지 보일 시 새로 페이징 하는 로직을 response data에 맞게 수정
- react-intersection-observer 라이브러리를 이용하여 마지막 요소가 view에 들어오는지 확인

* fix: 내 편지함 디자인 보이지 않는 문제 해결
- gradietn class에 !important를 적용

---------

Co-authored-by: nirii00 <[email protected]>

* feat: 편지 게시글 공유 기능 구현 (mock api) (#53)

* feat: 공유 게시글 목록 조회 기능 구현

* feat: 공유 게시글 상세 조회 기능 구현

* feat: 게시글 공유 요청 수락/거절 기능 구현

* perf: NewLetterModal의 불필요한 api 호출 제거

* fix: HomeRight의 useEffect 의존성 배열에 fetchIncomingLetters 추가

* fix: 공유 편지 미리보기에서 텍스트와 버튼이 겹쳐보이는 오류 해결

* refactor: hasNewLetters 로컬 상태 제거 및 arrivedCount 전역 상태로 대체

* fix: 특정 모바일 크기에서 내 편지함이 가려져 잘 안 보이는 오류 해결

* fix: 특정 모바일 크기에서 게시판이 잘 안 보이는 오류 해결

* design: 홈 페이지 공유 요청 모달에 스크롤 기능 추가

* style: 불필요한 console.log 삭제

* refactor: 테스트용 코드 삭제

* refactor: 'Letter' 인터페이스 이름을 'ShareLetter'로 변경

* fix: selector로 필요한 값만 불러오도록 수정하여 불필요한 렌더링 방지

* feat: 로그인 기능구현 (#52)

* feat: 소셜로그인 및 회원가입 연결
- 소셜 로그인, 회원가입 시 리디렉션 페이지 연동 완료
- 유저정보 저장 진행 중

* feat:편지 작성 페이지 1차 기능구현 (#47)

* feat:편지전송 답장 post api 연결완료

* feat:매칭된 편지 작성시 api 분기 구현

* feat:카테고리 페이지 페이지 뒤로가기 버튼 제거 + 이전단계 위치 조정

* feat:옵션 모달 외부 클릭시 슬라이드 닫히는 로직 구현

* feat: 편지작성 페이지 전역변수 편지전송 관련 request값들 객체형태로 통일

* fix:코드리뷰 사항 수정

* feat:랜덤 편지 + 편지 상세 1차 기능 구현 (#46)

* feat:편지 상세 페이지 삭제 모달 추가

* chore:기존 파일들 컴포넌트파일로 이동

* feat:쿨타임 컴포넌트 생성 + 랜덤편지 타입 수정

* feat:차단된 편지 버튼 disabled처리

* feat:편지 상세보기 모달 생성(매칭편지는 상세페이지와 분리)

* fix:쿨타임 페이지 letterWrapper 적용

* feat:편지 상세, 랜덤 편지 api throw error 예외처리 추가

* feat:편지 매칭 제한시간 구현

* feat:랜덤편지 페이지 매칭 제한시간, 쿨타임 로직 구현

* feat:랜덤편지 페이지 편지 매칭 제한시간, 쿨타임 시간 구현

* feat:매칭된 편지 전달시 location값 전달처리({randomMatched: true})

* feat:코드리뷰 사항 수정

* feat: 로그인 기능 임시 구현
- API 완성 되지 않음 : 논의된 부분을 바탕으로 임시로 제작함(작동 안함)
- 토큰을 전달 받기 위해 권한 상태 페이지 추가(보여주기 위한 용도가 아니라 쿼리문으로 토큰 전달을 위한 목적)

* feat: logout API 추가

* test: 로그인 테스트용 임시 커밋

* refactor: API 변경 사항 수정 반영, 토큰관련 interceptor 문 수정
- API 수정 반영하여 오류 사항들 수정
- 기존 interceptor 문에 오류가 있어서 수정
- AuthCallback Page에서 회원정보 설정 및 우편번호 발급

* test: 탈퇴 처리 테스트

* Perf: 내 편지함 탄스택 쿼리 적용 (#50)

* fix: 모바일에서 gradient 보이지 않는 문제 해결

* refactor: 내 편지함 및 상세 querykey 적용
- useState을 삭제 하고 데이터 관리 및 성능 최적화를 위해 tanstack query 적용

* fix: 편지 상세 무한 스크롤 오류 수정
- 마지막 편지 보일 시 새로 페이징 하는 로직을 response data에 맞게 수정
- react-intersection-observer 라이브러리를 이용하여 마지막 요소가 view에 들어오는지 확인

* fix: 내 편지함 디자인 보이지 않는 문제 해결
- gradietn class에 !important를 적용

---------

Co-authored-by: nirii00 <[email protected]>

* feat: 소셜로그인 및 회원가입 연결
- 소셜 로그인, 회원가입 시 리디렉션 페이지 연동 완료
- 유저정보 저장 진행 중

* Fix: intercepter 오류 해결
- intercepter retry 코드 빠진 부분 수정
- header에 잘못 설정 하는 부분 수정

* feat: 마이페이지 로그아웃 적용
- 로그아웃 테스트를 위해 마이페이지에 로그아웃 기능을 먼저 구현했습니다!

* Update src/pages/Auth/index.tsx

refac: 코드 개선

Co-authored-by: Minha Ahn <[email protected]>

* refactor: 코드 리뷰 반영
- 로그인 타입 파일 만듦
- logout 중복 선언 정리
- myPage 탈퇴 추가, p 태그 -> 버튼
- useAuthState 상태 가져오는 코드 수정

* refactor: myPage 오타 수정

---------

Co-authored-by: nirii00 <[email protected]>
Co-authored-by: wldnjs990 <[email protected]>
Co-authored-by: Minha Ahn <[email protected]>

* FIx, Feat: 로그인 기능 버그 수정, 권한별 접근 페이지 기능 추가 (#56)

* Fix: reissue 요청 수정

* Fix: 무한 response intercept 수정
- 요청 queue 포함

* feat: 권한별 접근 페이지 기능 추가
- PrivateRoute 추가하여 로그인된 사용자만 접근 가능하도록 설정
- AuthCallbackPage 임의로 접근시 home, login redirection 추가
- 로그인된 사용자는 login 접근 불가
- TODO
  - [ ] : intercepters.response에서 reissue 실패하는 경우 기존 api 함수에 catch로 에러 전달이 안되는 것 같음(추가로 문제 상황을 확인)

---------

Co-authored-by: nirii00 <[email protected]>

* feat: deploy.yml 생성

- main branch 자동 배포를 위해 프로젝트 빌드 및 deploy.yml 파일 생성
  - secret key 등록
  - 캐시 값을 바탕으로 패키지 설치 확인
- strictMode 활성화

---------

Co-authored-by: Minha Ahn <[email protected]>
Co-authored-by: wldnjs990 <[email protected]>
Co-authored-by: nirii00 <[email protected]>
Co-authored-by: Seungyeon Han (Tiffany) <[email protected]>
wldnjs990 added a commit that referenced this pull request Mar 4, 2025
* design: 모바일 뷰 기본 틀 설정 (#2)

* chore: mui icon 라이브러리 설치

* design: 최대 너비 600px 제한

* design: 모바일 viewport 문제 개션을 위한 훅 추가

* design: 마이페이지 퍼블리싱 (#8)

* design: 마이페이지 에셋 추가

* design: 마이페이지 퍼블리싱

* design: ConfirmModal 컴포넌트 구현 및 탈퇴 모달 적용

* design: 모달 배경 이미지 적용

* design: 모달 컴포넌트 버튼 비율 동일하도록 수정

* refactor: 중복되는 버튼 디자인 스타일 클래스로 분리

* design: 배경 오버레이 이미지 추가

* fix: useViewport 계산 상수 수정

* feat: 온도에 맞는 텍스트 보여주는 함수 추가

* refactor: hn 태그 적용

* refactor: Header 컴포넌트를 공통 레이아웃으로 분리

* refactor: 모달 오버레이 공통 컴포넌트로 분리

* design: 알림페이지 퍼블리싱 (#10)

* design: 알림 페이지 에셋 추가

* feat: 알림 아이콘 - 알림 페이지 라우팅 연결

* design: 경고 모달창 퍼블리싱

* design: 알림 페이지 퍼블리싱

* design: 페이지 상단 간격 수정

* refactor: 레이아웃 컴포넌트 구조 수정

* design: 편지작성 페이지 퍼블리싱 (#13)

* design:편지 작성 페이지 작업 시작

* design:폰트 css 추가

* design:편지 작성 페이지 작업중

* design:글 작성 페이지 관련 이미지

* design:애니메이션 요소, 테마 제외한 퍼블리싱 완료

* design:편지지 테마선택 퍼블리싱 완료

* refactor:타입명 파스칼 케이스로 변경 & 상수명 대문자로 변경 & 타입 export import문 제거 & 몇몇 코드 상수파일 통합 & 타입파일 types폴더로 이동

* refactor:코드리뷰 수정사항 적용

* design:편지작성 완료 애니메이션 구현

* design:고민편지 작성 결과에도 애니메이션 적용 & ResultLetter 컴포넌트 공용 컴포넌트로 이동

* design: 게시판 퍼블리싱 (#14)

* design: 편지 게시판 페이지 내 편지 미리보기 컴포넌트 퍼블리싱

* design: 롤링페이퍼 공지 컴포넌트 퍼블리싱

* design: 편지 공유 게시판 퍼블리싱

* refactor: ConfirmModal 배경 이미지 삽입 방식 개선

* rename: 파일명 형식 통일을 위한 에셋 파일명 수정

* design: 롤링페이퍼 편지 컴포넌트 퍼블리싱

* design: 롤링페이퍼 페이지 퍼블리싱

* refactor: ModalOverlay 컴포넌트로 모달의 외부 영역 클릭 로직 이동

* design: 롤링페이퍼 페이지 메시지 상세조회 모달 퍼블리싱

* design: 모달 활성화 시, 스크롤이 안되도록 수정

* design: 신고 모달 컴포넌트 퍼블리싱

* design: 롤링페이퍼 메사지 추가 모달 버픕ㄹ리싱

* design: Header 컴포넌트 position을 fixed로 변경

* refactor: 하단 배경 컴포넌트로 분리

* design: 마이페이지 중 내가 올린 게시물 페이지 퍼블리싱

* design: 게시판 상세 페이지의 편지 컴포넌트 퍼블리싱

* design: 편지 공유 게시글 상세 페이지 퍼블리싱

* feat: 게시글 상세 페이지 헤더 컴포넌트 뒤로가기 기능 추가

* remove: 중복 에셋 제거

* refactor: 중복 스타일 코드 utilities로 분리

* design: 내 편지함 페이지 퍼블리싱 (#16)

* design: 내 편지함 목록 페이지 퍼블리싱

* refactor: 리스트 디자인 컴포넌트로 분리

* design: 컴포넌트 props명 수정 및 sender, receiver 디자인 변경

* design: 내 편지함 상세 페이지 퍼블리싱

* refactor: 배경 이미지 삽입되는 로직 컴포넌트로 분리

* design: 필요한 모달 퍼블리싱 및 버튼과 연결

* rename: ListItemContainer -> ListItemWrapper로 컴포넌트명 수정

* refactor: 페이지 제목에 PageTitle 컴포넌트 적용

* design : 랜덤 편지 페이지 & 편지 상세 페이지 퍼블리싱 (#17)

* design:랜덤편지 메인화면, 편지선택 모달 퍼블리싱

* chore:스와이퍼 설치

* design:랜덤 편지 페이지 스와이퍼 적용

* design:편지 상세보기 퍼블리싱

* design:편지 작성 페이지 레이아웃 관련 수정

* design:랜덤편지 페이지 퍼블리싱

* design:편지 상세 페이지 퍼블리싱

* design:랜덤편지 세부사항 수정 & 공용 컴포넌트들로 코드 수정

* refactor:코드리뷰 수정사항 반영

* design: 온보딩 페이지 퍼블리싱 (#18)

* design: 온보딩 페이지 퍼블리싱

우편번호 페이지 퍼블리싱 완료
우편번호 애니메이션 구현 완료
애니메이션 페이지 퍼블리싱 완료
애니메이션 페이지 구현 중
관리자 편지는 컴포넌트 제작 후 라우팅 연결할 예정

* design: 게시판 퍼블리싱 (#14)

* design: 편지 게시판 페이지 내 편지 미리보기 컴포넌트 퍼블리싱

* design: 롤링페이퍼 공지 컴포넌트 퍼블리싱

* design: 편지 공유 게시판 퍼블리싱

* refactor: ConfirmModal 배경 이미지 삽입 방식 개선

* rename: 파일명 형식 통일을 위한 에셋 파일명 수정

* design: 롤링페이퍼 편지 컴포넌트 퍼블리싱

* design: 롤링페이퍼 페이지 퍼블리싱

* refactor: ModalOverlay 컴포넌트로 모달의 외부 영역 클릭 로직 이동

* design: 롤링페이퍼 페이지 메시지 상세조회 모달 퍼블리싱

* design: 모달 활성화 시, 스크롤이 안되도록 수정

* design: 신고 모달 컴포넌트 퍼블리싱

* design: 롤링페이퍼 메사지 추가 모달 버픕ㄹ리싱

* design: Header 컴포넌트 position을 fixed로 변경

* refactor: 하단 배경 컴포넌트로 분리

* design: 마이페이지 중 내가 올린 게시물 페이지 퍼블리싱

* design: 게시판 상세 페이지의 편지 컴포넌트 퍼블리싱

* design: 편지 공유 게시글 상세 페이지 퍼블리싱

* feat: 게시글 상세 페이지 헤더 컴포넌트 뒤로가기 기능 추가

* remove: 중복 에셋 제거

* refactor: 중복 스타일 코드 utilities로 분리

* design: 내 편지함 페이지 퍼블리싱 (#16)

* design: 내 편지함 목록 페이지 퍼블리싱

* refactor: 리스트 디자인 컴포넌트로 분리

* design: 컴포넌트 props명 수정 및 sender, receiver 디자인 변경

* design: 내 편지함 상세 페이지 퍼블리싱

* refactor: 배경 이미지 삽입되는 로직 컴포넌트로 분리

* design: 필요한 모달 퍼블리싱 및 버튼과 연결

* rename: ListItemContainer -> ListItemWrapper로 컴포넌트명 수정

* refactor: 페이지 제목에 PageTitle 컴포넌트 적용

* design: 온보딩 페이지 편지 애니메이션 구현

- 온보딩 페이지에서 편지 애니메이션 구현
- TODO: 모바일 뷰 확인
- TODO: 편지 상세 링크

* design : 랜덤 편지 페이지 & 편지 상세 페이지 퍼블리싱 (#17)

* design:랜덤편지 메인화면, 편지선택 모달 퍼블리싱

* chore:스와이퍼 설치

* design:랜덤 편지 페이지 스와이퍼 적용

* design:편지 상세보기 퍼블리싱

* design:편지 작성 페이지 레이아웃 관련 수정

* design:랜덤편지 페이지 퍼블리싱

* design:편지 상세 페이지 퍼블리싱

* design:랜덤편지 세부사항 수정 & 공용 컴포넌트들로 코드 수정

* refactor:코드리뷰 수정사항 반영

* refactor: pr 피드백 반영

- 이미지 에셋 정리
- animation 파일 분리
- css 충돌 해결
- spinner -> containerRef 오류 수정

---------

Co-authored-by: nirii00 <[email protected]>
Co-authored-by: Minha Ahn <[email protected]>
Co-authored-by: wldnjs990 <[email protected]>

* design: 홈 페이지 퍼블리싱  (#19)

* design: 홈 페이지 에셋 추가

* design: 홈 페이지 퍼블리싱

* design: 홈 페이지 모달 퍼블리싱

* design: 홈 페이지 퍼블리싱

* design: 홈 페이지 모달 퍼블리싱

* refactor: package-json 삭제

* refactor: ModalOverlay 컴포넌트 새 속성에 맞춰 모달 정리

* fix: import 오류 해결

* refactor: SpecialLetterBanner 애니메이션 animation.css로 분리

* design: Home에서 grow 적용으로 불필요한 h-screen 제거

* rename: 에셋 파일명을 케밥 케이스로 변경

* remove: 필요없는 에셋 삭제

* fix: 이미지 경로 import 방식 수정

* refactor: 버튼 컴포넌트 반복 로직 개선

* style: HomeRight 레이아웃 수정

* refactor: max-w 값 수정 및 불필요한 삼항 연산자 제거

* rename: Navbar를 HomeHeader로 대체

* rename: 홈 페이지 배경 이미지 업데이트

* fix: 모바일 및 웹에서 레이아웃 오류 해결, 홈 페이지 구조 리팩토링

* design: 홈 페이지 왼쪽 배경 width 조정

* design: SpecialLetterBanner width 조정

* design: 게시판 이미지 버튼 width 조정

* fix: coflict 오류 해결

* design: 로그인 및 랜딩 페이지 퍼블리싱 (#22)

* design: 전체 배경 그라데이션 삽입

* design: 로그인 페이지 에셋 추가

* design: 로그인 페이지 퍼블리싱

* design: 로그인 페이지 에셋 변경 및 반영

* design: 랜딩페이지 퍼블리싱

* remove: 불필요한 에셋 제거

* remove: 중복 에셋 제거

* refactor: 로그인 아이콘에 aria-label 추가

* style: 랜딩페이지 원 크기 수정

* design: 홈 페이지 공유 미리보기 퍼블리싱  (#25)

* fix: 홈 페이지 게시판 라우팅 오류 해결

* fix: 랜덤 응원 메시지 z-index 조정으로 클릭 안되는 오류 해결

* design: 홈 페이지 공유 미리보기 에셋 추가

* design: 홈 페이지 공유 미리보기 퍼블리싱

* fix: 랜덤 응원 메시지가 모달보다 위로 뜨는 오류 해결

* remove: landing blur 중복 에셋 삭제

* fix: landing blur 에셋 import 경로 수정

* design, feat, chore : 편지 작성 페이지 추가 퍼블리싱 + 기능구현 + API연결 + 관리자페이지 퍼블리싱 (#28)

* design : 카테고리 버튼 사이즈 full로 변경

* design : 옵션 슬라이드 바텀시트 애니메이션 구현(약간 미완)

* refactor:관리자 / 모바일용 레이아웃 분리

* design : 관리자 페이지 퍼블리싱

* design:관리자 페이지 퍼블리싱

* refactor : 폰트 선택 모달 아이콘 svgr 변경 + 목API 형식에 맞춰 타입 수정 + API 연결 작업 90% 완료

* feat:글작성 페이지 쿼리스트링으로 이전편지 가져오기 API연결

* feat:편지 상세 페이지 API 데이터바인딩 90%완료(유저 우편번호 데이터 필요)

* feat:편지삭제 api 생성

* feat:글작성, 상세 페이지 뒤로가기 버튼 + 상세페이지 글 삭제 버튼 추가

* refactor : ResultLetter 타입 변경

* feat:글 작성 페이지 네비게이션 가드 테스트

* fix:코드리뷰 수정사항 반영

* feat: 내 편지함 기능 구현 1차 (#30)

* feat: 내 편지함, 상세 기능 구현 1차
- 내 편지함 기능구현
  - 렌더링
  - 3의 배수가 아닌 경우 이미지 추가
  - 아무것도 없을 때 노트 추가
- 내 편지함 상세 기능 구현
  - 공유 작성 및 전송
  - 편지 리스트 렌더링
  - 상대방 차단하기
- TODO
  - [ ] tanstackQuery 적용
  - [ ] 무한 스크롤? 적용할지?
  - [ ] 상태관리 확인하기

* refactor: API 컨벤션 통일

- API 파일이름 수정
- api.ts 삭제

* refactor: merge 후 오류 해결

---------

Co-authored-by: nirii00 <[email protected]>

* design: 404 페이지 디자인 (#33)

- 404 페이지 퍼블리싱
- 홈으로 가는 버튼 추가

Co-authored-by: nirii00 <[email protected]>

* feat: 롤링페이퍼 기능 구현 (mock api) (#35)

* feat: Tanstack query를 이용한 데이터 가져오는 커스텀 훅 useFetchQuery 구현

* feat: NoticeRollingPaper에 데이터 패칭 적용
- NoticeRolling -> NoticeRollingPaper로 컴포넌트 명 수정

* feat: 홈 페이지에 공용 컴포넌트 적용

* rename: MessageDetailModal -> CommentDetailModal 컴포넌트 명 수정

* rename: Message -> Comment 컴포넌트 명 수정

* feat: 롤링페이퍼 조회 기능 구현

* refactor: 중복되는 배경 컴포넌트 적용 및 불필요한 에셋 제거

* refactor: 중복되는 메모 배경 컴포넌트 적용 및 불필요한 에셋 제거

* remove: 중복 에셋 제거

* refactor: 중복되는 모달 배경 컴포넌트 적용 및 불필요한 에셋 제거

* style: 커스텀 훅 제거 및 queryClient 기본값 설정

* feat: 삭제 모달 추가 및 삭제 mock api 연결

* feat: 편지 추가 mock api 연결

* fix: 신고 ui 제거

* style: 사용하지 않는 코드 제거

* style: 엔드포인트 오타 수정

* style: 더미 제거

* feat: 오고 있는 편지 조회 기능 구현 (mock api) (#36)

* style: 홈 페이지 eslint 오류 해결

* remove: 사용하지 않는 파일 삭제

* feat: 오고 있는 편지 조회 mock api 연결

* feat: 오고 있는 편지 클릭 시 편지 상세 페이지로 이동

* feat: 편지 목록 높이 자동 조정 및 스크롤 기능 추가

* fix: 랜덤 응원 메시지 모달 위로 뜨는 오류 해결

* fix: 오고 있는 편지 클릭 시 편지 미리보기로 이동하는 라우팅 오류 해결

* feat: 오고 있는 편지 목록에서 시간이 다 된 항목을 자동으로 삭제하는 기능 추가

* refactor: 오고 있는 편지 파일 구조 수정

* style: 오고 있는 편지 함수 선언을 화살표 함수로 변환

* feat: 새로 도착한 편지 개수 계산 구현

* feat: 마이페이지 내 정보 조회 기능 구현 (mock api) (#39)

* feat: 마이페이지 내 정보 조회 기능 구현

* fix: merge conflict 해결

* fix: 온보딩 애니메이션 오류 해결 (#41)

- 온보딩 편지 애니메이션 모바일 오류 해결
- 온보딩 단계에 따른 상태관리
- 온보딩이 끝난 후 홈으로 이동

Co-authored-by: nirii00 <[email protected]>

* feat:관리자 페이지 1차 기능 구현 (#43)

* feat:관리자 페이지 신고기능 구현완료(페이지네이션 제외)

* feat:관리자 페이지 검열관리 필터링 기능 개발중(검열 단어 추가 구현중)

* feat:필터링 단어 추가기능 목api연결 완료(단어 삭제는 목api가 안만들어짐) + 차단 편지목록 퍼블리싱

* chore:badwords, filteredLetter 라우팅 분리 + 사이드바 버튼에 라우팅 연결

* feat:편지 작성 페이지 1차 기능구현 (#47)

* feat:편지전송 답장 post api 연결완료

* feat:매칭된 편지 작성시 api 분기 구현

* feat:카테고리 페이지 페이지 뒤로가기 버튼 제거 + 이전단계 위치 조정

* feat:옵션 모달 외부 클릭시 슬라이드 닫히는 로직 구현

* feat: 편지작성 페이지 전역변수 편지전송 관련 request값들 객체형태로 통일

* fix:코드리뷰 사항 수정

* feat:랜덤 편지 + 편지 상세 1차 기능 구현 (#46)

* feat:편지 상세 페이지 삭제 모달 추가

* chore:기존 파일들 컴포넌트파일로 이동

* feat:쿨타임 컴포넌트 생성 + 랜덤편지 타입 수정

* feat:차단된 편지 버튼 disabled처리

* feat:편지 상세보기 모달 생성(매칭편지는 상세페이지와 분리)

* fix:쿨타임 페이지 letterWrapper 적용

* feat:편지 상세, 랜덤 편지 api throw error 예외처리 추가

* feat:편지 매칭 제한시간 구현

* feat:랜덤편지 페이지 매칭 제한시간, 쿨타임 로직 구현

* feat:랜덤편지 페이지 편지 매칭 제한시간, 쿨타임 시간 구현

* feat:매칭된 편지 전달시 location값 전달처리({randomMatched: true})

* feat:코드리뷰 사항 수정

* Perf: 내 편지함 탄스택 쿼리 적용 (#50)

* fix: 모바일에서 gradient 보이지 않는 문제 해결

* refactor: 내 편지함 및 상세 querykey 적용
- useState을 삭제 하고 데이터 관리 및 성능 최적화를 위해 tanstack query 적용

* fix: 편지 상세 무한 스크롤 오류 수정
- 마지막 편지 보일 시 새로 페이징 하는 로직을 response data에 맞게 수정
- react-intersection-observer 라이브러리를 이용하여 마지막 요소가 view에 들어오는지 확인

* fix: 내 편지함 디자인 보이지 않는 문제 해결
- gradietn class에 !important를 적용

---------

Co-authored-by: nirii00 <[email protected]>

* feat: 편지 게시글 공유 기능 구현 (mock api) (#53)

* feat: 공유 게시글 목록 조회 기능 구현

* feat: 공유 게시글 상세 조회 기능 구현

* feat: 게시글 공유 요청 수락/거절 기능 구현

* perf: NewLetterModal의 불필요한 api 호출 제거

* fix: HomeRight의 useEffect 의존성 배열에 fetchIncomingLetters 추가

* fix: 공유 편지 미리보기에서 텍스트와 버튼이 겹쳐보이는 오류 해결

* refactor: hasNewLetters 로컬 상태 제거 및 arrivedCount 전역 상태로 대체

* fix: 특정 모바일 크기에서 내 편지함이 가려져 잘 안 보이는 오류 해결

* fix: 특정 모바일 크기에서 게시판이 잘 안 보이는 오류 해결

* design: 홈 페이지 공유 요청 모달에 스크롤 기능 추가

* style: 불필요한 console.log 삭제

* refactor: 테스트용 코드 삭제

* refactor: 'Letter' 인터페이스 이름을 'ShareLetter'로 변경

* fix: selector로 필요한 값만 불러오도록 수정하여 불필요한 렌더링 방지

* feat: 로그인 기능구현 (#52)

* feat: 소셜로그인 및 회원가입 연결
- 소셜 로그인, 회원가입 시 리디렉션 페이지 연동 완료
- 유저정보 저장 진행 중

* feat:편지 작성 페이지 1차 기능구현 (#47)

* feat:편지전송 답장 post api 연결완료

* feat:매칭된 편지 작성시 api 분기 구현

* feat:카테고리 페이지 페이지 뒤로가기 버튼 제거 + 이전단계 위치 조정

* feat:옵션 모달 외부 클릭시 슬라이드 닫히는 로직 구현

* feat: 편지작성 페이지 전역변수 편지전송 관련 request값들 객체형태로 통일

* fix:코드리뷰 사항 수정

* feat:랜덤 편지 + 편지 상세 1차 기능 구현 (#46)

* feat:편지 상세 페이지 삭제 모달 추가

* chore:기존 파일들 컴포넌트파일로 이동

* feat:쿨타임 컴포넌트 생성 + 랜덤편지 타입 수정

* feat:차단된 편지 버튼 disabled처리

* feat:편지 상세보기 모달 생성(매칭편지는 상세페이지와 분리)

* fix:쿨타임 페이지 letterWrapper 적용

* feat:편지 상세, 랜덤 편지 api throw error 예외처리 추가

* feat:편지 매칭 제한시간 구현

* feat:랜덤편지 페이지 매칭 제한시간, 쿨타임 로직 구현

* feat:랜덤편지 페이지 편지 매칭 제한시간, 쿨타임 시간 구현

* feat:매칭된 편지 전달시 location값 전달처리({randomMatched: true})

* feat:코드리뷰 사항 수정

* feat: 로그인 기능 임시 구현
- API 완성 되지 않음 : 논의된 부분을 바탕으로 임시로 제작함(작동 안함)
- 토큰을 전달 받기 위해 권한 상태 페이지 추가(보여주기 위한 용도가 아니라 쿼리문으로 토큰 전달을 위한 목적)

* feat: logout API 추가

* test: 로그인 테스트용 임시 커밋

* refactor: API 변경 사항 수정 반영, 토큰관련 interceptor 문 수정
- API 수정 반영하여 오류 사항들 수정
- 기존 interceptor 문에 오류가 있어서 수정
- AuthCallback Page에서 회원정보 설정 및 우편번호 발급

* test: 탈퇴 처리 테스트

* Perf: 내 편지함 탄스택 쿼리 적용 (#50)

* fix: 모바일에서 gradient 보이지 않는 문제 해결

* refactor: 내 편지함 및 상세 querykey 적용
- useState을 삭제 하고 데이터 관리 및 성능 최적화를 위해 tanstack query 적용

* fix: 편지 상세 무한 스크롤 오류 수정
- 마지막 편지 보일 시 새로 페이징 하는 로직을 response data에 맞게 수정
- react-intersection-observer 라이브러리를 이용하여 마지막 요소가 view에 들어오는지 확인

* fix: 내 편지함 디자인 보이지 않는 문제 해결
- gradietn class에 !important를 적용

---------

Co-authored-by: nirii00 <[email protected]>

* feat: 소셜로그인 및 회원가입 연결
- 소셜 로그인, 회원가입 시 리디렉션 페이지 연동 완료
- 유저정보 저장 진행 중

* Fix: intercepter 오류 해결
- intercepter retry 코드 빠진 부분 수정
- header에 잘못 설정 하는 부분 수정

* feat: 마이페이지 로그아웃 적용
- 로그아웃 테스트를 위해 마이페이지에 로그아웃 기능을 먼저 구현했습니다!

* Update src/pages/Auth/index.tsx

refac: 코드 개선

Co-authored-by: Minha Ahn <[email protected]>

* refactor: 코드 리뷰 반영
- 로그인 타입 파일 만듦
- logout 중복 선언 정리
- myPage 탈퇴 추가, p 태그 -> 버튼
- useAuthState 상태 가져오는 코드 수정

* refactor: myPage 오타 수정

---------

Co-authored-by: nirii00 <[email protected]>
Co-authored-by: wldnjs990 <[email protected]>
Co-authored-by: Minha Ahn <[email protected]>

* FIx, Feat: 로그인 기능 버그 수정, 권한별 접근 페이지 기능 추가 (#56)

* Fix: reissue 요청 수정

* Fix: 무한 response intercept 수정
- 요청 queue 포함

* feat: 권한별 접근 페이지 기능 추가
- PrivateRoute 추가하여 로그인된 사용자만 접근 가능하도록 설정
- AuthCallbackPage 임의로 접근시 home, login redirection 추가
- 로그인된 사용자는 login 접근 불가
- TODO
  - [ ] : intercepters.response에서 reissue 실패하는 경우 기존 api 함수에 catch로 에러 전달이 안되는 것 같음(추가로 문제 상황을 확인)

---------

Co-authored-by: nirii00 <[email protected]>

* feat: deploy.yml 생성

- main branch 자동 배포를 위해 프로젝트 빌드 및 deploy.yml 파일 생성
  - secret key 등록
  - 캐시 값을 바탕으로 패키지 설치 확인
- strictMode 활성화

* fix: pnpm install 에러 수정

---------

Co-authored-by: Minha Ahn <[email protected]>
Co-authored-by: wldnjs990 <[email protected]>
Co-authored-by: nirii00 <[email protected]>
Co-authored-by: Seungyeon Han (Tiffany) <[email protected]>
wldnjs990 added a commit that referenced this pull request Mar 4, 2025
* design: 모바일 뷰 기본 틀 설정 (#2)

* chore: mui icon 라이브러리 설치

* design: 최대 너비 600px 제한

* design: 모바일 viewport 문제 개션을 위한 훅 추가

* design: 마이페이지 퍼블리싱 (#8)

* design: 마이페이지 에셋 추가

* design: 마이페이지 퍼블리싱

* design: ConfirmModal 컴포넌트 구현 및 탈퇴 모달 적용

* design: 모달 배경 이미지 적용

* design: 모달 컴포넌트 버튼 비율 동일하도록 수정

* refactor: 중복되는 버튼 디자인 스타일 클래스로 분리

* design: 배경 오버레이 이미지 추가

* fix: useViewport 계산 상수 수정

* feat: 온도에 맞는 텍스트 보여주는 함수 추가

* refactor: hn 태그 적용

* refactor: Header 컴포넌트를 공통 레이아웃으로 분리

* refactor: 모달 오버레이 공통 컴포넌트로 분리

* design: 알림페이지 퍼블리싱 (#10)

* design: 알림 페이지 에셋 추가

* feat: 알림 아이콘 - 알림 페이지 라우팅 연결

* design: 경고 모달창 퍼블리싱

* design: 알림 페이지 퍼블리싱

* design: 페이지 상단 간격 수정

* refactor: 레이아웃 컴포넌트 구조 수정

* design: 편지작성 페이지 퍼블리싱 (#13)

* design:편지 작성 페이지 작업 시작

* design:폰트 css 추가

* design:편지 작성 페이지 작업중

* design:글 작성 페이지 관련 이미지

* design:애니메이션 요소, 테마 제외한 퍼블리싱 완료

* design:편지지 테마선택 퍼블리싱 완료

* refactor:타입명 파스칼 케이스로 변경 & 상수명 대문자로 변경 & 타입 export import문 제거 & 몇몇 코드 상수파일 통합 & 타입파일 types폴더로 이동

* refactor:코드리뷰 수정사항 적용

* design:편지작성 완료 애니메이션 구현

* design:고민편지 작성 결과에도 애니메이션 적용 & ResultLetter 컴포넌트 공용 컴포넌트로 이동

* design: 게시판 퍼블리싱 (#14)

* design: 편지 게시판 페이지 내 편지 미리보기 컴포넌트 퍼블리싱

* design: 롤링페이퍼 공지 컴포넌트 퍼블리싱

* design: 편지 공유 게시판 퍼블리싱

* refactor: ConfirmModal 배경 이미지 삽입 방식 개선

* rename: 파일명 형식 통일을 위한 에셋 파일명 수정

* design: 롤링페이퍼 편지 컴포넌트 퍼블리싱

* design: 롤링페이퍼 페이지 퍼블리싱

* refactor: ModalOverlay 컴포넌트로 모달의 외부 영역 클릭 로직 이동

* design: 롤링페이퍼 페이지 메시지 상세조회 모달 퍼블리싱

* design: 모달 활성화 시, 스크롤이 안되도록 수정

* design: 신고 모달 컴포넌트 퍼블리싱

* design: 롤링페이퍼 메사지 추가 모달 버픕ㄹ리싱

* design: Header 컴포넌트 position을 fixed로 변경

* refactor: 하단 배경 컴포넌트로 분리

* design: 마이페이지 중 내가 올린 게시물 페이지 퍼블리싱

* design: 게시판 상세 페이지의 편지 컴포넌트 퍼블리싱

* design: 편지 공유 게시글 상세 페이지 퍼블리싱

* feat: 게시글 상세 페이지 헤더 컴포넌트 뒤로가기 기능 추가

* remove: 중복 에셋 제거

* refactor: 중복 스타일 코드 utilities로 분리

* design: 내 편지함 페이지 퍼블리싱 (#16)

* design: 내 편지함 목록 페이지 퍼블리싱

* refactor: 리스트 디자인 컴포넌트로 분리

* design: 컴포넌트 props명 수정 및 sender, receiver 디자인 변경

* design: 내 편지함 상세 페이지 퍼블리싱

* refactor: 배경 이미지 삽입되는 로직 컴포넌트로 분리

* design: 필요한 모달 퍼블리싱 및 버튼과 연결

* rename: ListItemContainer -> ListItemWrapper로 컴포넌트명 수정

* refactor: 페이지 제목에 PageTitle 컴포넌트 적용

* design : 랜덤 편지 페이지 & 편지 상세 페이지 퍼블리싱 (#17)

* design:랜덤편지 메인화면, 편지선택 모달 퍼블리싱

* chore:스와이퍼 설치

* design:랜덤 편지 페이지 스와이퍼 적용

* design:편지 상세보기 퍼블리싱

* design:편지 작성 페이지 레이아웃 관련 수정

* design:랜덤편지 페이지 퍼블리싱

* design:편지 상세 페이지 퍼블리싱

* design:랜덤편지 세부사항 수정 & 공용 컴포넌트들로 코드 수정

* refactor:코드리뷰 수정사항 반영

* design: 온보딩 페이지 퍼블리싱 (#18)

* design: 온보딩 페이지 퍼블리싱

우편번호 페이지 퍼블리싱 완료
우편번호 애니메이션 구현 완료
애니메이션 페이지 퍼블리싱 완료
애니메이션 페이지 구현 중
관리자 편지는 컴포넌트 제작 후 라우팅 연결할 예정

* design: 게시판 퍼블리싱 (#14)

* design: 편지 게시판 페이지 내 편지 미리보기 컴포넌트 퍼블리싱

* design: 롤링페이퍼 공지 컴포넌트 퍼블리싱

* design: 편지 공유 게시판 퍼블리싱

* refactor: ConfirmModal 배경 이미지 삽입 방식 개선

* rename: 파일명 형식 통일을 위한 에셋 파일명 수정

* design: 롤링페이퍼 편지 컴포넌트 퍼블리싱

* design: 롤링페이퍼 페이지 퍼블리싱

* refactor: ModalOverlay 컴포넌트로 모달의 외부 영역 클릭 로직 이동

* design: 롤링페이퍼 페이지 메시지 상세조회 모달 퍼블리싱

* design: 모달 활성화 시, 스크롤이 안되도록 수정

* design: 신고 모달 컴포넌트 퍼블리싱

* design: 롤링페이퍼 메사지 추가 모달 버픕ㄹ리싱

* design: Header 컴포넌트 position을 fixed로 변경

* refactor: 하단 배경 컴포넌트로 분리

* design: 마이페이지 중 내가 올린 게시물 페이지 퍼블리싱

* design: 게시판 상세 페이지의 편지 컴포넌트 퍼블리싱

* design: 편지 공유 게시글 상세 페이지 퍼블리싱

* feat: 게시글 상세 페이지 헤더 컴포넌트 뒤로가기 기능 추가

* remove: 중복 에셋 제거

* refactor: 중복 스타일 코드 utilities로 분리

* design: 내 편지함 페이지 퍼블리싱 (#16)

* design: 내 편지함 목록 페이지 퍼블리싱

* refactor: 리스트 디자인 컴포넌트로 분리

* design: 컴포넌트 props명 수정 및 sender, receiver 디자인 변경

* design: 내 편지함 상세 페이지 퍼블리싱

* refactor: 배경 이미지 삽입되는 로직 컴포넌트로 분리

* design: 필요한 모달 퍼블리싱 및 버튼과 연결

* rename: ListItemContainer -> ListItemWrapper로 컴포넌트명 수정

* refactor: 페이지 제목에 PageTitle 컴포넌트 적용

* design: 온보딩 페이지 편지 애니메이션 구현

- 온보딩 페이지에서 편지 애니메이션 구현
- TODO: 모바일 뷰 확인
- TODO: 편지 상세 링크

* design : 랜덤 편지 페이지 & 편지 상세 페이지 퍼블리싱 (#17)

* design:랜덤편지 메인화면, 편지선택 모달 퍼블리싱

* chore:스와이퍼 설치

* design:랜덤 편지 페이지 스와이퍼 적용

* design:편지 상세보기 퍼블리싱

* design:편지 작성 페이지 레이아웃 관련 수정

* design:랜덤편지 페이지 퍼블리싱

* design:편지 상세 페이지 퍼블리싱

* design:랜덤편지 세부사항 수정 & 공용 컴포넌트들로 코드 수정

* refactor:코드리뷰 수정사항 반영

* refactor: pr 피드백 반영

- 이미지 에셋 정리
- animation 파일 분리
- css 충돌 해결
- spinner -> containerRef 오류 수정

---------

Co-authored-by: nirii00 <[email protected]>
Co-authored-by: Minha Ahn <[email protected]>
Co-authored-by: wldnjs990 <[email protected]>

* design: 홈 페이지 퍼블리싱  (#19)

* design: 홈 페이지 에셋 추가

* design: 홈 페이지 퍼블리싱

* design: 홈 페이지 모달 퍼블리싱

* design: 홈 페이지 퍼블리싱

* design: 홈 페이지 모달 퍼블리싱

* refactor: package-json 삭제

* refactor: ModalOverlay 컴포넌트 새 속성에 맞춰 모달 정리

* fix: import 오류 해결

* refactor: SpecialLetterBanner 애니메이션 animation.css로 분리

* design: Home에서 grow 적용으로 불필요한 h-screen 제거

* rename: 에셋 파일명을 케밥 케이스로 변경

* remove: 필요없는 에셋 삭제

* fix: 이미지 경로 import 방식 수정

* refactor: 버튼 컴포넌트 반복 로직 개선

* style: HomeRight 레이아웃 수정

* refactor: max-w 값 수정 및 불필요한 삼항 연산자 제거

* rename: Navbar를 HomeHeader로 대체

* rename: 홈 페이지 배경 이미지 업데이트

* fix: 모바일 및 웹에서 레이아웃 오류 해결, 홈 페이지 구조 리팩토링

* design: 홈 페이지 왼쪽 배경 width 조정

* design: SpecialLetterBanner width 조정

* design: 게시판 이미지 버튼 width 조정

* fix: coflict 오류 해결

* design: 로그인 및 랜딩 페이지 퍼블리싱 (#22)

* design: 전체 배경 그라데이션 삽입

* design: 로그인 페이지 에셋 추가

* design: 로그인 페이지 퍼블리싱

* design: 로그인 페이지 에셋 변경 및 반영

* design: 랜딩페이지 퍼블리싱

* remove: 불필요한 에셋 제거

* remove: 중복 에셋 제거

* refactor: 로그인 아이콘에 aria-label 추가

* style: 랜딩페이지 원 크기 수정

* design: 홈 페이지 공유 미리보기 퍼블리싱  (#25)

* fix: 홈 페이지 게시판 라우팅 오류 해결

* fix: 랜덤 응원 메시지 z-index 조정으로 클릭 안되는 오류 해결

* design: 홈 페이지 공유 미리보기 에셋 추가

* design: 홈 페이지 공유 미리보기 퍼블리싱

* fix: 랜덤 응원 메시지가 모달보다 위로 뜨는 오류 해결

* remove: landing blur 중복 에셋 삭제

* fix: landing blur 에셋 import 경로 수정

* design, feat, chore : 편지 작성 페이지 추가 퍼블리싱 + 기능구현 + API연결 + 관리자페이지 퍼블리싱 (#28)

* design : 카테고리 버튼 사이즈 full로 변경

* design : 옵션 슬라이드 바텀시트 애니메이션 구현(약간 미완)

* refactor:관리자 / 모바일용 레이아웃 분리

* design : 관리자 페이지 퍼블리싱

* design:관리자 페이지 퍼블리싱

* refactor : 폰트 선택 모달 아이콘 svgr 변경 + 목API 형식에 맞춰 타입 수정 + API 연결 작업 90% 완료

* feat:글작성 페이지 쿼리스트링으로 이전편지 가져오기 API연결

* feat:편지 상세 페이지 API 데이터바인딩 90%완료(유저 우편번호 데이터 필요)

* feat:편지삭제 api 생성

* feat:글작성, 상세 페이지 뒤로가기 버튼 + 상세페이지 글 삭제 버튼 추가

* refactor : ResultLetter 타입 변경

* feat:글 작성 페이지 네비게이션 가드 테스트

* fix:코드리뷰 수정사항 반영

* feat: 내 편지함 기능 구현 1차 (#30)

* feat: 내 편지함, 상세 기능 구현 1차
- 내 편지함 기능구현
  - 렌더링
  - 3의 배수가 아닌 경우 이미지 추가
  - 아무것도 없을 때 노트 추가
- 내 편지함 상세 기능 구현
  - 공유 작성 및 전송
  - 편지 리스트 렌더링
  - 상대방 차단하기
- TODO
  - [ ] tanstackQuery 적용
  - [ ] 무한 스크롤? 적용할지?
  - [ ] 상태관리 확인하기

* refactor: API 컨벤션 통일

- API 파일이름 수정
- api.ts 삭제

* refactor: merge 후 오류 해결

---------

Co-authored-by: nirii00 <[email protected]>

* design: 404 페이지 디자인 (#33)

- 404 페이지 퍼블리싱
- 홈으로 가는 버튼 추가

Co-authored-by: nirii00 <[email protected]>

* feat: 롤링페이퍼 기능 구현 (mock api) (#35)

* feat: Tanstack query를 이용한 데이터 가져오는 커스텀 훅 useFetchQuery 구현

* feat: NoticeRollingPaper에 데이터 패칭 적용
- NoticeRolling -> NoticeRollingPaper로 컴포넌트 명 수정

* feat: 홈 페이지에 공용 컴포넌트 적용

* rename: MessageDetailModal -> CommentDetailModal 컴포넌트 명 수정

* rename: Message -> Comment 컴포넌트 명 수정

* feat: 롤링페이퍼 조회 기능 구현

* refactor: 중복되는 배경 컴포넌트 적용 및 불필요한 에셋 제거

* refactor: 중복되는 메모 배경 컴포넌트 적용 및 불필요한 에셋 제거

* remove: 중복 에셋 제거

* refactor: 중복되는 모달 배경 컴포넌트 적용 및 불필요한 에셋 제거

* style: 커스텀 훅 제거 및 queryClient 기본값 설정

* feat: 삭제 모달 추가 및 삭제 mock api 연결

* feat: 편지 추가 mock api 연결

* fix: 신고 ui 제거

* style: 사용하지 않는 코드 제거

* style: 엔드포인트 오타 수정

* style: 더미 제거

* feat: 오고 있는 편지 조회 기능 구현 (mock api) (#36)

* style: 홈 페이지 eslint 오류 해결

* remove: 사용하지 않는 파일 삭제

* feat: 오고 있는 편지 조회 mock api 연결

* feat: 오고 있는 편지 클릭 시 편지 상세 페이지로 이동

* feat: 편지 목록 높이 자동 조정 및 스크롤 기능 추가

* fix: 랜덤 응원 메시지 모달 위로 뜨는 오류 해결

* fix: 오고 있는 편지 클릭 시 편지 미리보기로 이동하는 라우팅 오류 해결

* feat: 오고 있는 편지 목록에서 시간이 다 된 항목을 자동으로 삭제하는 기능 추가

* refactor: 오고 있는 편지 파일 구조 수정

* style: 오고 있는 편지 함수 선언을 화살표 함수로 변환

* feat: 새로 도착한 편지 개수 계산 구현

* feat: 마이페이지 내 정보 조회 기능 구현 (mock api) (#39)

* feat: 마이페이지 내 정보 조회 기능 구현

* fix: merge conflict 해결

* fix: 온보딩 애니메이션 오류 해결 (#41)

- 온보딩 편지 애니메이션 모바일 오류 해결
- 온보딩 단계에 따른 상태관리
- 온보딩이 끝난 후 홈으로 이동

Co-authored-by: nirii00 <[email protected]>

* feat:관리자 페이지 1차 기능 구현 (#43)

* feat:관리자 페이지 신고기능 구현완료(페이지네이션 제외)

* feat:관리자 페이지 검열관리 필터링 기능 개발중(검열 단어 추가 구현중)

* feat:필터링 단어 추가기능 목api연결 완료(단어 삭제는 목api가 안만들어짐) + 차단 편지목록 퍼블리싱

* chore:badwords, filteredLetter 라우팅 분리 + 사이드바 버튼에 라우팅 연결

* feat:편지 작성 페이지 1차 기능구현 (#47)

* feat:편지전송 답장 post api 연결완료

* feat:매칭된 편지 작성시 api 분기 구현

* feat:카테고리 페이지 페이지 뒤로가기 버튼 제거 + 이전단계 위치 조정

* feat:옵션 모달 외부 클릭시 슬라이드 닫히는 로직 구현

* feat: 편지작성 페이지 전역변수 편지전송 관련 request값들 객체형태로 통일

* fix:코드리뷰 사항 수정

* feat:랜덤 편지 + 편지 상세 1차 기능 구현 (#46)

* feat:편지 상세 페이지 삭제 모달 추가

* chore:기존 파일들 컴포넌트파일로 이동

* feat:쿨타임 컴포넌트 생성 + 랜덤편지 타입 수정

* feat:차단된 편지 버튼 disabled처리

* feat:편지 상세보기 모달 생성(매칭편지는 상세페이지와 분리)

* fix:쿨타임 페이지 letterWrapper 적용

* feat:편지 상세, 랜덤 편지 api throw error 예외처리 추가

* feat:편지 매칭 제한시간 구현

* feat:랜덤편지 페이지 매칭 제한시간, 쿨타임 로직 구현

* feat:랜덤편지 페이지 편지 매칭 제한시간, 쿨타임 시간 구현

* feat:매칭된 편지 전달시 location값 전달처리({randomMatched: true})

* feat:코드리뷰 사항 수정

* Perf: 내 편지함 탄스택 쿼리 적용 (#50)

* fix: 모바일에서 gradient 보이지 않는 문제 해결

* refactor: 내 편지함 및 상세 querykey 적용
- useState을 삭제 하고 데이터 관리 및 성능 최적화를 위해 tanstack query 적용

* fix: 편지 상세 무한 스크롤 오류 수정
- 마지막 편지 보일 시 새로 페이징 하는 로직을 response data에 맞게 수정
- react-intersection-observer 라이브러리를 이용하여 마지막 요소가 view에 들어오는지 확인

* fix: 내 편지함 디자인 보이지 않는 문제 해결
- gradietn class에 !important를 적용

---------

Co-authored-by: nirii00 <[email protected]>

* feat: 편지 게시글 공유 기능 구현 (mock api) (#53)

* feat: 공유 게시글 목록 조회 기능 구현

* feat: 공유 게시글 상세 조회 기능 구현

* feat: 게시글 공유 요청 수락/거절 기능 구현

* perf: NewLetterModal의 불필요한 api 호출 제거

* fix: HomeRight의 useEffect 의존성 배열에 fetchIncomingLetters 추가

* fix: 공유 편지 미리보기에서 텍스트와 버튼이 겹쳐보이는 오류 해결

* refactor: hasNewLetters 로컬 상태 제거 및 arrivedCount 전역 상태로 대체

* fix: 특정 모바일 크기에서 내 편지함이 가려져 잘 안 보이는 오류 해결

* fix: 특정 모바일 크기에서 게시판이 잘 안 보이는 오류 해결

* design: 홈 페이지 공유 요청 모달에 스크롤 기능 추가

* style: 불필요한 console.log 삭제

* refactor: 테스트용 코드 삭제

* refactor: 'Letter' 인터페이스 이름을 'ShareLetter'로 변경

* fix: selector로 필요한 값만 불러오도록 수정하여 불필요한 렌더링 방지

* feat: 로그인 기능구현 (#52)

* feat: 소셜로그인 및 회원가입 연결
- 소셜 로그인, 회원가입 시 리디렉션 페이지 연동 완료
- 유저정보 저장 진행 중

* feat:편지 작성 페이지 1차 기능구현 (#47)

* feat:편지전송 답장 post api 연결완료

* feat:매칭된 편지 작성시 api 분기 구현

* feat:카테고리 페이지 페이지 뒤로가기 버튼 제거 + 이전단계 위치 조정

* feat:옵션 모달 외부 클릭시 슬라이드 닫히는 로직 구현

* feat: 편지작성 페이지 전역변수 편지전송 관련 request값들 객체형태로 통일

* fix:코드리뷰 사항 수정

* feat:랜덤 편지 + 편지 상세 1차 기능 구현 (#46)

* feat:편지 상세 페이지 삭제 모달 추가

* chore:기존 파일들 컴포넌트파일로 이동

* feat:쿨타임 컴포넌트 생성 + 랜덤편지 타입 수정

* feat:차단된 편지 버튼 disabled처리

* feat:편지 상세보기 모달 생성(매칭편지는 상세페이지와 분리)

* fix:쿨타임 페이지 letterWrapper 적용

* feat:편지 상세, 랜덤 편지 api throw error 예외처리 추가

* feat:편지 매칭 제한시간 구현

* feat:랜덤편지 페이지 매칭 제한시간, 쿨타임 로직 구현

* feat:랜덤편지 페이지 편지 매칭 제한시간, 쿨타임 시간 구현

* feat:매칭된 편지 전달시 location값 전달처리({randomMatched: true})

* feat:코드리뷰 사항 수정

* feat: 로그인 기능 임시 구현
- API 완성 되지 않음 : 논의된 부분을 바탕으로 임시로 제작함(작동 안함)
- 토큰을 전달 받기 위해 권한 상태 페이지 추가(보여주기 위한 용도가 아니라 쿼리문으로 토큰 전달을 위한 목적)

* feat: logout API 추가

* test: 로그인 테스트용 임시 커밋

* refactor: API 변경 사항 수정 반영, 토큰관련 interceptor 문 수정
- API 수정 반영하여 오류 사항들 수정
- 기존 interceptor 문에 오류가 있어서 수정
- AuthCallback Page에서 회원정보 설정 및 우편번호 발급

* test: 탈퇴 처리 테스트

* Perf: 내 편지함 탄스택 쿼리 적용 (#50)

* fix: 모바일에서 gradient 보이지 않는 문제 해결

* refactor: 내 편지함 및 상세 querykey 적용
- useState을 삭제 하고 데이터 관리 및 성능 최적화를 위해 tanstack query 적용

* fix: 편지 상세 무한 스크롤 오류 수정
- 마지막 편지 보일 시 새로 페이징 하는 로직을 response data에 맞게 수정
- react-intersection-observer 라이브러리를 이용하여 마지막 요소가 view에 들어오는지 확인

* fix: 내 편지함 디자인 보이지 않는 문제 해결
- gradietn class에 !important를 적용

---------

Co-authored-by: nirii00 <[email protected]>

* feat: 소셜로그인 및 회원가입 연결
- 소셜 로그인, 회원가입 시 리디렉션 페이지 연동 완료
- 유저정보 저장 진행 중

* Fix: intercepter 오류 해결
- intercepter retry 코드 빠진 부분 수정
- header에 잘못 설정 하는 부분 수정

* feat: 마이페이지 로그아웃 적용
- 로그아웃 테스트를 위해 마이페이지에 로그아웃 기능을 먼저 구현했습니다!

* Update src/pages/Auth/index.tsx

refac: 코드 개선

Co-authored-by: Minha Ahn <[email protected]>

* refactor: 코드 리뷰 반영
- 로그인 타입 파일 만듦
- logout 중복 선언 정리
- myPage 탈퇴 추가, p 태그 -> 버튼
- useAuthState 상태 가져오는 코드 수정

* refactor: myPage 오타 수정

---------

Co-authored-by: nirii00 <[email protected]>
Co-authored-by: wldnjs990 <[email protected]>
Co-authored-by: Minha Ahn <[email protected]>

* FIx, Feat: 로그인 기능 버그 수정, 권한별 접근 페이지 기능 추가 (#56)

* Fix: reissue 요청 수정

* Fix: 무한 response intercept 수정
- 요청 queue 포함

* feat: 권한별 접근 페이지 기능 추가
- PrivateRoute 추가하여 로그인된 사용자만 접근 가능하도록 설정
- AuthCallbackPage 임의로 접근시 home, login redirection 추가
- 로그인된 사용자는 login 접근 불가
- TODO
  - [ ] : intercepters.response에서 reissue 실패하는 경우 기존 api 함수에 catch로 에러 전달이 안되는 것 같음(추가로 문제 상황을 확인)

---------

Co-authored-by: nirii00 <[email protected]>

* feat: deploy.yml 생성

- main branch 자동 배포를 위해 프로젝트 빌드 및 deploy.yml 파일 생성
  - secret key 등록
  - 캐시 값을 바탕으로 패키지 설치 확인
- strictMode 활성화

* fix: pnpm install 에러 수정

* fix: 빌드 폴더 경로 수정

---------

Co-authored-by: Minha Ahn <[email protected]>
Co-authored-by: wldnjs990 <[email protected]>
Co-authored-by: nirii00 <[email protected]>
Co-authored-by: Seungyeon Han (Tiffany) <[email protected]>
wldnjs990 added a commit that referenced this pull request Mar 4, 2025
* design: 모바일 뷰 기본 틀 설정 (#2)

* chore: mui icon 라이브러리 설치

* design: 최대 너비 600px 제한

* design: 모바일 viewport 문제 개션을 위한 훅 추가

* design: 마이페이지 퍼블리싱 (#8)

* design: 마이페이지 에셋 추가

* design: 마이페이지 퍼블리싱

* design: ConfirmModal 컴포넌트 구현 및 탈퇴 모달 적용

* design: 모달 배경 이미지 적용

* design: 모달 컴포넌트 버튼 비율 동일하도록 수정

* refactor: 중복되는 버튼 디자인 스타일 클래스로 분리

* design: 배경 오버레이 이미지 추가

* fix: useViewport 계산 상수 수정

* feat: 온도에 맞는 텍스트 보여주는 함수 추가

* refactor: hn 태그 적용

* refactor: Header 컴포넌트를 공통 레이아웃으로 분리

* refactor: 모달 오버레이 공통 컴포넌트로 분리

* design: 알림페이지 퍼블리싱 (#10)

* design: 알림 페이지 에셋 추가

* feat: 알림 아이콘 - 알림 페이지 라우팅 연결

* design: 경고 모달창 퍼블리싱

* design: 알림 페이지 퍼블리싱

* design: 페이지 상단 간격 수정

* refactor: 레이아웃 컴포넌트 구조 수정

* design: 편지작성 페이지 퍼블리싱 (#13)

* design:편지 작성 페이지 작업 시작

* design:폰트 css 추가

* design:편지 작성 페이지 작업중

* design:글 작성 페이지 관련 이미지

* design:애니메이션 요소, 테마 제외한 퍼블리싱 완료

* design:편지지 테마선택 퍼블리싱 완료

* refactor:타입명 파스칼 케이스로 변경 & 상수명 대문자로 변경 & 타입 export import문 제거 & 몇몇 코드 상수파일 통합 & 타입파일 types폴더로 이동

* refactor:코드리뷰 수정사항 적용

* design:편지작성 완료 애니메이션 구현

* design:고민편지 작성 결과에도 애니메이션 적용 & ResultLetter 컴포넌트 공용 컴포넌트로 이동

* design: 게시판 퍼블리싱 (#14)

* design: 편지 게시판 페이지 내 편지 미리보기 컴포넌트 퍼블리싱

* design: 롤링페이퍼 공지 컴포넌트 퍼블리싱

* design: 편지 공유 게시판 퍼블리싱

* refactor: ConfirmModal 배경 이미지 삽입 방식 개선

* rename: 파일명 형식 통일을 위한 에셋 파일명 수정

* design: 롤링페이퍼 편지 컴포넌트 퍼블리싱

* design: 롤링페이퍼 페이지 퍼블리싱

* refactor: ModalOverlay 컴포넌트로 모달의 외부 영역 클릭 로직 이동

* design: 롤링페이퍼 페이지 메시지 상세조회 모달 퍼블리싱

* design: 모달 활성화 시, 스크롤이 안되도록 수정

* design: 신고 모달 컴포넌트 퍼블리싱

* design: 롤링페이퍼 메사지 추가 모달 버픕ㄹ리싱

* design: Header 컴포넌트 position을 fixed로 변경

* refactor: 하단 배경 컴포넌트로 분리

* design: 마이페이지 중 내가 올린 게시물 페이지 퍼블리싱

* design: 게시판 상세 페이지의 편지 컴포넌트 퍼블리싱

* design: 편지 공유 게시글 상세 페이지 퍼블리싱

* feat: 게시글 상세 페이지 헤더 컴포넌트 뒤로가기 기능 추가

* remove: 중복 에셋 제거

* refactor: 중복 스타일 코드 utilities로 분리

* design: 내 편지함 페이지 퍼블리싱 (#16)

* design: 내 편지함 목록 페이지 퍼블리싱

* refactor: 리스트 디자인 컴포넌트로 분리

* design: 컴포넌트 props명 수정 및 sender, receiver 디자인 변경

* design: 내 편지함 상세 페이지 퍼블리싱

* refactor: 배경 이미지 삽입되는 로직 컴포넌트로 분리

* design: 필요한 모달 퍼블리싱 및 버튼과 연결

* rename: ListItemContainer -> ListItemWrapper로 컴포넌트명 수정

* refactor: 페이지 제목에 PageTitle 컴포넌트 적용

* design : 랜덤 편지 페이지 & 편지 상세 페이지 퍼블리싱 (#17)

* design:랜덤편지 메인화면, 편지선택 모달 퍼블리싱

* chore:스와이퍼 설치

* design:랜덤 편지 페이지 스와이퍼 적용

* design:편지 상세보기 퍼블리싱

* design:편지 작성 페이지 레이아웃 관련 수정

* design:랜덤편지 페이지 퍼블리싱

* design:편지 상세 페이지 퍼블리싱

* design:랜덤편지 세부사항 수정 & 공용 컴포넌트들로 코드 수정

* refactor:코드리뷰 수정사항 반영

* design: 온보딩 페이지 퍼블리싱 (#18)

* design: 온보딩 페이지 퍼블리싱

우편번호 페이지 퍼블리싱 완료
우편번호 애니메이션 구현 완료
애니메이션 페이지 퍼블리싱 완료
애니메이션 페이지 구현 중
관리자 편지는 컴포넌트 제작 후 라우팅 연결할 예정

* design: 게시판 퍼블리싱 (#14)

* design: 편지 게시판 페이지 내 편지 미리보기 컴포넌트 퍼블리싱

* design: 롤링페이퍼 공지 컴포넌트 퍼블리싱

* design: 편지 공유 게시판 퍼블리싱

* refactor: ConfirmModal 배경 이미지 삽입 방식 개선

* rename: 파일명 형식 통일을 위한 에셋 파일명 수정

* design: 롤링페이퍼 편지 컴포넌트 퍼블리싱

* design: 롤링페이퍼 페이지 퍼블리싱

* refactor: ModalOverlay 컴포넌트로 모달의 외부 영역 클릭 로직 이동

* design: 롤링페이퍼 페이지 메시지 상세조회 모달 퍼블리싱

* design: 모달 활성화 시, 스크롤이 안되도록 수정

* design: 신고 모달 컴포넌트 퍼블리싱

* design: 롤링페이퍼 메사지 추가 모달 버픕ㄹ리싱

* design: Header 컴포넌트 position을 fixed로 변경

* refactor: 하단 배경 컴포넌트로 분리

* design: 마이페이지 중 내가 올린 게시물 페이지 퍼블리싱

* design: 게시판 상세 페이지의 편지 컴포넌트 퍼블리싱

* design: 편지 공유 게시글 상세 페이지 퍼블리싱

* feat: 게시글 상세 페이지 헤더 컴포넌트 뒤로가기 기능 추가

* remove: 중복 에셋 제거

* refactor: 중복 스타일 코드 utilities로 분리

* design: 내 편지함 페이지 퍼블리싱 (#16)

* design: 내 편지함 목록 페이지 퍼블리싱

* refactor: 리스트 디자인 컴포넌트로 분리

* design: 컴포넌트 props명 수정 및 sender, receiver 디자인 변경

* design: 내 편지함 상세 페이지 퍼블리싱

* refactor: 배경 이미지 삽입되는 로직 컴포넌트로 분리

* design: 필요한 모달 퍼블리싱 및 버튼과 연결

* rename: ListItemContainer -> ListItemWrapper로 컴포넌트명 수정

* refactor: 페이지 제목에 PageTitle 컴포넌트 적용

* design: 온보딩 페이지 편지 애니메이션 구현

- 온보딩 페이지에서 편지 애니메이션 구현
- TODO: 모바일 뷰 확인
- TODO: 편지 상세 링크

* design : 랜덤 편지 페이지 & 편지 상세 페이지 퍼블리싱 (#17)

* design:랜덤편지 메인화면, 편지선택 모달 퍼블리싱

* chore:스와이퍼 설치

* design:랜덤 편지 페이지 스와이퍼 적용

* design:편지 상세보기 퍼블리싱

* design:편지 작성 페이지 레이아웃 관련 수정

* design:랜덤편지 페이지 퍼블리싱

* design:편지 상세 페이지 퍼블리싱

* design:랜덤편지 세부사항 수정 & 공용 컴포넌트들로 코드 수정

* refactor:코드리뷰 수정사항 반영

* refactor: pr 피드백 반영

- 이미지 에셋 정리
- animation 파일 분리
- css 충돌 해결
- spinner -> containerRef 오류 수정

---------

Co-authored-by: nirii00 <[email protected]>
Co-authored-by: Minha Ahn <[email protected]>
Co-authored-by: wldnjs990 <[email protected]>

* design: 홈 페이지 퍼블리싱  (#19)

* design: 홈 페이지 에셋 추가

* design: 홈 페이지 퍼블리싱

* design: 홈 페이지 모달 퍼블리싱

* design: 홈 페이지 퍼블리싱

* design: 홈 페이지 모달 퍼블리싱

* refactor: package-json 삭제

* refactor: ModalOverlay 컴포넌트 새 속성에 맞춰 모달 정리

* fix: import 오류 해결

* refactor: SpecialLetterBanner 애니메이션 animation.css로 분리

* design: Home에서 grow 적용으로 불필요한 h-screen 제거

* rename: 에셋 파일명을 케밥 케이스로 변경

* remove: 필요없는 에셋 삭제

* fix: 이미지 경로 import 방식 수정

* refactor: 버튼 컴포넌트 반복 로직 개선

* style: HomeRight 레이아웃 수정

* refactor: max-w 값 수정 및 불필요한 삼항 연산자 제거

* rename: Navbar를 HomeHeader로 대체

* rename: 홈 페이지 배경 이미지 업데이트

* fix: 모바일 및 웹에서 레이아웃 오류 해결, 홈 페이지 구조 리팩토링

* design: 홈 페이지 왼쪽 배경 width 조정

* design: SpecialLetterBanner width 조정

* design: 게시판 이미지 버튼 width 조정

* fix: coflict 오류 해결

* design: 로그인 및 랜딩 페이지 퍼블리싱 (#22)

* design: 전체 배경 그라데이션 삽입

* design: 로그인 페이지 에셋 추가

* design: 로그인 페이지 퍼블리싱

* design: 로그인 페이지 에셋 변경 및 반영

* design: 랜딩페이지 퍼블리싱

* remove: 불필요한 에셋 제거

* remove: 중복 에셋 제거

* refactor: 로그인 아이콘에 aria-label 추가

* style: 랜딩페이지 원 크기 수정

* design: 홈 페이지 공유 미리보기 퍼블리싱  (#25)

* fix: 홈 페이지 게시판 라우팅 오류 해결

* fix: 랜덤 응원 메시지 z-index 조정으로 클릭 안되는 오류 해결

* design: 홈 페이지 공유 미리보기 에셋 추가

* design: 홈 페이지 공유 미리보기 퍼블리싱

* fix: 랜덤 응원 메시지가 모달보다 위로 뜨는 오류 해결

* remove: landing blur 중복 에셋 삭제

* fix: landing blur 에셋 import 경로 수정

* design, feat, chore : 편지 작성 페이지 추가 퍼블리싱 + 기능구현 + API연결 + 관리자페이지 퍼블리싱 (#28)

* design : 카테고리 버튼 사이즈 full로 변경

* design : 옵션 슬라이드 바텀시트 애니메이션 구현(약간 미완)

* refactor:관리자 / 모바일용 레이아웃 분리

* design : 관리자 페이지 퍼블리싱

* design:관리자 페이지 퍼블리싱

* refactor : 폰트 선택 모달 아이콘 svgr 변경 + 목API 형식에 맞춰 타입 수정 + API 연결 작업 90% 완료

* feat:글작성 페이지 쿼리스트링으로 이전편지 가져오기 API연결

* feat:편지 상세 페이지 API 데이터바인딩 90%완료(유저 우편번호 데이터 필요)

* feat:편지삭제 api 생성

* feat:글작성, 상세 페이지 뒤로가기 버튼 + 상세페이지 글 삭제 버튼 추가

* refactor : ResultLetter 타입 변경

* feat:글 작성 페이지 네비게이션 가드 테스트

* fix:코드리뷰 수정사항 반영

* feat: 내 편지함 기능 구현 1차 (#30)

* feat: 내 편지함, 상세 기능 구현 1차
- 내 편지함 기능구현
  - 렌더링
  - 3의 배수가 아닌 경우 이미지 추가
  - 아무것도 없을 때 노트 추가
- 내 편지함 상세 기능 구현
  - 공유 작성 및 전송
  - 편지 리스트 렌더링
  - 상대방 차단하기
- TODO
  - [ ] tanstackQuery 적용
  - [ ] 무한 스크롤? 적용할지?
  - [ ] 상태관리 확인하기

* refactor: API 컨벤션 통일

- API 파일이름 수정
- api.ts 삭제

* refactor: merge 후 오류 해결

---------

Co-authored-by: nirii00 <[email protected]>

* design: 404 페이지 디자인 (#33)

- 404 페이지 퍼블리싱
- 홈으로 가는 버튼 추가

Co-authored-by: nirii00 <[email protected]>

* feat: 롤링페이퍼 기능 구현 (mock api) (#35)

* feat: Tanstack query를 이용한 데이터 가져오는 커스텀 훅 useFetchQuery 구현

* feat: NoticeRollingPaper에 데이터 패칭 적용
- NoticeRolling -> NoticeRollingPaper로 컴포넌트 명 수정

* feat: 홈 페이지에 공용 컴포넌트 적용

* rename: MessageDetailModal -> CommentDetailModal 컴포넌트 명 수정

* rename: Message -> Comment 컴포넌트 명 수정

* feat: 롤링페이퍼 조회 기능 구현

* refactor: 중복되는 배경 컴포넌트 적용 및 불필요한 에셋 제거

* refactor: 중복되는 메모 배경 컴포넌트 적용 및 불필요한 에셋 제거

* remove: 중복 에셋 제거

* refactor: 중복되는 모달 배경 컴포넌트 적용 및 불필요한 에셋 제거

* style: 커스텀 훅 제거 및 queryClient 기본값 설정

* feat: 삭제 모달 추가 및 삭제 mock api 연결

* feat: 편지 추가 mock api 연결

* fix: 신고 ui 제거

* style: 사용하지 않는 코드 제거

* style: 엔드포인트 오타 수정

* style: 더미 제거

* feat: 오고 있는 편지 조회 기능 구현 (mock api) (#36)

* style: 홈 페이지 eslint 오류 해결

* remove: 사용하지 않는 파일 삭제

* feat: 오고 있는 편지 조회 mock api 연결

* feat: 오고 있는 편지 클릭 시 편지 상세 페이지로 이동

* feat: 편지 목록 높이 자동 조정 및 스크롤 기능 추가

* fix: 랜덤 응원 메시지 모달 위로 뜨는 오류 해결

* fix: 오고 있는 편지 클릭 시 편지 미리보기로 이동하는 라우팅 오류 해결

* feat: 오고 있는 편지 목록에서 시간이 다 된 항목을 자동으로 삭제하는 기능 추가

* refactor: 오고 있는 편지 파일 구조 수정

* style: 오고 있는 편지 함수 선언을 화살표 함수로 변환

* feat: 새로 도착한 편지 개수 계산 구현

* feat: 마이페이지 내 정보 조회 기능 구현 (mock api) (#39)

* feat: 마이페이지 내 정보 조회 기능 구현

* fix: merge conflict 해결

* fix: 온보딩 애니메이션 오류 해결 (#41)

- 온보딩 편지 애니메이션 모바일 오류 해결
- 온보딩 단계에 따른 상태관리
- 온보딩이 끝난 후 홈으로 이동

Co-authored-by: nirii00 <[email protected]>

* feat:관리자 페이지 1차 기능 구현 (#43)

* feat:관리자 페이지 신고기능 구현완료(페이지네이션 제외)

* feat:관리자 페이지 검열관리 필터링 기능 개발중(검열 단어 추가 구현중)

* feat:필터링 단어 추가기능 목api연결 완료(단어 삭제는 목api가 안만들어짐) + 차단 편지목록 퍼블리싱

* chore:badwords, filteredLetter 라우팅 분리 + 사이드바 버튼에 라우팅 연결

* feat:편지 작성 페이지 1차 기능구현 (#47)

* feat:편지전송 답장 post api 연결완료

* feat:매칭된 편지 작성시 api 분기 구현

* feat:카테고리 페이지 페이지 뒤로가기 버튼 제거 + 이전단계 위치 조정

* feat:옵션 모달 외부 클릭시 슬라이드 닫히는 로직 구현

* feat: 편지작성 페이지 전역변수 편지전송 관련 request값들 객체형태로 통일

* fix:코드리뷰 사항 수정

* feat:랜덤 편지 + 편지 상세 1차 기능 구현 (#46)

* feat:편지 상세 페이지 삭제 모달 추가

* chore:기존 파일들 컴포넌트파일로 이동

* feat:쿨타임 컴포넌트 생성 + 랜덤편지 타입 수정

* feat:차단된 편지 버튼 disabled처리

* feat:편지 상세보기 모달 생성(매칭편지는 상세페이지와 분리)

* fix:쿨타임 페이지 letterWrapper 적용

* feat:편지 상세, 랜덤 편지 api throw error 예외처리 추가

* feat:편지 매칭 제한시간 구현

* feat:랜덤편지 페이지 매칭 제한시간, 쿨타임 로직 구현

* feat:랜덤편지 페이지 편지 매칭 제한시간, 쿨타임 시간 구현

* feat:매칭된 편지 전달시 location값 전달처리({randomMatched: true})

* feat:코드리뷰 사항 수정

* Perf: 내 편지함 탄스택 쿼리 적용 (#50)

* fix: 모바일에서 gradient 보이지 않는 문제 해결

* refactor: 내 편지함 및 상세 querykey 적용
- useState을 삭제 하고 데이터 관리 및 성능 최적화를 위해 tanstack query 적용

* fix: 편지 상세 무한 스크롤 오류 수정
- 마지막 편지 보일 시 새로 페이징 하는 로직을 response data에 맞게 수정
- react-intersection-observer 라이브러리를 이용하여 마지막 요소가 view에 들어오는지 확인

* fix: 내 편지함 디자인 보이지 않는 문제 해결
- gradietn class에 !important를 적용

---------

Co-authored-by: nirii00 <[email protected]>

* feat: 편지 게시글 공유 기능 구현 (mock api) (#53)

* feat: 공유 게시글 목록 조회 기능 구현

* feat: 공유 게시글 상세 조회 기능 구현

* feat: 게시글 공유 요청 수락/거절 기능 구현

* perf: NewLetterModal의 불필요한 api 호출 제거

* fix: HomeRight의 useEffect 의존성 배열에 fetchIncomingLetters 추가

* fix: 공유 편지 미리보기에서 텍스트와 버튼이 겹쳐보이는 오류 해결

* refactor: hasNewLetters 로컬 상태 제거 및 arrivedCount 전역 상태로 대체

* fix: 특정 모바일 크기에서 내 편지함이 가려져 잘 안 보이는 오류 해결

* fix: 특정 모바일 크기에서 게시판이 잘 안 보이는 오류 해결

* design: 홈 페이지 공유 요청 모달에 스크롤 기능 추가

* style: 불필요한 console.log 삭제

* refactor: 테스트용 코드 삭제

* refactor: 'Letter' 인터페이스 이름을 'ShareLetter'로 변경

* fix: selector로 필요한 값만 불러오도록 수정하여 불필요한 렌더링 방지

* feat: 로그인 기능구현 (#52)

* feat: 소셜로그인 및 회원가입 연결
- 소셜 로그인, 회원가입 시 리디렉션 페이지 연동 완료
- 유저정보 저장 진행 중

* feat:편지 작성 페이지 1차 기능구현 (#47)

* feat:편지전송 답장 post api 연결완료

* feat:매칭된 편지 작성시 api 분기 구현

* feat:카테고리 페이지 페이지 뒤로가기 버튼 제거 + 이전단계 위치 조정

* feat:옵션 모달 외부 클릭시 슬라이드 닫히는 로직 구현

* feat: 편지작성 페이지 전역변수 편지전송 관련 request값들 객체형태로 통일

* fix:코드리뷰 사항 수정

* feat:랜덤 편지 + 편지 상세 1차 기능 구현 (#46)

* feat:편지 상세 페이지 삭제 모달 추가

* chore:기존 파일들 컴포넌트파일로 이동

* feat:쿨타임 컴포넌트 생성 + 랜덤편지 타입 수정

* feat:차단된 편지 버튼 disabled처리

* feat:편지 상세보기 모달 생성(매칭편지는 상세페이지와 분리)

* fix:쿨타임 페이지 letterWrapper 적용

* feat:편지 상세, 랜덤 편지 api throw error 예외처리 추가

* feat:편지 매칭 제한시간 구현

* feat:랜덤편지 페이지 매칭 제한시간, 쿨타임 로직 구현

* feat:랜덤편지 페이지 편지 매칭 제한시간, 쿨타임 시간 구현

* feat:매칭된 편지 전달시 location값 전달처리({randomMatched: true})

* feat:코드리뷰 사항 수정

* feat: 로그인 기능 임시 구현
- API 완성 되지 않음 : 논의된 부분을 바탕으로 임시로 제작함(작동 안함)
- 토큰을 전달 받기 위해 권한 상태 페이지 추가(보여주기 위한 용도가 아니라 쿼리문으로 토큰 전달을 위한 목적)

* feat: logout API 추가

* test: 로그인 테스트용 임시 커밋

* refactor: API 변경 사항 수정 반영, 토큰관련 interceptor 문 수정
- API 수정 반영하여 오류 사항들 수정
- 기존 interceptor 문에 오류가 있어서 수정
- AuthCallback Page에서 회원정보 설정 및 우편번호 발급

* test: 탈퇴 처리 테스트

* Perf: 내 편지함 탄스택 쿼리 적용 (#50)

* fix: 모바일에서 gradient 보이지 않는 문제 해결

* refactor: 내 편지함 및 상세 querykey 적용
- useState을 삭제 하고 데이터 관리 및 성능 최적화를 위해 tanstack query 적용

* fix: 편지 상세 무한 스크롤 오류 수정
- 마지막 편지 보일 시 새로 페이징 하는 로직을 response data에 맞게 수정
- react-intersection-observer 라이브러리를 이용하여 마지막 요소가 view에 들어오는지 확인

* fix: 내 편지함 디자인 보이지 않는 문제 해결
- gradietn class에 !important를 적용

---------

Co-authored-by: nirii00 <[email protected]>

* feat: 소셜로그인 및 회원가입 연결
- 소셜 로그인, 회원가입 시 리디렉션 페이지 연동 완료
- 유저정보 저장 진행 중

* Fix: intercepter 오류 해결
- intercepter retry 코드 빠진 부분 수정
- header에 잘못 설정 하는 부분 수정

* feat: 마이페이지 로그아웃 적용
- 로그아웃 테스트를 위해 마이페이지에 로그아웃 기능을 먼저 구현했습니다!

* Update src/pages/Auth/index.tsx

refac: 코드 개선

Co-authored-by: Minha Ahn <[email protected]>

* refactor: 코드 리뷰 반영
- 로그인 타입 파일 만듦
- logout 중복 선언 정리
- myPage 탈퇴 추가, p 태그 -> 버튼
- useAuthState 상태 가져오는 코드 수정

* refactor: myPage 오타 수정

---------

Co-authored-by: nirii00 <[email protected]>
Co-authored-by: wldnjs990 <[email protected]>
Co-authored-by: Minha Ahn <[email protected]>

* FIx, Feat: 로그인 기능 버그 수정, 권한별 접근 페이지 기능 추가 (#56)

* Fix: reissue 요청 수정

* Fix: 무한 response intercept 수정
- 요청 queue 포함

* feat: 권한별 접근 페이지 기능 추가
- PrivateRoute 추가하여 로그인된 사용자만 접근 가능하도록 설정
- AuthCallbackPage 임의로 접근시 home, login redirection 추가
- 로그인된 사용자는 login 접근 불가
- TODO
  - [ ] : intercepters.response에서 reissue 실패하는 경우 기존 api 함수에 catch로 에러 전달이 안되는 것 같음(추가로 문제 상황을 확인)

---------

Co-authored-by: nirii00 <[email protected]>

* feat: deploy.yml 생성

- main branch 자동 배포를 위해 프로젝트 빌드 및 deploy.yml 파일 생성
  - secret key 등록
  - 캐시 값을 바탕으로 패키지 설치 확인
- strictMode 활성화

* fix: pnpm install 에러 수정

* fix: 빌드 폴더 경로 수정

* Fix: 환경 변수 설정 추가

---------

Co-authored-by: Minha Ahn <[email protected]>
Co-authored-by: wldnjs990 <[email protected]>
Co-authored-by: nirii00 <[email protected]>
Co-authored-by: Seungyeon Han (Tiffany) <[email protected]>
wldnjs990 added a commit that referenced this pull request Mar 4, 2025
* design: 모바일 뷰 기본 틀 설정 (#2)

* chore: mui icon 라이브러리 설치

* design: 최대 너비 600px 제한

* design: 모바일 viewport 문제 개션을 위한 훅 추가

* design: 마이페이지 퍼블리싱 (#8)

* design: 마이페이지 에셋 추가

* design: 마이페이지 퍼블리싱

* design: ConfirmModal 컴포넌트 구현 및 탈퇴 모달 적용

* design: 모달 배경 이미지 적용

* design: 모달 컴포넌트 버튼 비율 동일하도록 수정

* refactor: 중복되는 버튼 디자인 스타일 클래스로 분리

* design: 배경 오버레이 이미지 추가

* fix: useViewport 계산 상수 수정

* feat: 온도에 맞는 텍스트 보여주는 함수 추가

* refactor: hn 태그 적용

* refactor: Header 컴포넌트를 공통 레이아웃으로 분리

* refactor: 모달 오버레이 공통 컴포넌트로 분리

* design: 알림페이지 퍼블리싱 (#10)

* design: 알림 페이지 에셋 추가

* feat: 알림 아이콘 - 알림 페이지 라우팅 연결

* design: 경고 모달창 퍼블리싱

* design: 알림 페이지 퍼블리싱

* design: 페이지 상단 간격 수정

* refactor: 레이아웃 컴포넌트 구조 수정

* design: 편지작성 페이지 퍼블리싱 (#13)

* design:편지 작성 페이지 작업 시작

* design:폰트 css 추가

* design:편지 작성 페이지 작업중

* design:글 작성 페이지 관련 이미지

* design:애니메이션 요소, 테마 제외한 퍼블리싱 완료

* design:편지지 테마선택 퍼블리싱 완료

* refactor:타입명 파스칼 케이스로 변경 & 상수명 대문자로 변경 & 타입 export import문 제거 & 몇몇 코드 상수파일 통합 & 타입파일 types폴더로 이동

* refactor:코드리뷰 수정사항 적용

* design:편지작성 완료 애니메이션 구현

* design:고민편지 작성 결과에도 애니메이션 적용 & ResultLetter 컴포넌트 공용 컴포넌트로 이동

* design: 게시판 퍼블리싱 (#14)

* design: 편지 게시판 페이지 내 편지 미리보기 컴포넌트 퍼블리싱

* design: 롤링페이퍼 공지 컴포넌트 퍼블리싱

* design: 편지 공유 게시판 퍼블리싱

* refactor: ConfirmModal 배경 이미지 삽입 방식 개선

* rename: 파일명 형식 통일을 위한 에셋 파일명 수정

* design: 롤링페이퍼 편지 컴포넌트 퍼블리싱

* design: 롤링페이퍼 페이지 퍼블리싱

* refactor: ModalOverlay 컴포넌트로 모달의 외부 영역 클릭 로직 이동

* design: 롤링페이퍼 페이지 메시지 상세조회 모달 퍼블리싱

* design: 모달 활성화 시, 스크롤이 안되도록 수정

* design: 신고 모달 컴포넌트 퍼블리싱

* design: 롤링페이퍼 메사지 추가 모달 버픕ㄹ리싱

* design: Header 컴포넌트 position을 fixed로 변경

* refactor: 하단 배경 컴포넌트로 분리

* design: 마이페이지 중 내가 올린 게시물 페이지 퍼블리싱

* design: 게시판 상세 페이지의 편지 컴포넌트 퍼블리싱

* design: 편지 공유 게시글 상세 페이지 퍼블리싱

* feat: 게시글 상세 페이지 헤더 컴포넌트 뒤로가기 기능 추가

* remove: 중복 에셋 제거

* refactor: 중복 스타일 코드 utilities로 분리

* design: 내 편지함 페이지 퍼블리싱 (#16)

* design: 내 편지함 목록 페이지 퍼블리싱

* refactor: 리스트 디자인 컴포넌트로 분리

* design: 컴포넌트 props명 수정 및 sender, receiver 디자인 변경

* design: 내 편지함 상세 페이지 퍼블리싱

* refactor: 배경 이미지 삽입되는 로직 컴포넌트로 분리

* design: 필요한 모달 퍼블리싱 및 버튼과 연결

* rename: ListItemContainer -> ListItemWrapper로 컴포넌트명 수정

* refactor: 페이지 제목에 PageTitle 컴포넌트 적용

* design : 랜덤 편지 페이지 & 편지 상세 페이지 퍼블리싱 (#17)

* design:랜덤편지 메인화면, 편지선택 모달 퍼블리싱

* chore:스와이퍼 설치

* design:랜덤 편지 페이지 스와이퍼 적용

* design:편지 상세보기 퍼블리싱

* design:편지 작성 페이지 레이아웃 관련 수정

* design:랜덤편지 페이지 퍼블리싱

* design:편지 상세 페이지 퍼블리싱

* design:랜덤편지 세부사항 수정 & 공용 컴포넌트들로 코드 수정

* refactor:코드리뷰 수정사항 반영

* design: 온보딩 페이지 퍼블리싱 (#18)

* design: 온보딩 페이지 퍼블리싱

우편번호 페이지 퍼블리싱 완료
우편번호 애니메이션 구현 완료
애니메이션 페이지 퍼블리싱 완료
애니메이션 페이지 구현 중
관리자 편지는 컴포넌트 제작 후 라우팅 연결할 예정

* design: 게시판 퍼블리싱 (#14)

* design: 편지 게시판 페이지 내 편지 미리보기 컴포넌트 퍼블리싱

* design: 롤링페이퍼 공지 컴포넌트 퍼블리싱

* design: 편지 공유 게시판 퍼블리싱

* refactor: ConfirmModal 배경 이미지 삽입 방식 개선

* rename: 파일명 형식 통일을 위한 에셋 파일명 수정

* design: 롤링페이퍼 편지 컴포넌트 퍼블리싱

* design: 롤링페이퍼 페이지 퍼블리싱

* refactor: ModalOverlay 컴포넌트로 모달의 외부 영역 클릭 로직 이동

* design: 롤링페이퍼 페이지 메시지 상세조회 모달 퍼블리싱

* design: 모달 활성화 시, 스크롤이 안되도록 수정

* design: 신고 모달 컴포넌트 퍼블리싱

* design: 롤링페이퍼 메사지 추가 모달 버픕ㄹ리싱

* design: Header 컴포넌트 position을 fixed로 변경

* refactor: 하단 배경 컴포넌트로 분리

* design: 마이페이지 중 내가 올린 게시물 페이지 퍼블리싱

* design: 게시판 상세 페이지의 편지 컴포넌트 퍼블리싱

* design: 편지 공유 게시글 상세 페이지 퍼블리싱

* feat: 게시글 상세 페이지 헤더 컴포넌트 뒤로가기 기능 추가

* remove: 중복 에셋 제거

* refactor: 중복 스타일 코드 utilities로 분리

* design: 내 편지함 페이지 퍼블리싱 (#16)

* design: 내 편지함 목록 페이지 퍼블리싱

* refactor: 리스트 디자인 컴포넌트로 분리

* design: 컴포넌트 props명 수정 및 sender, receiver 디자인 변경

* design: 내 편지함 상세 페이지 퍼블리싱

* refactor: 배경 이미지 삽입되는 로직 컴포넌트로 분리

* design: 필요한 모달 퍼블리싱 및 버튼과 연결

* rename: ListItemContainer -> ListItemWrapper로 컴포넌트명 수정

* refactor: 페이지 제목에 PageTitle 컴포넌트 적용

* design: 온보딩 페이지 편지 애니메이션 구현

- 온보딩 페이지에서 편지 애니메이션 구현
- TODO: 모바일 뷰 확인
- TODO: 편지 상세 링크

* design : 랜덤 편지 페이지 & 편지 상세 페이지 퍼블리싱 (#17)

* design:랜덤편지 메인화면, 편지선택 모달 퍼블리싱

* chore:스와이퍼 설치

* design:랜덤 편지 페이지 스와이퍼 적용

* design:편지 상세보기 퍼블리싱

* design:편지 작성 페이지 레이아웃 관련 수정

* design:랜덤편지 페이지 퍼블리싱

* design:편지 상세 페이지 퍼블리싱

* design:랜덤편지 세부사항 수정 & 공용 컴포넌트들로 코드 수정

* refactor:코드리뷰 수정사항 반영

* refactor: pr 피드백 반영

- 이미지 에셋 정리
- animation 파일 분리
- css 충돌 해결
- spinner -> containerRef 오류 수정

---------

Co-authored-by: nirii00 <[email protected]>
Co-authored-by: Minha Ahn <[email protected]>
Co-authored-by: wldnjs990 <[email protected]>

* design: 홈 페이지 퍼블리싱  (#19)

* design: 홈 페이지 에셋 추가

* design: 홈 페이지 퍼블리싱

* design: 홈 페이지 모달 퍼블리싱

* design: 홈 페이지 퍼블리싱

* design: 홈 페이지 모달 퍼블리싱

* refactor: package-json 삭제

* refactor: ModalOverlay 컴포넌트 새 속성에 맞춰 모달 정리

* fix: import 오류 해결

* refactor: SpecialLetterBanner 애니메이션 animation.css로 분리

* design: Home에서 grow 적용으로 불필요한 h-screen 제거

* rename: 에셋 파일명을 케밥 케이스로 변경

* remove: 필요없는 에셋 삭제

* fix: 이미지 경로 import 방식 수정

* refactor: 버튼 컴포넌트 반복 로직 개선

* style: HomeRight 레이아웃 수정

* refactor: max-w 값 수정 및 불필요한 삼항 연산자 제거

* rename: Navbar를 HomeHeader로 대체

* rename: 홈 페이지 배경 이미지 업데이트

* fix: 모바일 및 웹에서 레이아웃 오류 해결, 홈 페이지 구조 리팩토링

* design: 홈 페이지 왼쪽 배경 width 조정

* design: SpecialLetterBanner width 조정

* design: 게시판 이미지 버튼 width 조정

* fix: coflict 오류 해결

* design: 로그인 및 랜딩 페이지 퍼블리싱 (#22)

* design: 전체 배경 그라데이션 삽입

* design: 로그인 페이지 에셋 추가

* design: 로그인 페이지 퍼블리싱

* design: 로그인 페이지 에셋 변경 및 반영

* design: 랜딩페이지 퍼블리싱

* remove: 불필요한 에셋 제거

* remove: 중복 에셋 제거

* refactor: 로그인 아이콘에 aria-label 추가

* style: 랜딩페이지 원 크기 수정

* design: 홈 페이지 공유 미리보기 퍼블리싱  (#25)

* fix: 홈 페이지 게시판 라우팅 오류 해결

* fix: 랜덤 응원 메시지 z-index 조정으로 클릭 안되는 오류 해결

* design: 홈 페이지 공유 미리보기 에셋 추가

* design: 홈 페이지 공유 미리보기 퍼블리싱

* fix: 랜덤 응원 메시지가 모달보다 위로 뜨는 오류 해결

* remove: landing blur 중복 에셋 삭제

* fix: landing blur 에셋 import 경로 수정

* design, feat, chore : 편지 작성 페이지 추가 퍼블리싱 + 기능구현 + API연결 + 관리자페이지 퍼블리싱 (#28)

* design : 카테고리 버튼 사이즈 full로 변경

* design : 옵션 슬라이드 바텀시트 애니메이션 구현(약간 미완)

* refactor:관리자 / 모바일용 레이아웃 분리

* design : 관리자 페이지 퍼블리싱

* design:관리자 페이지 퍼블리싱

* refactor : 폰트 선택 모달 아이콘 svgr 변경 + 목API 형식에 맞춰 타입 수정 + API 연결 작업 90% 완료

* feat:글작성 페이지 쿼리스트링으로 이전편지 가져오기 API연결

* feat:편지 상세 페이지 API 데이터바인딩 90%완료(유저 우편번호 데이터 필요)

* feat:편지삭제 api 생성

* feat:글작성, 상세 페이지 뒤로가기 버튼 + 상세페이지 글 삭제 버튼 추가

* refactor : ResultLetter 타입 변경

* feat:글 작성 페이지 네비게이션 가드 테스트

* fix:코드리뷰 수정사항 반영

* feat: 내 편지함 기능 구현 1차 (#30)

* feat: 내 편지함, 상세 기능 구현 1차
- 내 편지함 기능구현
  - 렌더링
  - 3의 배수가 아닌 경우 이미지 추가
  - 아무것도 없을 때 노트 추가
- 내 편지함 상세 기능 구현
  - 공유 작성 및 전송
  - 편지 리스트 렌더링
  - 상대방 차단하기
- TODO
  - [ ] tanstackQuery 적용
  - [ ] 무한 스크롤? 적용할지?
  - [ ] 상태관리 확인하기

* refactor: API 컨벤션 통일

- API 파일이름 수정
- api.ts 삭제

* refactor: merge 후 오류 해결

---------

Co-authored-by: nirii00 <[email protected]>

* design: 404 페이지 디자인 (#33)

- 404 페이지 퍼블리싱
- 홈으로 가는 버튼 추가

Co-authored-by: nirii00 <[email protected]>

* feat: 롤링페이퍼 기능 구현 (mock api) (#35)

* feat: Tanstack query를 이용한 데이터 가져오는 커스텀 훅 useFetchQuery 구현

* feat: NoticeRollingPaper에 데이터 패칭 적용
- NoticeRolling -> NoticeRollingPaper로 컴포넌트 명 수정

* feat: 홈 페이지에 공용 컴포넌트 적용

* rename: MessageDetailModal -> CommentDetailModal 컴포넌트 명 수정

* rename: Message -> Comment 컴포넌트 명 수정

* feat: 롤링페이퍼 조회 기능 구현

* refactor: 중복되는 배경 컴포넌트 적용 및 불필요한 에셋 제거

* refactor: 중복되는 메모 배경 컴포넌트 적용 및 불필요한 에셋 제거

* remove: 중복 에셋 제거

* refactor: 중복되는 모달 배경 컴포넌트 적용 및 불필요한 에셋 제거

* style: 커스텀 훅 제거 및 queryClient 기본값 설정

* feat: 삭제 모달 추가 및 삭제 mock api 연결

* feat: 편지 추가 mock api 연결

* fix: 신고 ui 제거

* style: 사용하지 않는 코드 제거

* style: 엔드포인트 오타 수정

* style: 더미 제거

* feat: 오고 있는 편지 조회 기능 구현 (mock api) (#36)

* style: 홈 페이지 eslint 오류 해결

* remove: 사용하지 않는 파일 삭제

* feat: 오고 있는 편지 조회 mock api 연결

* feat: 오고 있는 편지 클릭 시 편지 상세 페이지로 이동

* feat: 편지 목록 높이 자동 조정 및 스크롤 기능 추가

* fix: 랜덤 응원 메시지 모달 위로 뜨는 오류 해결

* fix: 오고 있는 편지 클릭 시 편지 미리보기로 이동하는 라우팅 오류 해결

* feat: 오고 있는 편지 목록에서 시간이 다 된 항목을 자동으로 삭제하는 기능 추가

* refactor: 오고 있는 편지 파일 구조 수정

* style: 오고 있는 편지 함수 선언을 화살표 함수로 변환

* feat: 새로 도착한 편지 개수 계산 구현

* feat: 마이페이지 내 정보 조회 기능 구현 (mock api) (#39)

* feat: 마이페이지 내 정보 조회 기능 구현

* fix: merge conflict 해결

* fix: 온보딩 애니메이션 오류 해결 (#41)

- 온보딩 편지 애니메이션 모바일 오류 해결
- 온보딩 단계에 따른 상태관리
- 온보딩이 끝난 후 홈으로 이동

Co-authored-by: nirii00 <[email protected]>

* feat:관리자 페이지 1차 기능 구현 (#43)

* feat:관리자 페이지 신고기능 구현완료(페이지네이션 제외)

* feat:관리자 페이지 검열관리 필터링 기능 개발중(검열 단어 추가 구현중)

* feat:필터링 단어 추가기능 목api연결 완료(단어 삭제는 목api가 안만들어짐) + 차단 편지목록 퍼블리싱

* chore:badwords, filteredLetter 라우팅 분리 + 사이드바 버튼에 라우팅 연결

* feat:편지 작성 페이지 1차 기능구현 (#47)

* feat:편지전송 답장 post api 연결완료

* feat:매칭된 편지 작성시 api 분기 구현

* feat:카테고리 페이지 페이지 뒤로가기 버튼 제거 + 이전단계 위치 조정

* feat:옵션 모달 외부 클릭시 슬라이드 닫히는 로직 구현

* feat: 편지작성 페이지 전역변수 편지전송 관련 request값들 객체형태로 통일

* fix:코드리뷰 사항 수정

* feat:랜덤 편지 + 편지 상세 1차 기능 구현 (#46)

* feat:편지 상세 페이지 삭제 모달 추가

* chore:기존 파일들 컴포넌트파일로 이동

* feat:쿨타임 컴포넌트 생성 + 랜덤편지 타입 수정

* feat:차단된 편지 버튼 disabled처리

* feat:편지 상세보기 모달 생성(매칭편지는 상세페이지와 분리)

* fix:쿨타임 페이지 letterWrapper 적용

* feat:편지 상세, 랜덤 편지 api throw error 예외처리 추가

* feat:편지 매칭 제한시간 구현

* feat:랜덤편지 페이지 매칭 제한시간, 쿨타임 로직 구현

* feat:랜덤편지 페이지 편지 매칭 제한시간, 쿨타임 시간 구현

* feat:매칭된 편지 전달시 location값 전달처리({randomMatched: true})

* feat:코드리뷰 사항 수정

* Perf: 내 편지함 탄스택 쿼리 적용 (#50)

* fix: 모바일에서 gradient 보이지 않는 문제 해결

* refactor: 내 편지함 및 상세 querykey 적용
- useState을 삭제 하고 데이터 관리 및 성능 최적화를 위해 tanstack query 적용

* fix: 편지 상세 무한 스크롤 오류 수정
- 마지막 편지 보일 시 새로 페이징 하는 로직을 response data에 맞게 수정
- react-intersection-observer 라이브러리를 이용하여 마지막 요소가 view에 들어오는지 확인

* fix: 내 편지함 디자인 보이지 않는 문제 해결
- gradietn class에 !important를 적용

---------

Co-authored-by: nirii00 <[email protected]>

* feat: 편지 게시글 공유 기능 구현 (mock api) (#53)

* feat: 공유 게시글 목록 조회 기능 구현

* feat: 공유 게시글 상세 조회 기능 구현

* feat: 게시글 공유 요청 수락/거절 기능 구현

* perf: NewLetterModal의 불필요한 api 호출 제거

* fix: HomeRight의 useEffect 의존성 배열에 fetchIncomingLetters 추가

* fix: 공유 편지 미리보기에서 텍스트와 버튼이 겹쳐보이는 오류 해결

* refactor: hasNewLetters 로컬 상태 제거 및 arrivedCount 전역 상태로 대체

* fix: 특정 모바일 크기에서 내 편지함이 가려져 잘 안 보이는 오류 해결

* fix: 특정 모바일 크기에서 게시판이 잘 안 보이는 오류 해결

* design: 홈 페이지 공유 요청 모달에 스크롤 기능 추가

* style: 불필요한 console.log 삭제

* refactor: 테스트용 코드 삭제

* refactor: 'Letter' 인터페이스 이름을 'ShareLetter'로 변경

* fix: selector로 필요한 값만 불러오도록 수정하여 불필요한 렌더링 방지

* feat: 로그인 기능구현 (#52)

* feat: 소셜로그인 및 회원가입 연결
- 소셜 로그인, 회원가입 시 리디렉션 페이지 연동 완료
- 유저정보 저장 진행 중

* feat:편지 작성 페이지 1차 기능구현 (#47)

* feat:편지전송 답장 post api 연결완료

* feat:매칭된 편지 작성시 api 분기 구현

* feat:카테고리 페이지 페이지 뒤로가기 버튼 제거 + 이전단계 위치 조정

* feat:옵션 모달 외부 클릭시 슬라이드 닫히는 로직 구현

* feat: 편지작성 페이지 전역변수 편지전송 관련 request값들 객체형태로 통일

* fix:코드리뷰 사항 수정

* feat:랜덤 편지 + 편지 상세 1차 기능 구현 (#46)

* feat:편지 상세 페이지 삭제 모달 추가

* chore:기존 파일들 컴포넌트파일로 이동

* feat:쿨타임 컴포넌트 생성 + 랜덤편지 타입 수정

* feat:차단된 편지 버튼 disabled처리

* feat:편지 상세보기 모달 생성(매칭편지는 상세페이지와 분리)

* fix:쿨타임 페이지 letterWrapper 적용

* feat:편지 상세, 랜덤 편지 api throw error 예외처리 추가

* feat:편지 매칭 제한시간 구현

* feat:랜덤편지 페이지 매칭 제한시간, 쿨타임 로직 구현

* feat:랜덤편지 페이지 편지 매칭 제한시간, 쿨타임 시간 구현

* feat:매칭된 편지 전달시 location값 전달처리({randomMatched: true})

* feat:코드리뷰 사항 수정

* feat: 로그인 기능 임시 구현
- API 완성 되지 않음 : 논의된 부분을 바탕으로 임시로 제작함(작동 안함)
- 토큰을 전달 받기 위해 권한 상태 페이지 추가(보여주기 위한 용도가 아니라 쿼리문으로 토큰 전달을 위한 목적)

* feat: logout API 추가

* test: 로그인 테스트용 임시 커밋

* refactor: API 변경 사항 수정 반영, 토큰관련 interceptor 문 수정
- API 수정 반영하여 오류 사항들 수정
- 기존 interceptor 문에 오류가 있어서 수정
- AuthCallback Page에서 회원정보 설정 및 우편번호 발급

* test: 탈퇴 처리 테스트

* Perf: 내 편지함 탄스택 쿼리 적용 (#50)

* fix: 모바일에서 gradient 보이지 않는 문제 해결

* refactor: 내 편지함 및 상세 querykey 적용
- useState을 삭제 하고 데이터 관리 및 성능 최적화를 위해 tanstack query 적용

* fix: 편지 상세 무한 스크롤 오류 수정
- 마지막 편지 보일 시 새로 페이징 하는 로직을 response data에 맞게 수정
- react-intersection-observer 라이브러리를 이용하여 마지막 요소가 view에 들어오는지 확인

* fix: 내 편지함 디자인 보이지 않는 문제 해결
- gradietn class에 !important를 적용

---------

Co-authored-by: nirii00 <[email protected]>

* feat: 소셜로그인 및 회원가입 연결
- 소셜 로그인, 회원가입 시 리디렉션 페이지 연동 완료
- 유저정보 저장 진행 중

* Fix: intercepter 오류 해결
- intercepter retry 코드 빠진 부분 수정
- header에 잘못 설정 하는 부분 수정

* feat: 마이페이지 로그아웃 적용
- 로그아웃 테스트를 위해 마이페이지에 로그아웃 기능을 먼저 구현했습니다!

* Update src/pages/Auth/index.tsx

refac: 코드 개선

Co-authored-by: Minha Ahn <[email protected]>

* refactor: 코드 리뷰 반영
- 로그인 타입 파일 만듦
- logout 중복 선언 정리
- myPage 탈퇴 추가, p 태그 -> 버튼
- useAuthState 상태 가져오는 코드 수정

* refactor: myPage 오타 수정

---------

Co-authored-by: nirii00 <[email protected]>
Co-authored-by: wldnjs990 <[email protected]>
Co-authored-by: Minha Ahn <[email protected]>

* FIx, Feat: 로그인 기능 버그 수정, 권한별 접근 페이지 기능 추가 (#56)

* Fix: reissue 요청 수정

* Fix: 무한 response intercept 수정
- 요청 queue 포함

* feat: 권한별 접근 페이지 기능 추가
- PrivateRoute 추가하여 로그인된 사용자만 접근 가능하도록 설정
- AuthCallbackPage 임의로 접근시 home, login redirection 추가
- 로그인된 사용자는 login 접근 불가
- TODO
  - [ ] : intercepters.response에서 reissue 실패하는 경우 기존 api 함수에 catch로 에러 전달이 안되는 것 같음(추가로 문제 상황을 확인)

---------

Co-authored-by: nirii00 <[email protected]>

* feat: deploy.yml 생성

- main branch 자동 배포를 위해 프로젝트 빌드 및 deploy.yml 파일 생성
  - secret key 등록
  - 캐시 값을 바탕으로 패키지 설치 확인
- strictMode 활성화

* fix: pnpm install 에러 수정

* fix: 빌드 폴더 경로 수정

* Fix: 환경 변수 설정 추가

* fix: 캐시가 존재해도 pnpm install 실행되도록 수정

- pnpm 모듈 캐시가 hit될 경우 install이 실행되지 않아 빌드가 실패하는 문제를 해결
- 캐시가 존재하더라도 `pnpm install --frozen-lockfile`을 실행하여 의존성을 보장

---------

Co-authored-by: Minha Ahn <[email protected]>
Co-authored-by: wldnjs990 <[email protected]>
Co-authored-by: nirii00 <[email protected]>
Co-authored-by: Seungyeon Han (Tiffany) <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🎨 Design 디자인 이슈

Projects

None yet

Development

Successfully merging this pull request may close these issues.

design : 편지 작성 페이지 퍼블리싱

3 participants