Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Feat/landing notification onboarding improvements: 랜딩페이지 수정, 앱 내 채팅 알림 제거, 온보딩 관련 업데이트 #139

Merged
merged 5 commits into from
Sep 26, 2024

Conversation

nnyouung
Copy link
Contributor

개요

랜딩페이지 수정, 앱 내 채팅 알림 제거, 온보딩 관련 업데이트

수정사항

  • 랜딩페이지에 강조 이미지 추가 및 작은 화면 스타일 조정
  • 푸시알림 토큰 변경 및 앱 내 채팅 알림 제거
  • 온보딩 단계에서 사용자가 선택했던 정보 저장
  • 온보딩 mbti 페이지에서 선택한 mbti와 다른 mbti 선택 시 즉시 변경 기능 추가

자세한 내용은 커밋 참고 부탁드립니다!

테스트 화면

랜딩페이지에 강조 이미지 추가 및 작은 화면 스타일 조정

ScreenRecording_09-25-2024.04-25-58_1.MP4



푸시알림 토큰 변경 및 앱 내 채팅 알림 제거

ScreenRecording_09-25-2024.04-19-25_1.MOV



온보딩 단계에서 사용자가 선택했던 정보 저장

2.MP4
ScreenRecording_09-25-2024.5.MOV
ScreenRecording_09-25-2024.6.MOV



온보딩 mbti 페이지에서 선택한 mbti와 다른 mbti 선택 시 즉시 변경 기능 추가

ScreenRecording_09-25-2024.04-05-44_1.MP4

수정사항
- LandingPage.jsx, LandingStyles.jsx, chat_bubble.png, profile.png
  - 강조 이미지 추가
  - 작은 화면을 고려한 스타일 조정
수정사항
- LoginPage.js
  - 푸시알림 토큰 변경
- NotificationPage.js, NotificationCard.js
  - 앱 내에 채팅 알림을 표시하지 않도록 수정
수정사항
- ProfilePage.js, ProfileMbtiPage.js, ProfileHobbyPage.js, ProfileLanguagePage.js
  - 이전 페이지에서 해당 페이지로 돌아올 때 사용자가 선택했던 정보를 저장하도록 수정
- FilterCategory.js
  - 선택한 mbti와 취미/관심사를 시각적으로 보여줄 수 있도록 수정
- OnboardingContext.js
  - 언어 페이지에서 사용하는 체크박스 선택 정보를 저장하기 위해 checkLanguages 추가
Copy link
Contributor

@seungholee-dev seungholee-dev left a comment

Choose a reason for hiding this comment

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

고생하셨습니다 :)

updateOnboardingData({ hobbies: selectedHobby });
}, [selectedHobby]);

const handleDataSave = () => {
Copy link
Contributor

Choose a reason for hiding this comment

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

함수 내부의 내용이 더 이상 데이터 저장을 하는 것이 아니라, navigate하는 것이니, handleNavigateNext나 은영님이 생각하셨을 때 좋은 이름으로 바꾸면 더 좋을 것 같아요!

Copy link
Contributor Author

Choose a reason for hiding this comment

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

피드백 감사해요 수정해서 커밋 올려놨습니다!

@nnyouung nnyouung merged commit cb5b794 into dev Sep 26, 2024
1 check passed
@nnyouung nnyouung deleted the feat/landing-notification-onboarding-improvements branch September 26, 2024 10:39
nnyouung added a commit that referenced this pull request Sep 27, 2024
* Feat/landing notification onboarding improvements: 랜딩페이지 수정, 앱 내 채팅 알림 제거, 온보딩 관련 업데이트 (#139)

* style: 랜딩페이지에 강조 이미지 추가 및 작은 화면 스타일 조정

수정사항
- LandingPage.jsx, LandingStyles.jsx, chat_bubble.png, profile.png
  - 강조 이미지 추가
  - 작은 화면을 고려한 스타일 조정

* feat: 푸시알림 토큰 변경 및 앱 내 채팅 알림 제거

수정사항
- LoginPage.js
  - 푸시알림 토큰 변경
- NotificationPage.js, NotificationCard.js
  - 앱 내에 채팅 알림을 표시하지 않도록 수정

* feat: 온보딩 단계에서 사용자가 선택했던 정보 저장

수정사항
- ProfilePage.js, ProfileMbtiPage.js, ProfileHobbyPage.js, ProfileLanguagePage.js
  - 이전 페이지에서 해당 페이지로 돌아올 때 사용자가 선택했던 정보를 저장하도록 수정
- FilterCategory.js
  - 선택한 mbti와 취미/관심사를 시각적으로 보여줄 수 있도록 수정
- OnboardingContext.js
  - 언어 페이지에서 사용하는 체크박스 선택 정보를 저장하기 위해 checkLanguages 추가

* feat: 온보딩 mbti 페이지에서 선택한 mbti와 다른 mbti 선택 시 즉시 변경 기능 추가

* refactor: handleDataSave 함수 제거 및 onPress에 네비게이션 직접 연결

* Refactor/change image api to: 이름 기반 이미지 조회 API를 ID 기반 조회 API로 변경 (#141)

* refactor: 커뮤니티 세션에서 이름 기반 이미지 조회를 ID 기반 조회로 변경

* refactor: 멤버 페이지의 마이페이지 조회 api에서 가져오던 presignURL 조회 방식을 ID 기반 조회로 변경

* refector:  멤버 및 채팅 세션에서 이름 기반 이미지 조회를 ID 기반 조회로 변경

* fix: 프로필 이미지가 없는 사용자로 인한 채팅 세션 오류 해결 및 불필요한 주석 삭제

* refactor: 홈 세션에서 이름 기반 이미지 조회를 ID 기반 조회로 변경

* feat: 홈 카드 스와이프 제스처 추가 (#142)

* feat: 홈 카드 스와이프 제스처 추가

* style: Prettier & ESLint 적용
nnyouung added a commit that referenced this pull request Sep 27, 2024
* Feat/landing notification onboarding improvements: 랜딩페이지 수정, 앱 내 채팅 알림 제거, 온보딩 관련 업데이트 (#139)

* style: 랜딩페이지에 강조 이미지 추가 및 작은 화면 스타일 조정

수정사항
- LandingPage.jsx, LandingStyles.jsx, chat_bubble.png, profile.png
  - 강조 이미지 추가
  - 작은 화면을 고려한 스타일 조정

* feat: 푸시알림 토큰 변경 및 앱 내 채팅 알림 제거

수정사항
- LoginPage.js
  - 푸시알림 토큰 변경
- NotificationPage.js, NotificationCard.js
  - 앱 내에 채팅 알림을 표시하지 않도록 수정

* feat: 온보딩 단계에서 사용자가 선택했던 정보 저장

수정사항
- ProfilePage.js, ProfileMbtiPage.js, ProfileHobbyPage.js, ProfileLanguagePage.js
  - 이전 페이지에서 해당 페이지로 돌아올 때 사용자가 선택했던 정보를 저장하도록 수정
- FilterCategory.js
  - 선택한 mbti와 취미/관심사를 시각적으로 보여줄 수 있도록 수정
- OnboardingContext.js
  - 언어 페이지에서 사용하는 체크박스 선택 정보를 저장하기 위해 checkLanguages 추가

* feat: 온보딩 mbti 페이지에서 선택한 mbti와 다른 mbti 선택 시 즉시 변경 기능 추가

* refactor: handleDataSave 함수 제거 및 onPress에 네비게이션 직접 연결

* Refactor/change image api to: 이름 기반 이미지 조회 API를 ID 기반 조회 API로 변경 (#141)

* refactor: 커뮤니티 세션에서 이름 기반 이미지 조회를 ID 기반 조회로 변경

* refactor: 멤버 페이지의 마이페이지 조회 api에서 가져오던 presignURL 조회 방식을 ID 기반 조회로 변경

* refector:  멤버 및 채팅 세션에서 이름 기반 이미지 조회를 ID 기반 조회로 변경

* fix: 프로필 이미지가 없는 사용자로 인한 채팅 세션 오류 해결 및 불필요한 주석 삭제

* refactor: 홈 세션에서 이름 기반 이미지 조회를 ID 기반 조회로 변경

* feat: 홈 카드 스와이프 제스처 추가 (#142)

* feat: 홈 카드 스와이프 제스처 추가

* style: Prettier & ESLint 적용

* fix: 빌드 오류 수정을 위한 sentry 비활성화 및 i18n 설정 추가 (#145)
nnyouung added a commit that referenced this pull request Oct 2, 2024
* Feat/chat updates: 채팅 검색 후 뒤로가기, 채팅 및 북마크 번역 연결, 채팅방 모달, 채팅방 ui/ux 관련 업데이트 (#131)

* feat: 채팅 검색 기능 연결 및 검색 후 뒤로가기 기능 추가

수정사항
- api.js
  - 채팅 검색 api 연결
- ChattingPage.jsx, ChattingStyles.jsx
  - 채팅 검색 백엔드 연결
  - 검색 후 뒤로 가기 기능 추가

* feat: 채팅 세션 번역 라이브러리 적용

수정사항
- Bookmark.jsx, ChatInputSend.jsx, ModalNoBookmark.jsx, BookmarkPage.jsx, ChatRoomPage.jsx, ChattingPage.jsx, FriendListPage.jsx
  - 채팅 세션 번역 라이브러리 적용
  - 기본값 삭제
- src/translations/
  - 채팅 세션 번역 파일

* feat: 같은 사용자로부터 연속된 메시지에서 첫 번째 프로필 메시지 이후 들여쓰기 추가

* feat: 채팅 버블을 길게 눌렀을 때의 북마크, 복사, 신고 모달 기능 구현

수정사항
- api.js
  - 북마크 생성 백엔드 연결
- IconModalBookmark.jsx, IconModalCopy.jsx, src/components/chat/svg/
  - 모달에서 사용할 아이콘 제작
- ChatBubble.jsx, ModalMenuChat.jsx, ChatRoomPage.jsx
  - 채팅 버블을 길게 눌렀을 때의 북마크, 복사, 신고 모달 기능 구현
  - 북마크 기능을 위해 chatId 및 chatroomId 전달
- package.json, package-lock.json
  - 복사 기능을 위해 expo-clipboard 라이브러리 설치

* feat: 채팅 북마크 조회 및 번역 api 연결

수정사항
- api.js, BookmarkedPostPage.jsx, TabBookmarkPostPage.jsx
  - api 변수명 변경 및 변경에 따른 수정
- Bookmark.jsx, BookmarkPage.jsx
  - 채팅 북마크 조회 api 연결
  - 채팅 북마크 번역 api 연결

* feat: 채팅 번역 api 연결
- api.js
  - 채팅 번역 api 연결
- ChatBubble.jsx
  - 채팅 번역 api 연결 및 번역하기 기능 추가
  - 길게 눌렀을 때 진동 추가
- package.json, package-lock.json
  - 진동 기능을 위해 Expo Haptics 라이브러리 설치
- ModalMenuChat.jsx
  - 모달 위치 수정

* fix: 채팅 목록에서 닉네임이 안 보이던 문제 및 검색 시 키보드가 안 내려가는 문제 해결

* Fix/connect issues: 커넥트 페이지 문제 해결 (#132)

* style: 커넥트 요청 시 홈 화면 뒷면 문구 및 버튼 문구 변경

수정사항
- HomeCardBack.jsx
  - 커넥트 요청 시 문구를 '커넥트 요청하였습니다'로 변경
  - 커넥트 요청 시 버튼 문구를 ‘뒤로가기로 변경
- HomecardBackBtn.js
  - 조건문을 번역 라이브러리와 호환되도록 수정
- src/translations
  - 요청 완료 문구 추가

* fix: 커넥트 목록 페이지에서 목록 깜박거림 문제 수정

수정사항
- FriendListPage.jsx, RequestConnectListPage.jsx
  - 깜박거림 문제를 해결하기 위해 useEffect + 의존성 배열을 useFocusEffect + useCallback으로 변경

* Feat/password reset and landing update: 비밀번호 재설정 페이지 구현, 랜딩페이지 문구 및 이미지 교체 (#133)

* feat: 비밀번호 재설정 페이지 수정 및 구현

수정사항
- App.jsx
  - 비밀번호 재설정 페이지를 앱 내에 등록
- api.js
  - 비밀번호 재설정 api 연결
- LoginPage.js
  - 임시로 삭제했던 '비밀번호를 까먹었어요' 문구 복원
- FindPasswordPage.js, FindPasswordStyles.js, SetPasswordPage.jsx, SetPasswordStyles.jsx
  - 비밀번호 재설정 페이지 및 스타일 구현
- src/translations/
  - 비밀번호 재설정 페이지 번역 문구 추가

* style: 랜딩페이지 문구 및 이미지 교체

수정사항
- LandingPage.jsx, landing_chat.png, landing_community.png, landing_connect.png
  - 화질 개선된 이미지로 교체
- en.json, es.json
  - 긴 문구를 짧은 문구로 변경

* Fix/multiple improvements 2: 꿀팁게시판 json명, 댓글 익명을 기본으로 변경, 프로필 수정 페이지 한줄소개, 홈 카드 채팅 연결, 알림 관련 문제 해결 (#134)

* fix: 꿀팁게시판 json명 변경 및 댓글 익명을 기본으로 변경

수정사항
- PostPage.jsx
  - 댓글 입력창의 익명 여부를 기본 체크로 변경
- src/translations/, CommunityPage.jsx, PostModifyPage.jsx, TipCommunityPage.jsx
  - tipsBoard에서 tipBoard로 json명 변경에 따른 수정

* fix: 사용자가 한줄소개를 입력 안 했을 때, 프로필 수정 페이지에서 한줄소개 입력창이 안 뜨는 문제 해결

* feat: 홈 카드에서의 채팅 연결 기능 추가

* fix: 알림 관련 문제 해결

수정사항
- api.js
  - 알림 조회 api 형식 변경에 따른 수정 (get: /notifications/)
- LoginPage.js, HomePage.js, NotificationPage.js
  - deviceId 저장 및 사용하여 알림 조회

* Fix/multiple improvements 3: 홈 카드 양끝 화살표, 북마크 및 좋아요 관련 오류 해결, 이미지 라이브러리 변경 (#135)

* style: 홈 양쪽 끝 카드의 화살표 삭제

* fix: 커뮤니티 페이지의 북마크 및 좋아요 관련 오류 해결

수정사항
- PostPage.jsx, ItemComment.jsx
  - 최초 북마크 취소 시 반영되지 않는 문제 해결
  - 게시글 좋아요 취소 시 빈 하트 아이콘이 제대로 업데이트되지 않는 문제 해결
  - 좋아요 두 번 이상 클릭할 때 생성/취소가 올바르게 반영되지 않는 문제 해결
  - 좋아요 생성한 글은 북마크 불가하던 문제 해결

* refactor: 이미지 라이브러리를 expo-image로 변경하여 캐싱이 가능하도록 개선

* fix: 커뮤니티 북마크 구분 및 채팅 북마크에서의 이름 제거

수정사항
- BookmarkedPostPage.jsx, TabBookmarkPostPage.jsx
  - 채팅 북마크와 구분하고 커뮤니티 북마크 부분만 가져오기 위한 필터 적용
  - 북마크 api 함수명 변경에 따른 수정에서 누락된 부분 보완
- BookmarkPage.jsx, Bookmark.jsx, ModalNoBookmark.jsx
  - 채팅 북마크에서 이름 제거

* style: Prettier & ESLint 적용

* Feat/landing notification onboarding improvements: 랜딩페이지 수정, 앱 내 채팅 알림 제거, 온보딩 관련 업데이트 (#139)

* style: 랜딩페이지에 강조 이미지 추가 및 작은 화면 스타일 조정

수정사항
- LandingPage.jsx, LandingStyles.jsx, chat_bubble.png, profile.png
  - 강조 이미지 추가
  - 작은 화면을 고려한 스타일 조정

* feat: 푸시알림 토큰 변경 및 앱 내 채팅 알림 제거

수정사항
- LoginPage.js
  - 푸시알림 토큰 변경
- NotificationPage.js, NotificationCard.js
  - 앱 내에 채팅 알림을 표시하지 않도록 수정

* feat: 온보딩 단계에서 사용자가 선택했던 정보 저장

수정사항
- ProfilePage.js, ProfileMbtiPage.js, ProfileHobbyPage.js, ProfileLanguagePage.js
  - 이전 페이지에서 해당 페이지로 돌아올 때 사용자가 선택했던 정보를 저장하도록 수정
- FilterCategory.js
  - 선택한 mbti와 취미/관심사를 시각적으로 보여줄 수 있도록 수정
- OnboardingContext.js
  - 언어 페이지에서 사용하는 체크박스 선택 정보를 저장하기 위해 checkLanguages 추가

* feat: 온보딩 mbti 페이지에서 선택한 mbti와 다른 mbti 선택 시 즉시 변경 기능 추가

* refactor: handleDataSave 함수 제거 및 onPress에 네비게이션 직접 연결

* Refactor/change image api to: 이름 기반 이미지 조회 API를 ID 기반 조회 API로 변경 (#141)

* refactor: 커뮤니티 세션에서 이름 기반 이미지 조회를 ID 기반 조회로 변경

* refactor: 멤버 페이지의 마이페이지 조회 api에서 가져오던 presignURL 조회 방식을 ID 기반 조회로 변경

* refector:  멤버 및 채팅 세션에서 이름 기반 이미지 조회를 ID 기반 조회로 변경

* fix: 프로필 이미지가 없는 사용자로 인한 채팅 세션 오류 해결 및 불필요한 주석 삭제

* refactor: 홈 세션에서 이름 기반 이미지 조회를 ID 기반 조회로 변경

* feat: 홈 카드 스와이프 제스처 추가 (#142)

* feat: 홈 카드 스와이프 제스처 추가

* style: Prettier & ESLint 적용

* fix: 빌드 오류 수정을 위한 sentry 비활성화 및 i18n 설정 추가 (#145)

* chore(eas): PR을 올렸을 때, 버그 찾기 위해 Preview 보이게 하기 (#137)

개요

- EAS Update 기능을 활용해서, PR마다 branch를 checkout해서 다 확인할
필요없이 자동으로 임시의 Preview를 생성해서 구현 확인을 쉽게하자
- .env.dev는 dev에 들어갈 env를 정의한다. (gitignore에서 제외)
- dev-deploy 파이프라인을 만들어서 preview가 development 빌드의
브랜치에서 보일 수 있도록 한다.
- i18n에서 호환성 문제로 v3를 사용하도록 설정

* refactor(community): Community 페이지에서 Refactoring 진행 (#138)

개요

- fetchPosts를 해서 가져올 때 Promise All 해서 함께 보여줄 수 있도록
변경
- ternary에서 if문으로 바꾸어서  가독성 높임
- 일부 컴포넌트 외부 컴포넌트로 추출: CommunitySection

* fix(login): 로그인 창에서 키보드 깜빡이는 문제 해결 (#140)

개요

- 로그인 창에서 이메일을 치면, 키보드의 자동 암호 부분이 깜빡 거리
- 조사결과, iPhone 14 + iOS 17에 한정해서 발생하는 에러

수정 사항

- 원인은 iPhone 14 + iOS 17에 있다는 조사결과
- 이를 해결하기 위해, 기존에 이메일 값이 계속 변경되어 재렌더링 되는
부분과 겹쳐서 더 심해보였음
- Controlled 컴포넌트를 사용하면서, email 값 관련 재렌더링이 계속 반복되면서 더
심해보였음.
- 따라서, useRef를 통해, 이메일란을 Uncontrolled Component으로 바꾼다
- 추가로 autoCorrect=false로 두어 키보드의 수정을 최소화한다.

참고

- facebook/react-native#39411

- https://dori-coding.tistory.com/entry/React-%EC%A0%9C%EC%96%B4-%EC%BB%B4%ED%8F%AC%EB%84%8C%ED%8A%B8Controlled-Component%EC%99%80-%EB%B9%84%EC%A0%9C%EC%96%B4-%EC%BB%B4%ED%8F%AC%EB%84%8C%ED%8A%B8Uncontrolled-Component

* Feat/chat improvements: 채팅 갤러리 및 카메라 기능 임시 삭제, 개인별 채팅 북마크 페이지, 채팅 나가기 기능 (#147)

* chore: 채팅 세션의 갤러리 및 카메라 기능 임시 삭제

* feat: 개인별 채팅 북마크 페이지 생성

수정사항
- App.jsx
  - 개인별 채팅 북마크 페이지를 앱 내에 등록
- api.js
  - 개인별 채팅 북마크 조회 api 추가
- ChatBookmarkPage.jsx, ChatRoomPage.jsx
  - 개인별 채팅 북마크 페이지 생성 및 채팅방 페이지와 연결

* feat: 채팅 나가기 기능 추가

수정사항
- ChatroomItem.jsx, Delete.svg, IconChatroomExit.jsx
  - 스와이프하여 채팅 나가기 기능 추가
- ChatRoomPage.jsx
  - 채팅 나가기 기능 추가
- ChattingPage.jsx
  - 채팅을 나간 후 채팅 목록 업데이트

---------

Co-authored-by: Seungho Lee <poream3387@gmail.com>
KooSuYeon pushed a commit that referenced this pull request Oct 17, 2024
* Feat/chat updates: 채팅 검색 후 뒤로가기, 채팅 및 북마크 번역 연결, 채팅방 모달, 채팅방 ui/ux 관련 업데이트 (#131)

* feat: 채팅 검색 기능 연결 및 검색 후 뒤로가기 기능 추가

수정사항
- api.js
  - 채팅 검색 api 연결
- ChattingPage.jsx, ChattingStyles.jsx
  - 채팅 검색 백엔드 연결
  - 검색 후 뒤로 가기 기능 추가

* feat: 채팅 세션 번역 라이브러리 적용

수정사항
- Bookmark.jsx, ChatInputSend.jsx, ModalNoBookmark.jsx, BookmarkPage.jsx, ChatRoomPage.jsx, ChattingPage.jsx, FriendListPage.jsx
  - 채팅 세션 번역 라이브러리 적용
  - 기본값 삭제
- src/translations/
  - 채팅 세션 번역 파일

* feat: 같은 사용자로부터 연속된 메시지에서 첫 번째 프로필 메시지 이후 들여쓰기 추가

* feat: 채팅 버블을 길게 눌렀을 때의 북마크, 복사, 신고 모달 기능 구현

수정사항
- api.js
  - 북마크 생성 백엔드 연결
- IconModalBookmark.jsx, IconModalCopy.jsx, src/components/chat/svg/
  - 모달에서 사용할 아이콘 제작
- ChatBubble.jsx, ModalMenuChat.jsx, ChatRoomPage.jsx
  - 채팅 버블을 길게 눌렀을 때의 북마크, 복사, 신고 모달 기능 구현
  - 북마크 기능을 위해 chatId 및 chatroomId 전달
- package.json, package-lock.json
  - 복사 기능을 위해 expo-clipboard 라이브러리 설치

* feat: 채팅 북마크 조회 및 번역 api 연결

수정사항
- api.js, BookmarkedPostPage.jsx, TabBookmarkPostPage.jsx
  - api 변수명 변경 및 변경에 따른 수정
- Bookmark.jsx, BookmarkPage.jsx
  - 채팅 북마크 조회 api 연결
  - 채팅 북마크 번역 api 연결

* feat: 채팅 번역 api 연결
- api.js
  - 채팅 번역 api 연결
- ChatBubble.jsx
  - 채팅 번역 api 연결 및 번역하기 기능 추가
  - 길게 눌렀을 때 진동 추가
- package.json, package-lock.json
  - 진동 기능을 위해 Expo Haptics 라이브러리 설치
- ModalMenuChat.jsx
  - 모달 위치 수정

* fix: 채팅 목록에서 닉네임이 안 보이던 문제 및 검색 시 키보드가 안 내려가는 문제 해결

* Fix/connect issues: 커넥트 페이지 문제 해결 (#132)

* style: 커넥트 요청 시 홈 화면 뒷면 문구 및 버튼 문구 변경

수정사항
- HomeCardBack.jsx
  - 커넥트 요청 시 문구를 '커넥트 요청하였습니다'로 변경
  - 커넥트 요청 시 버튼 문구를 ‘뒤로가기로 변경
- HomecardBackBtn.js
  - 조건문을 번역 라이브러리와 호환되도록 수정
- src/translations
  - 요청 완료 문구 추가

* fix: 커넥트 목록 페이지에서 목록 깜박거림 문제 수정

수정사항
- FriendListPage.jsx, RequestConnectListPage.jsx
  - 깜박거림 문제를 해결하기 위해 useEffect + 의존성 배열을 useFocusEffect + useCallback으로 변경

* Feat/password reset and landing update: 비밀번호 재설정 페이지 구현, 랜딩페이지 문구 및 이미지 교체 (#133)

* feat: 비밀번호 재설정 페이지 수정 및 구현

수정사항
- App.jsx
  - 비밀번호 재설정 페이지를 앱 내에 등록
- api.js
  - 비밀번호 재설정 api 연결
- LoginPage.js
  - 임시로 삭제했던 '비밀번호를 까먹었어요' 문구 복원
- FindPasswordPage.js, FindPasswordStyles.js, SetPasswordPage.jsx, SetPasswordStyles.jsx
  - 비밀번호 재설정 페이지 및 스타일 구현
- src/translations/
  - 비밀번호 재설정 페이지 번역 문구 추가

* style: 랜딩페이지 문구 및 이미지 교체

수정사항
- LandingPage.jsx, landing_chat.png, landing_community.png, landing_connect.png
  - 화질 개선된 이미지로 교체
- en.json, es.json
  - 긴 문구를 짧은 문구로 변경

* Fix/multiple improvements 2: 꿀팁게시판 json명, 댓글 익명을 기본으로 변경, 프로필 수정 페이지 한줄소개, 홈 카드 채팅 연결, 알림 관련 문제 해결 (#134)

* fix: 꿀팁게시판 json명 변경 및 댓글 익명을 기본으로 변경

수정사항
- PostPage.jsx
  - 댓글 입력창의 익명 여부를 기본 체크로 변경
- src/translations/, CommunityPage.jsx, PostModifyPage.jsx, TipCommunityPage.jsx
  - tipsBoard에서 tipBoard로 json명 변경에 따른 수정

* fix: 사용자가 한줄소개를 입력 안 했을 때, 프로필 수정 페이지에서 한줄소개 입력창이 안 뜨는 문제 해결

* feat: 홈 카드에서의 채팅 연결 기능 추가

* fix: 알림 관련 문제 해결

수정사항
- api.js
  - 알림 조회 api 형식 변경에 따른 수정 (get: /notifications/)
- LoginPage.js, HomePage.js, NotificationPage.js
  - deviceId 저장 및 사용하여 알림 조회

* Fix/multiple improvements 3: 홈 카드 양끝 화살표, 북마크 및 좋아요 관련 오류 해결, 이미지 라이브러리 변경 (#135)

* style: 홈 양쪽 끝 카드의 화살표 삭제

* fix: 커뮤니티 페이지의 북마크 및 좋아요 관련 오류 해결

수정사항
- PostPage.jsx, ItemComment.jsx
  - 최초 북마크 취소 시 반영되지 않는 문제 해결
  - 게시글 좋아요 취소 시 빈 하트 아이콘이 제대로 업데이트되지 않는 문제 해결
  - 좋아요 두 번 이상 클릭할 때 생성/취소가 올바르게 반영되지 않는 문제 해결
  - 좋아요 생성한 글은 북마크 불가하던 문제 해결

* refactor: 이미지 라이브러리를 expo-image로 변경하여 캐싱이 가능하도록 개선

* fix: 커뮤니티 북마크 구분 및 채팅 북마크에서의 이름 제거

수정사항
- BookmarkedPostPage.jsx, TabBookmarkPostPage.jsx
  - 채팅 북마크와 구분하고 커뮤니티 북마크 부분만 가져오기 위한 필터 적용
  - 북마크 api 함수명 변경에 따른 수정에서 누락된 부분 보완
- BookmarkPage.jsx, Bookmark.jsx, ModalNoBookmark.jsx
  - 채팅 북마크에서 이름 제거

* style: Prettier & ESLint 적용

* Feat/landing notification onboarding improvements: 랜딩페이지 수정, 앱 내 채팅 알림 제거, 온보딩 관련 업데이트 (#139)

* style: 랜딩페이지에 강조 이미지 추가 및 작은 화면 스타일 조정

수정사항
- LandingPage.jsx, LandingStyles.jsx, chat_bubble.png, profile.png
  - 강조 이미지 추가
  - 작은 화면을 고려한 스타일 조정

* feat: 푸시알림 토큰 변경 및 앱 내 채팅 알림 제거

수정사항
- LoginPage.js
  - 푸시알림 토큰 변경
- NotificationPage.js, NotificationCard.js
  - 앱 내에 채팅 알림을 표시하지 않도록 수정

* feat: 온보딩 단계에서 사용자가 선택했던 정보 저장

수정사항
- ProfilePage.js, ProfileMbtiPage.js, ProfileHobbyPage.js, ProfileLanguagePage.js
  - 이전 페이지에서 해당 페이지로 돌아올 때 사용자가 선택했던 정보를 저장하도록 수정
- FilterCategory.js
  - 선택한 mbti와 취미/관심사를 시각적으로 보여줄 수 있도록 수정
- OnboardingContext.js
  - 언어 페이지에서 사용하는 체크박스 선택 정보를 저장하기 위해 checkLanguages 추가

* feat: 온보딩 mbti 페이지에서 선택한 mbti와 다른 mbti 선택 시 즉시 변경 기능 추가

* refactor: handleDataSave 함수 제거 및 onPress에 네비게이션 직접 연결

* Refactor/change image api to: 이름 기반 이미지 조회 API를 ID 기반 조회 API로 변경 (#141)

* refactor: 커뮤니티 세션에서 이름 기반 이미지 조회를 ID 기반 조회로 변경

* refactor: 멤버 페이지의 마이페이지 조회 api에서 가져오던 presignURL 조회 방식을 ID 기반 조회로 변경

* refector:  멤버 및 채팅 세션에서 이름 기반 이미지 조회를 ID 기반 조회로 변경

* fix: 프로필 이미지가 없는 사용자로 인한 채팅 세션 오류 해결 및 불필요한 주석 삭제

* refactor: 홈 세션에서 이름 기반 이미지 조회를 ID 기반 조회로 변경

* feat: 홈 카드 스와이프 제스처 추가 (#142)

* feat: 홈 카드 스와이프 제스처 추가

* style: Prettier & ESLint 적용

* fix: 빌드 오류 수정을 위한 sentry 비활성화 및 i18n 설정 추가 (#145)

* chore(eas): PR을 올렸을 때, 버그 찾기 위해 Preview 보이게 하기 (#137)

개요

- EAS Update 기능을 활용해서, PR마다 branch를 checkout해서 다 확인할
필요없이 자동으로 임시의 Preview를 생성해서 구현 확인을 쉽게하자
- .env.dev는 dev에 들어갈 env를 정의한다. (gitignore에서 제외)
- dev-deploy 파이프라인을 만들어서 preview가 development 빌드의
브랜치에서 보일 수 있도록 한다.
- i18n에서 호환성 문제로 v3를 사용하도록 설정

* refactor(community): Community 페이지에서 Refactoring 진행 (#138)

개요

- fetchPosts를 해서 가져올 때 Promise All 해서 함께 보여줄 수 있도록
변경
- ternary에서 if문으로 바꾸어서  가독성 높임
- 일부 컴포넌트 외부 컴포넌트로 추출: CommunitySection

* fix(login): 로그인 창에서 키보드 깜빡이는 문제 해결 (#140)

개요

- 로그인 창에서 이메일을 치면, 키보드의 자동 암호 부분이 깜빡 거리
- 조사결과, iPhone 14 + iOS 17에 한정해서 발생하는 에러

수정 사항

- 원인은 iPhone 14 + iOS 17에 있다는 조사결과
- 이를 해결하기 위해, 기존에 이메일 값이 계속 변경되어 재렌더링 되는
부분과 겹쳐서 더 심해보였음
- Controlled 컴포넌트를 사용하면서, email 값 관련 재렌더링이 계속 반복되면서 더
심해보였음.
- 따라서, useRef를 통해, 이메일란을 Uncontrolled Component으로 바꾼다
- 추가로 autoCorrect=false로 두어 키보드의 수정을 최소화한다.

참고

- facebook/react-native#39411

- https://dori-coding.tistory.com/entry/React-%EC%A0%9C%EC%96%B4-%EC%BB%B4%ED%8F%AC%EB%84%8C%ED%8A%B8Controlled-Component%EC%99%80-%EB%B9%84%EC%A0%9C%EC%96%B4-%EC%BB%B4%ED%8F%AC%EB%84%8C%ED%8A%B8Uncontrolled-Component

* Feat/chat improvements: 채팅 갤러리 및 카메라 기능 임시 삭제, 개인별 채팅 북마크 페이지, 채팅 나가기 기능 (#147)

* chore: 채팅 세션의 갤러리 및 카메라 기능 임시 삭제

* feat: 개인별 채팅 북마크 페이지 생성

수정사항
- App.jsx
  - 개인별 채팅 북마크 페이지를 앱 내에 등록
- api.js
  - 개인별 채팅 북마크 조회 api 추가
- ChatBookmarkPage.jsx, ChatRoomPage.jsx
  - 개인별 채팅 북마크 페이지 생성 및 채팅방 페이지와 연결

* feat: 채팅 나가기 기능 추가

수정사항
- ChatroomItem.jsx, Delete.svg, IconChatroomExit.jsx
  - 스와이프하여 채팅 나가기 기능 추가
- ChatRoomPage.jsx
  - 채팅 나가기 기능 추가
- ChattingPage.jsx
  - 채팅을 나간 후 채팅 목록 업데이트

---------

Co-authored-by: Seungho Lee <poream3387@gmail.com>
KooSuYeon pushed a commit that referenced this pull request Oct 17, 2024
* Feat/chat updates: 채팅 검색 후 뒤로가기, 채팅 및 북마크 번역 연결, 채팅방 모달, 채팅방 ui/ux 관련 업데이트 (#131)

* feat: 채팅 검색 기능 연결 및 검색 후 뒤로가기 기능 추가

수정사항
- api.js
  - 채팅 검색 api 연결
- ChattingPage.jsx, ChattingStyles.jsx
  - 채팅 검색 백엔드 연결
  - 검색 후 뒤로 가기 기능 추가

* feat: 채팅 세션 번역 라이브러리 적용

수정사항
- Bookmark.jsx, ChatInputSend.jsx, ModalNoBookmark.jsx, BookmarkPage.jsx, ChatRoomPage.jsx, ChattingPage.jsx, FriendListPage.jsx
  - 채팅 세션 번역 라이브러리 적용
  - 기본값 삭제
- src/translations/
  - 채팅 세션 번역 파일

* feat: 같은 사용자로부터 연속된 메시지에서 첫 번째 프로필 메시지 이후 들여쓰기 추가

* feat: 채팅 버블을 길게 눌렀을 때의 북마크, 복사, 신고 모달 기능 구현

수정사항
- api.js
  - 북마크 생성 백엔드 연결
- IconModalBookmark.jsx, IconModalCopy.jsx, src/components/chat/svg/
  - 모달에서 사용할 아이콘 제작
- ChatBubble.jsx, ModalMenuChat.jsx, ChatRoomPage.jsx
  - 채팅 버블을 길게 눌렀을 때의 북마크, 복사, 신고 모달 기능 구현
  - 북마크 기능을 위해 chatId 및 chatroomId 전달
- package.json, package-lock.json
  - 복사 기능을 위해 expo-clipboard 라이브러리 설치

* feat: 채팅 북마크 조회 및 번역 api 연결

수정사항
- api.js, BookmarkedPostPage.jsx, TabBookmarkPostPage.jsx
  - api 변수명 변경 및 변경에 따른 수정
- Bookmark.jsx, BookmarkPage.jsx
  - 채팅 북마크 조회 api 연결
  - 채팅 북마크 번역 api 연결

* feat: 채팅 번역 api 연결
- api.js
  - 채팅 번역 api 연결
- ChatBubble.jsx
  - 채팅 번역 api 연결 및 번역하기 기능 추가
  - 길게 눌렀을 때 진동 추가
- package.json, package-lock.json
  - 진동 기능을 위해 Expo Haptics 라이브러리 설치
- ModalMenuChat.jsx
  - 모달 위치 수정

* fix: 채팅 목록에서 닉네임이 안 보이던 문제 및 검색 시 키보드가 안 내려가는 문제 해결

* Fix/connect issues: 커넥트 페이지 문제 해결 (#132)

* style: 커넥트 요청 시 홈 화면 뒷면 문구 및 버튼 문구 변경

수정사항
- HomeCardBack.jsx
  - 커넥트 요청 시 문구를 '커넥트 요청하였습니다'로 변경
  - 커넥트 요청 시 버튼 문구를 ‘뒤로가기로 변경
- HomecardBackBtn.js
  - 조건문을 번역 라이브러리와 호환되도록 수정
- src/translations
  - 요청 완료 문구 추가

* fix: 커넥트 목록 페이지에서 목록 깜박거림 문제 수정

수정사항
- FriendListPage.jsx, RequestConnectListPage.jsx
  - 깜박거림 문제를 해결하기 위해 useEffect + 의존성 배열을 useFocusEffect + useCallback으로 변경

* Feat/password reset and landing update: 비밀번호 재설정 페이지 구현, 랜딩페이지 문구 및 이미지 교체 (#133)

* feat: 비밀번호 재설정 페이지 수정 및 구현

수정사항
- App.jsx
  - 비밀번호 재설정 페이지를 앱 내에 등록
- api.js
  - 비밀번호 재설정 api 연결
- LoginPage.js
  - 임시로 삭제했던 '비밀번호를 까먹었어요' 문구 복원
- FindPasswordPage.js, FindPasswordStyles.js, SetPasswordPage.jsx, SetPasswordStyles.jsx
  - 비밀번호 재설정 페이지 및 스타일 구현
- src/translations/
  - 비밀번호 재설정 페이지 번역 문구 추가

* style: 랜딩페이지 문구 및 이미지 교체

수정사항
- LandingPage.jsx, landing_chat.png, landing_community.png, landing_connect.png
  - 화질 개선된 이미지로 교체
- en.json, es.json
  - 긴 문구를 짧은 문구로 변경

* Fix/multiple improvements 2: 꿀팁게시판 json명, 댓글 익명을 기본으로 변경, 프로필 수정 페이지 한줄소개, 홈 카드 채팅 연결, 알림 관련 문제 해결 (#134)

* fix: 꿀팁게시판 json명 변경 및 댓글 익명을 기본으로 변경

수정사항
- PostPage.jsx
  - 댓글 입력창의 익명 여부를 기본 체크로 변경
- src/translations/, CommunityPage.jsx, PostModifyPage.jsx, TipCommunityPage.jsx
  - tipsBoard에서 tipBoard로 json명 변경에 따른 수정

* fix: 사용자가 한줄소개를 입력 안 했을 때, 프로필 수정 페이지에서 한줄소개 입력창이 안 뜨는 문제 해결

* feat: 홈 카드에서의 채팅 연결 기능 추가

* fix: 알림 관련 문제 해결

수정사항
- api.js
  - 알림 조회 api 형식 변경에 따른 수정 (get: /notifications/)
- LoginPage.js, HomePage.js, NotificationPage.js
  - deviceId 저장 및 사용하여 알림 조회

* Fix/multiple improvements 3: 홈 카드 양끝 화살표, 북마크 및 좋아요 관련 오류 해결, 이미지 라이브러리 변경 (#135)

* style: 홈 양쪽 끝 카드의 화살표 삭제

* fix: 커뮤니티 페이지의 북마크 및 좋아요 관련 오류 해결

수정사항
- PostPage.jsx, ItemComment.jsx
  - 최초 북마크 취소 시 반영되지 않는 문제 해결
  - 게시글 좋아요 취소 시 빈 하트 아이콘이 제대로 업데이트되지 않는 문제 해결
  - 좋아요 두 번 이상 클릭할 때 생성/취소가 올바르게 반영되지 않는 문제 해결
  - 좋아요 생성한 글은 북마크 불가하던 문제 해결

* refactor: 이미지 라이브러리를 expo-image로 변경하여 캐싱이 가능하도록 개선

* fix: 커뮤니티 북마크 구분 및 채팅 북마크에서의 이름 제거

수정사항
- BookmarkedPostPage.jsx, TabBookmarkPostPage.jsx
  - 채팅 북마크와 구분하고 커뮤니티 북마크 부분만 가져오기 위한 필터 적용
  - 북마크 api 함수명 변경에 따른 수정에서 누락된 부분 보완
- BookmarkPage.jsx, Bookmark.jsx, ModalNoBookmark.jsx
  - 채팅 북마크에서 이름 제거

* style: Prettier & ESLint 적용

* Feat/landing notification onboarding improvements: 랜딩페이지 수정, 앱 내 채팅 알림 제거, 온보딩 관련 업데이트 (#139)

* style: 랜딩페이지에 강조 이미지 추가 및 작은 화면 스타일 조정

수정사항
- LandingPage.jsx, LandingStyles.jsx, chat_bubble.png, profile.png
  - 강조 이미지 추가
  - 작은 화면을 고려한 스타일 조정

* feat: 푸시알림 토큰 변경 및 앱 내 채팅 알림 제거

수정사항
- LoginPage.js
  - 푸시알림 토큰 변경
- NotificationPage.js, NotificationCard.js
  - 앱 내에 채팅 알림을 표시하지 않도록 수정

* feat: 온보딩 단계에서 사용자가 선택했던 정보 저장

수정사항
- ProfilePage.js, ProfileMbtiPage.js, ProfileHobbyPage.js, ProfileLanguagePage.js
  - 이전 페이지에서 해당 페이지로 돌아올 때 사용자가 선택했던 정보를 저장하도록 수정
- FilterCategory.js
  - 선택한 mbti와 취미/관심사를 시각적으로 보여줄 수 있도록 수정
- OnboardingContext.js
  - 언어 페이지에서 사용하는 체크박스 선택 정보를 저장하기 위해 checkLanguages 추가

* feat: 온보딩 mbti 페이지에서 선택한 mbti와 다른 mbti 선택 시 즉시 변경 기능 추가

* refactor: handleDataSave 함수 제거 및 onPress에 네비게이션 직접 연결

* Refactor/change image api to: 이름 기반 이미지 조회 API를 ID 기반 조회 API로 변경 (#141)

* refactor: 커뮤니티 세션에서 이름 기반 이미지 조회를 ID 기반 조회로 변경

* refactor: 멤버 페이지의 마이페이지 조회 api에서 가져오던 presignURL 조회 방식을 ID 기반 조회로 변경

* refector:  멤버 및 채팅 세션에서 이름 기반 이미지 조회를 ID 기반 조회로 변경

* fix: 프로필 이미지가 없는 사용자로 인한 채팅 세션 오류 해결 및 불필요한 주석 삭제

* refactor: 홈 세션에서 이름 기반 이미지 조회를 ID 기반 조회로 변경

* feat: 홈 카드 스와이프 제스처 추가 (#142)

* feat: 홈 카드 스와이프 제스처 추가

* style: Prettier & ESLint 적용

* fix: 빌드 오류 수정을 위한 sentry 비활성화 및 i18n 설정 추가 (#145)

* chore(eas): PR을 올렸을 때, 버그 찾기 위해 Preview 보이게 하기 (#137)

개요

- EAS Update 기능을 활용해서, PR마다 branch를 checkout해서 다 확인할
필요없이 자동으로 임시의 Preview를 생성해서 구현 확인을 쉽게하자
- .env.dev는 dev에 들어갈 env를 정의한다. (gitignore에서 제외)
- dev-deploy 파이프라인을 만들어서 preview가 development 빌드의
브랜치에서 보일 수 있도록 한다.
- i18n에서 호환성 문제로 v3를 사용하도록 설정

* refactor(community): Community 페이지에서 Refactoring 진행 (#138)

개요

- fetchPosts를 해서 가져올 때 Promise All 해서 함께 보여줄 수 있도록
변경
- ternary에서 if문으로 바꾸어서  가독성 높임
- 일부 컴포넌트 외부 컴포넌트로 추출: CommunitySection

* fix(login): 로그인 창에서 키보드 깜빡이는 문제 해결 (#140)

개요

- 로그인 창에서 이메일을 치면, 키보드의 자동 암호 부분이 깜빡 거리
- 조사결과, iPhone 14 + iOS 17에 한정해서 발생하는 에러

수정 사항

- 원인은 iPhone 14 + iOS 17에 있다는 조사결과
- 이를 해결하기 위해, 기존에 이메일 값이 계속 변경되어 재렌더링 되는
부분과 겹쳐서 더 심해보였음
- Controlled 컴포넌트를 사용하면서, email 값 관련 재렌더링이 계속 반복되면서 더
심해보였음.
- 따라서, useRef를 통해, 이메일란을 Uncontrolled Component으로 바꾼다
- 추가로 autoCorrect=false로 두어 키보드의 수정을 최소화한다.

참고

- facebook/react-native#39411

- https://dori-coding.tistory.com/entry/React-%EC%A0%9C%EC%96%B4-%EC%BB%B4%ED%8F%AC%EB%84%8C%ED%8A%B8Controlled-Component%EC%99%80-%EB%B9%84%EC%A0%9C%EC%96%B4-%EC%BB%B4%ED%8F%AC%EB%84%8C%ED%8A%B8Uncontrolled-Component

* Feat/chat improvements: 채팅 갤러리 및 카메라 기능 임시 삭제, 개인별 채팅 북마크 페이지, 채팅 나가기 기능 (#147)

* chore: 채팅 세션의 갤러리 및 카메라 기능 임시 삭제

* feat: 개인별 채팅 북마크 페이지 생성

수정사항
- App.jsx
  - 개인별 채팅 북마크 페이지를 앱 내에 등록
- api.js
  - 개인별 채팅 북마크 조회 api 추가
- ChatBookmarkPage.jsx, ChatRoomPage.jsx
  - 개인별 채팅 북마크 페이지 생성 및 채팅방 페이지와 연결

* feat: 채팅 나가기 기능 추가

수정사항
- ChatroomItem.jsx, Delete.svg, IconChatroomExit.jsx
  - 스와이프하여 채팅 나가기 기능 추가
- ChatRoomPage.jsx
  - 채팅 나가기 기능 추가
- ChattingPage.jsx
  - 채팅을 나간 후 채팅 목록 업데이트

---------

Co-authored-by: Seungho Lee <poream3387@gmail.com>
@KooSuYeon KooSuYeon mentioned this pull request Oct 17, 2024
KooSuYeon added a commit that referenced this pull request Oct 17, 2024
* Dev (#148)

* Feat/chat updates: 채팅 검색 후 뒤로가기, 채팅 및 북마크 번역 연결, 채팅방 모달, 채팅방 ui/ux 관련 업데이트 (#131)

* feat: 채팅 검색 기능 연결 및 검색 후 뒤로가기 기능 추가

수정사항
- api.js
  - 채팅 검색 api 연결
- ChattingPage.jsx, ChattingStyles.jsx
  - 채팅 검색 백엔드 연결
  - 검색 후 뒤로 가기 기능 추가

* feat: 채팅 세션 번역 라이브러리 적용

수정사항
- Bookmark.jsx, ChatInputSend.jsx, ModalNoBookmark.jsx, BookmarkPage.jsx, ChatRoomPage.jsx, ChattingPage.jsx, FriendListPage.jsx
  - 채팅 세션 번역 라이브러리 적용
  - 기본값 삭제
- src/translations/
  - 채팅 세션 번역 파일

* feat: 같은 사용자로부터 연속된 메시지에서 첫 번째 프로필 메시지 이후 들여쓰기 추가

* feat: 채팅 버블을 길게 눌렀을 때의 북마크, 복사, 신고 모달 기능 구현

수정사항
- api.js
  - 북마크 생성 백엔드 연결
- IconModalBookmark.jsx, IconModalCopy.jsx, src/components/chat/svg/
  - 모달에서 사용할 아이콘 제작
- ChatBubble.jsx, ModalMenuChat.jsx, ChatRoomPage.jsx
  - 채팅 버블을 길게 눌렀을 때의 북마크, 복사, 신고 모달 기능 구현
  - 북마크 기능을 위해 chatId 및 chatroomId 전달
- package.json, package-lock.json
  - 복사 기능을 위해 expo-clipboard 라이브러리 설치

* feat: 채팅 북마크 조회 및 번역 api 연결

수정사항
- api.js, BookmarkedPostPage.jsx, TabBookmarkPostPage.jsx
  - api 변수명 변경 및 변경에 따른 수정
- Bookmark.jsx, BookmarkPage.jsx
  - 채팅 북마크 조회 api 연결
  - 채팅 북마크 번역 api 연결

* feat: 채팅 번역 api 연결
- api.js
  - 채팅 번역 api 연결
- ChatBubble.jsx
  - 채팅 번역 api 연결 및 번역하기 기능 추가
  - 길게 눌렀을 때 진동 추가
- package.json, package-lock.json
  - 진동 기능을 위해 Expo Haptics 라이브러리 설치
- ModalMenuChat.jsx
  - 모달 위치 수정

* fix: 채팅 목록에서 닉네임이 안 보이던 문제 및 검색 시 키보드가 안 내려가는 문제 해결

* Fix/connect issues: 커넥트 페이지 문제 해결 (#132)

* style: 커넥트 요청 시 홈 화면 뒷면 문구 및 버튼 문구 변경

수정사항
- HomeCardBack.jsx
  - 커넥트 요청 시 문구를 '커넥트 요청하였습니다'로 변경
  - 커넥트 요청 시 버튼 문구를 ‘뒤로가기로 변경
- HomecardBackBtn.js
  - 조건문을 번역 라이브러리와 호환되도록 수정
- src/translations
  - 요청 완료 문구 추가

* fix: 커넥트 목록 페이지에서 목록 깜박거림 문제 수정

수정사항
- FriendListPage.jsx, RequestConnectListPage.jsx
  - 깜박거림 문제를 해결하기 위해 useEffect + 의존성 배열을 useFocusEffect + useCallback으로 변경

* Feat/password reset and landing update: 비밀번호 재설정 페이지 구현, 랜딩페이지 문구 및 이미지 교체 (#133)

* feat: 비밀번호 재설정 페이지 수정 및 구현

수정사항
- App.jsx
  - 비밀번호 재설정 페이지를 앱 내에 등록
- api.js
  - 비밀번호 재설정 api 연결
- LoginPage.js
  - 임시로 삭제했던 '비밀번호를 까먹었어요' 문구 복원
- FindPasswordPage.js, FindPasswordStyles.js, SetPasswordPage.jsx, SetPasswordStyles.jsx
  - 비밀번호 재설정 페이지 및 스타일 구현
- src/translations/
  - 비밀번호 재설정 페이지 번역 문구 추가

* style: 랜딩페이지 문구 및 이미지 교체

수정사항
- LandingPage.jsx, landing_chat.png, landing_community.png, landing_connect.png
  - 화질 개선된 이미지로 교체
- en.json, es.json
  - 긴 문구를 짧은 문구로 변경

* Fix/multiple improvements 2: 꿀팁게시판 json명, 댓글 익명을 기본으로 변경, 프로필 수정 페이지 한줄소개, 홈 카드 채팅 연결, 알림 관련 문제 해결 (#134)

* fix: 꿀팁게시판 json명 변경 및 댓글 익명을 기본으로 변경

수정사항
- PostPage.jsx
  - 댓글 입력창의 익명 여부를 기본 체크로 변경
- src/translations/, CommunityPage.jsx, PostModifyPage.jsx, TipCommunityPage.jsx
  - tipsBoard에서 tipBoard로 json명 변경에 따른 수정

* fix: 사용자가 한줄소개를 입력 안 했을 때, 프로필 수정 페이지에서 한줄소개 입력창이 안 뜨는 문제 해결

* feat: 홈 카드에서의 채팅 연결 기능 추가

* fix: 알림 관련 문제 해결

수정사항
- api.js
  - 알림 조회 api 형식 변경에 따른 수정 (get: /notifications/)
- LoginPage.js, HomePage.js, NotificationPage.js
  - deviceId 저장 및 사용하여 알림 조회

* Fix/multiple improvements 3: 홈 카드 양끝 화살표, 북마크 및 좋아요 관련 오류 해결, 이미지 라이브러리 변경 (#135)

* style: 홈 양쪽 끝 카드의 화살표 삭제

* fix: 커뮤니티 페이지의 북마크 및 좋아요 관련 오류 해결

수정사항
- PostPage.jsx, ItemComment.jsx
  - 최초 북마크 취소 시 반영되지 않는 문제 해결
  - 게시글 좋아요 취소 시 빈 하트 아이콘이 제대로 업데이트되지 않는 문제 해결
  - 좋아요 두 번 이상 클릭할 때 생성/취소가 올바르게 반영되지 않는 문제 해결
  - 좋아요 생성한 글은 북마크 불가하던 문제 해결

* refactor: 이미지 라이브러리를 expo-image로 변경하여 캐싱이 가능하도록 개선

* fix: 커뮤니티 북마크 구분 및 채팅 북마크에서의 이름 제거

수정사항
- BookmarkedPostPage.jsx, TabBookmarkPostPage.jsx
  - 채팅 북마크와 구분하고 커뮤니티 북마크 부분만 가져오기 위한 필터 적용
  - 북마크 api 함수명 변경에 따른 수정에서 누락된 부분 보완
- BookmarkPage.jsx, Bookmark.jsx, ModalNoBookmark.jsx
  - 채팅 북마크에서 이름 제거

* style: Prettier & ESLint 적용

* Feat/landing notification onboarding improvements: 랜딩페이지 수정, 앱 내 채팅 알림 제거, 온보딩 관련 업데이트 (#139)

* style: 랜딩페이지에 강조 이미지 추가 및 작은 화면 스타일 조정

수정사항
- LandingPage.jsx, LandingStyles.jsx, chat_bubble.png, profile.png
  - 강조 이미지 추가
  - 작은 화면을 고려한 스타일 조정

* feat: 푸시알림 토큰 변경 및 앱 내 채팅 알림 제거

수정사항
- LoginPage.js
  - 푸시알림 토큰 변경
- NotificationPage.js, NotificationCard.js
  - 앱 내에 채팅 알림을 표시하지 않도록 수정

* feat: 온보딩 단계에서 사용자가 선택했던 정보 저장

수정사항
- ProfilePage.js, ProfileMbtiPage.js, ProfileHobbyPage.js, ProfileLanguagePage.js
  - 이전 페이지에서 해당 페이지로 돌아올 때 사용자가 선택했던 정보를 저장하도록 수정
- FilterCategory.js
  - 선택한 mbti와 취미/관심사를 시각적으로 보여줄 수 있도록 수정
- OnboardingContext.js
  - 언어 페이지에서 사용하는 체크박스 선택 정보를 저장하기 위해 checkLanguages 추가

* feat: 온보딩 mbti 페이지에서 선택한 mbti와 다른 mbti 선택 시 즉시 변경 기능 추가

* refactor: handleDataSave 함수 제거 및 onPress에 네비게이션 직접 연결

* Refactor/change image api to: 이름 기반 이미지 조회 API를 ID 기반 조회 API로 변경 (#141)

* refactor: 커뮤니티 세션에서 이름 기반 이미지 조회를 ID 기반 조회로 변경

* refactor: 멤버 페이지의 마이페이지 조회 api에서 가져오던 presignURL 조회 방식을 ID 기반 조회로 변경

* refector:  멤버 및 채팅 세션에서 이름 기반 이미지 조회를 ID 기반 조회로 변경

* fix: 프로필 이미지가 없는 사용자로 인한 채팅 세션 오류 해결 및 불필요한 주석 삭제

* refactor: 홈 세션에서 이름 기반 이미지 조회를 ID 기반 조회로 변경

* feat: 홈 카드 스와이프 제스처 추가 (#142)

* feat: 홈 카드 스와이프 제스처 추가

* style: Prettier & ESLint 적용

* fix: 빌드 오류 수정을 위한 sentry 비활성화 및 i18n 설정 추가 (#145)

* chore(eas): PR을 올렸을 때, 버그 찾기 위해 Preview 보이게 하기 (#137)

개요

- EAS Update 기능을 활용해서, PR마다 branch를 checkout해서 다 확인할
필요없이 자동으로 임시의 Preview를 생성해서 구현 확인을 쉽게하자
- .env.dev는 dev에 들어갈 env를 정의한다. (gitignore에서 제외)
- dev-deploy 파이프라인을 만들어서 preview가 development 빌드의
브랜치에서 보일 수 있도록 한다.
- i18n에서 호환성 문제로 v3를 사용하도록 설정

* refactor(community): Community 페이지에서 Refactoring 진행 (#138)

개요

- fetchPosts를 해서 가져올 때 Promise All 해서 함께 보여줄 수 있도록
변경
- ternary에서 if문으로 바꾸어서  가독성 높임
- 일부 컴포넌트 외부 컴포넌트로 추출: CommunitySection

* fix(login): 로그인 창에서 키보드 깜빡이는 문제 해결 (#140)

개요

- 로그인 창에서 이메일을 치면, 키보드의 자동 암호 부분이 깜빡 거리
- 조사결과, iPhone 14 + iOS 17에 한정해서 발생하는 에러

수정 사항

- 원인은 iPhone 14 + iOS 17에 있다는 조사결과
- 이를 해결하기 위해, 기존에 이메일 값이 계속 변경되어 재렌더링 되는
부분과 겹쳐서 더 심해보였음
- Controlled 컴포넌트를 사용하면서, email 값 관련 재렌더링이 계속 반복되면서 더
심해보였음.
- 따라서, useRef를 통해, 이메일란을 Uncontrolled Component으로 바꾼다
- 추가로 autoCorrect=false로 두어 키보드의 수정을 최소화한다.

참고

- facebook/react-native#39411

- https://dori-coding.tistory.com/entry/React-%EC%A0%9C%EC%96%B4-%EC%BB%B4%ED%8F%AC%EB%84%8C%ED%8A%B8Controlled-Component%EC%99%80-%EB%B9%84%EC%A0%9C%EC%96%B4-%EC%BB%B4%ED%8F%AC%EB%84%8C%ED%8A%B8Uncontrolled-Component

* Feat/chat improvements: 채팅 갤러리 및 카메라 기능 임시 삭제, 개인별 채팅 북마크 페이지, 채팅 나가기 기능 (#147)

* chore: 채팅 세션의 갤러리 및 카메라 기능 임시 삭제

* feat: 개인별 채팅 북마크 페이지 생성

수정사항
- App.jsx
  - 개인별 채팅 북마크 페이지를 앱 내에 등록
- api.js
  - 개인별 채팅 북마크 조회 api 추가
- ChatBookmarkPage.jsx, ChatRoomPage.jsx
  - 개인별 채팅 북마크 페이지 생성 및 채팅방 페이지와 연결

* feat: 채팅 나가기 기능 추가

수정사항
- ChatroomItem.jsx, Delete.svg, IconChatroomExit.jsx
  - 스와이프하여 채팅 나가기 기능 추가
- ChatRoomPage.jsx
  - 채팅 나가기 기능 추가
- ChattingPage.jsx
  - 채팅을 나간 후 채팅 목록 업데이트

---------

Co-authored-by: Seungho Lee <poream3387@gmail.com>

* test/from-dev-1: From Dev To Staging

* test/from-dev-2: package 테스트 오류잡기

---------

Co-authored-by: nnyouung <104901660+nnyouung@users.noreply.github.com>
Co-authored-by: Seungho Lee <poream3387@gmail.com>
KooSuYeon pushed a commit that referenced this pull request Oct 17, 2024
* Feat/chat updates: 채팅 검색 후 뒤로가기, 채팅 및 북마크 번역 연결, 채팅방 모달, 채팅방 ui/ux 관련 업데이트 (#131)

* feat: 채팅 검색 기능 연결 및 검색 후 뒤로가기 기능 추가

수정사항
- api.js
  - 채팅 검색 api 연결
- ChattingPage.jsx, ChattingStyles.jsx
  - 채팅 검색 백엔드 연결
  - 검색 후 뒤로 가기 기능 추가

* feat: 채팅 세션 번역 라이브러리 적용

수정사항
- Bookmark.jsx, ChatInputSend.jsx, ModalNoBookmark.jsx, BookmarkPage.jsx, ChatRoomPage.jsx, ChattingPage.jsx, FriendListPage.jsx
  - 채팅 세션 번역 라이브러리 적용
  - 기본값 삭제
- src/translations/
  - 채팅 세션 번역 파일

* feat: 같은 사용자로부터 연속된 메시지에서 첫 번째 프로필 메시지 이후 들여쓰기 추가

* feat: 채팅 버블을 길게 눌렀을 때의 북마크, 복사, 신고 모달 기능 구현

수정사항
- api.js
  - 북마크 생성 백엔드 연결
- IconModalBookmark.jsx, IconModalCopy.jsx, src/components/chat/svg/
  - 모달에서 사용할 아이콘 제작
- ChatBubble.jsx, ModalMenuChat.jsx, ChatRoomPage.jsx
  - 채팅 버블을 길게 눌렀을 때의 북마크, 복사, 신고 모달 기능 구현
  - 북마크 기능을 위해 chatId 및 chatroomId 전달
- package.json, package-lock.json
  - 복사 기능을 위해 expo-clipboard 라이브러리 설치

* feat: 채팅 북마크 조회 및 번역 api 연결

수정사항
- api.js, BookmarkedPostPage.jsx, TabBookmarkPostPage.jsx
  - api 변수명 변경 및 변경에 따른 수정
- Bookmark.jsx, BookmarkPage.jsx
  - 채팅 북마크 조회 api 연결
  - 채팅 북마크 번역 api 연결

* feat: 채팅 번역 api 연결
- api.js
  - 채팅 번역 api 연결
- ChatBubble.jsx
  - 채팅 번역 api 연결 및 번역하기 기능 추가
  - 길게 눌렀을 때 진동 추가
- package.json, package-lock.json
  - 진동 기능을 위해 Expo Haptics 라이브러리 설치
- ModalMenuChat.jsx
  - 모달 위치 수정

* fix: 채팅 목록에서 닉네임이 안 보이던 문제 및 검색 시 키보드가 안 내려가는 문제 해결

* Fix/connect issues: 커넥트 페이지 문제 해결 (#132)

* style: 커넥트 요청 시 홈 화면 뒷면 문구 및 버튼 문구 변경

수정사항
- HomeCardBack.jsx
  - 커넥트 요청 시 문구를 '커넥트 요청하였습니다'로 변경
  - 커넥트 요청 시 버튼 문구를 ‘뒤로가기로 변경
- HomecardBackBtn.js
  - 조건문을 번역 라이브러리와 호환되도록 수정
- src/translations
  - 요청 완료 문구 추가

* fix: 커넥트 목록 페이지에서 목록 깜박거림 문제 수정

수정사항
- FriendListPage.jsx, RequestConnectListPage.jsx
  - 깜박거림 문제를 해결하기 위해 useEffect + 의존성 배열을 useFocusEffect + useCallback으로 변경

* Feat/password reset and landing update: 비밀번호 재설정 페이지 구현, 랜딩페이지 문구 및 이미지 교체 (#133)

* feat: 비밀번호 재설정 페이지 수정 및 구현

수정사항
- App.jsx
  - 비밀번호 재설정 페이지를 앱 내에 등록
- api.js
  - 비밀번호 재설정 api 연결
- LoginPage.js
  - 임시로 삭제했던 '비밀번호를 까먹었어요' 문구 복원
- FindPasswordPage.js, FindPasswordStyles.js, SetPasswordPage.jsx, SetPasswordStyles.jsx
  - 비밀번호 재설정 페이지 및 스타일 구현
- src/translations/
  - 비밀번호 재설정 페이지 번역 문구 추가

* style: 랜딩페이지 문구 및 이미지 교체

수정사항
- LandingPage.jsx, landing_chat.png, landing_community.png, landing_connect.png
  - 화질 개선된 이미지로 교체
- en.json, es.json
  - 긴 문구를 짧은 문구로 변경

* Fix/multiple improvements 2: 꿀팁게시판 json명, 댓글 익명을 기본으로 변경, 프로필 수정 페이지 한줄소개, 홈 카드 채팅 연결, 알림 관련 문제 해결 (#134)

* fix: 꿀팁게시판 json명 변경 및 댓글 익명을 기본으로 변경

수정사항
- PostPage.jsx
  - 댓글 입력창의 익명 여부를 기본 체크로 변경
- src/translations/, CommunityPage.jsx, PostModifyPage.jsx, TipCommunityPage.jsx
  - tipsBoard에서 tipBoard로 json명 변경에 따른 수정

* fix: 사용자가 한줄소개를 입력 안 했을 때, 프로필 수정 페이지에서 한줄소개 입력창이 안 뜨는 문제 해결

* feat: 홈 카드에서의 채팅 연결 기능 추가

* fix: 알림 관련 문제 해결

수정사항
- api.js
  - 알림 조회 api 형식 변경에 따른 수정 (get: /notifications/)
- LoginPage.js, HomePage.js, NotificationPage.js
  - deviceId 저장 및 사용하여 알림 조회

* Fix/multiple improvements 3: 홈 카드 양끝 화살표, 북마크 및 좋아요 관련 오류 해결, 이미지 라이브러리 변경 (#135)

* style: 홈 양쪽 끝 카드의 화살표 삭제

* fix: 커뮤니티 페이지의 북마크 및 좋아요 관련 오류 해결

수정사항
- PostPage.jsx, ItemComment.jsx
  - 최초 북마크 취소 시 반영되지 않는 문제 해결
  - 게시글 좋아요 취소 시 빈 하트 아이콘이 제대로 업데이트되지 않는 문제 해결
  - 좋아요 두 번 이상 클릭할 때 생성/취소가 올바르게 반영되지 않는 문제 해결
  - 좋아요 생성한 글은 북마크 불가하던 문제 해결

* refactor: 이미지 라이브러리를 expo-image로 변경하여 캐싱이 가능하도록 개선

* fix: 커뮤니티 북마크 구분 및 채팅 북마크에서의 이름 제거

수정사항
- BookmarkedPostPage.jsx, TabBookmarkPostPage.jsx
  - 채팅 북마크와 구분하고 커뮤니티 북마크 부분만 가져오기 위한 필터 적용
  - 북마크 api 함수명 변경에 따른 수정에서 누락된 부분 보완
- BookmarkPage.jsx, Bookmark.jsx, ModalNoBookmark.jsx
  - 채팅 북마크에서 이름 제거

* style: Prettier & ESLint 적용

* Feat/landing notification onboarding improvements: 랜딩페이지 수정, 앱 내 채팅 알림 제거, 온보딩 관련 업데이트 (#139)

* style: 랜딩페이지에 강조 이미지 추가 및 작은 화면 스타일 조정

수정사항
- LandingPage.jsx, LandingStyles.jsx, chat_bubble.png, profile.png
  - 강조 이미지 추가
  - 작은 화면을 고려한 스타일 조정

* feat: 푸시알림 토큰 변경 및 앱 내 채팅 알림 제거

수정사항
- LoginPage.js
  - 푸시알림 토큰 변경
- NotificationPage.js, NotificationCard.js
  - 앱 내에 채팅 알림을 표시하지 않도록 수정

* feat: 온보딩 단계에서 사용자가 선택했던 정보 저장

수정사항
- ProfilePage.js, ProfileMbtiPage.js, ProfileHobbyPage.js, ProfileLanguagePage.js
  - 이전 페이지에서 해당 페이지로 돌아올 때 사용자가 선택했던 정보를 저장하도록 수정
- FilterCategory.js
  - 선택한 mbti와 취미/관심사를 시각적으로 보여줄 수 있도록 수정
- OnboardingContext.js
  - 언어 페이지에서 사용하는 체크박스 선택 정보를 저장하기 위해 checkLanguages 추가

* feat: 온보딩 mbti 페이지에서 선택한 mbti와 다른 mbti 선택 시 즉시 변경 기능 추가

* refactor: handleDataSave 함수 제거 및 onPress에 네비게이션 직접 연결

* Refactor/change image api to: 이름 기반 이미지 조회 API를 ID 기반 조회 API로 변경 (#141)

* refactor: 커뮤니티 세션에서 이름 기반 이미지 조회를 ID 기반 조회로 변경

* refactor: 멤버 페이지의 마이페이지 조회 api에서 가져오던 presignURL 조회 방식을 ID 기반 조회로 변경

* refector:  멤버 및 채팅 세션에서 이름 기반 이미지 조회를 ID 기반 조회로 변경

* fix: 프로필 이미지가 없는 사용자로 인한 채팅 세션 오류 해결 및 불필요한 주석 삭제

* refactor: 홈 세션에서 이름 기반 이미지 조회를 ID 기반 조회로 변경

* feat: 홈 카드 스와이프 제스처 추가 (#142)

* feat: 홈 카드 스와이프 제스처 추가

* style: Prettier & ESLint 적용

* fix: 빌드 오류 수정을 위한 sentry 비활성화 및 i18n 설정 추가 (#145)

* chore(eas): PR을 올렸을 때, 버그 찾기 위해 Preview 보이게 하기 (#137)

개요

- EAS Update 기능을 활용해서, PR마다 branch를 checkout해서 다 확인할
필요없이 자동으로 임시의 Preview를 생성해서 구현 확인을 쉽게하자
- .env.dev는 dev에 들어갈 env를 정의한다. (gitignore에서 제외)
- dev-deploy 파이프라인을 만들어서 preview가 development 빌드의
브랜치에서 보일 수 있도록 한다.
- i18n에서 호환성 문제로 v3를 사용하도록 설정

* refactor(community): Community 페이지에서 Refactoring 진행 (#138)

개요

- fetchPosts를 해서 가져올 때 Promise All 해서 함께 보여줄 수 있도록
변경
- ternary에서 if문으로 바꾸어서  가독성 높임
- 일부 컴포넌트 외부 컴포넌트로 추출: CommunitySection

* fix(login): 로그인 창에서 키보드 깜빡이는 문제 해결 (#140)

개요

- 로그인 창에서 이메일을 치면, 키보드의 자동 암호 부분이 깜빡 거리
- 조사결과, iPhone 14 + iOS 17에 한정해서 발생하는 에러

수정 사항

- 원인은 iPhone 14 + iOS 17에 있다는 조사결과
- 이를 해결하기 위해, 기존에 이메일 값이 계속 변경되어 재렌더링 되는
부분과 겹쳐서 더 심해보였음
- Controlled 컴포넌트를 사용하면서, email 값 관련 재렌더링이 계속 반복되면서 더
심해보였음.
- 따라서, useRef를 통해, 이메일란을 Uncontrolled Component으로 바꾼다
- 추가로 autoCorrect=false로 두어 키보드의 수정을 최소화한다.

참고

- facebook/react-native#39411

- https://dori-coding.tistory.com/entry/React-%EC%A0%9C%EC%96%B4-%EC%BB%B4%ED%8F%AC%EB%84%8C%ED%8A%B8Controlled-Component%EC%99%80-%EB%B9%84%EC%A0%9C%EC%96%B4-%EC%BB%B4%ED%8F%AC%EB%84%8C%ED%8A%B8Uncontrolled-Component

* Feat/chat improvements: 채팅 갤러리 및 카메라 기능 임시 삭제, 개인별 채팅 북마크 페이지, 채팅 나가기 기능 (#147)

* chore: 채팅 세션의 갤러리 및 카메라 기능 임시 삭제

* feat: 개인별 채팅 북마크 페이지 생성

수정사항
- App.jsx
  - 개인별 채팅 북마크 페이지를 앱 내에 등록
- api.js
  - 개인별 채팅 북마크 조회 api 추가
- ChatBookmarkPage.jsx, ChatRoomPage.jsx
  - 개인별 채팅 북마크 페이지 생성 및 채팅방 페이지와 연결

* feat: 채팅 나가기 기능 추가

수정사항
- ChatroomItem.jsx, Delete.svg, IconChatroomExit.jsx
  - 스와이프하여 채팅 나가기 기능 추가
- ChatRoomPage.jsx
  - 채팅 나가기 기능 추가
- ChattingPage.jsx
  - 채팅을 나간 후 채팅 목록 업데이트

---------

Co-authored-by: Seungho Lee <poream3387@gmail.com>
KooSuYeon added a commit that referenced this pull request Oct 18, 2024
* Feat/chat jwt : 채팅에 JWT 입히기 & 넘치는 채팅 조절 (#152)

* feat/chat-jwt-1: refreshToken으로 Auth 변경

- 기존 accessToken으로만 가져왔던 부분 -> refreshToken으로 변경
(AppConfig에 적용)

* feat/chat-jwt-2: 채팅에 JWT 적용

- SecureStore 이용해 refreshToken 가져온 후 가져온 token을 CONNECT/SUB/CHAT 시에 사용
- 기존 채팅에서 가져왔던 memberId 삭제 및 SecurityContext 적용

* feat/chat-jwt-3 : 장문 채팅 깨짐 문제 해결

- 말풍선 보낸이에 따라 채팅 상단/하단에 위치할 지 설정 -> underlay, trailContainer
- 겹칠 때에는 ChattingBubble이 우선시 되도록 zIndex 부여 (1이 우선)

- 채팅 좌우 패딩 줄이기

* feat/chat-jwt-4: run prettier

* feat/chat-jwt-5: lint test

* feat/chat-jwt-6: SecureStore로 들어오는 refreshToken 가져오기 함수화

* feat/chat-keyboard-1: 채팅 키보드 겹침 해결 (#153)

* feat/chat-keyboard-1: 채팅 키보드 겹침 해결

- ChatInputSend를 KeyboardAvoidingView로 겹치는 것이 아닌 ChatRoomPage에서KeyboardAvoidingView로 빼서 키보드%채팅 겹침 해결
- 채팅을 친 후에 자동으로 스크롤 되도록 handleScroll 추가
- 스크롤 바 추가

* feat/chat-keyboard-2: Lint Test

* feat/chat-keyboard-3:npm install --legacy-peer-deps

* feat/chat-keyboard-4: punyCode 추가 및 react-native-safe-area-context 4.7.1 버전 change

* feat/chat-keyboard-5: package.json 불필요사항 삭제

* feat/chat-keyboard-6: 채팅방 친구 목록에서 채팅방 접근 JWT 부여

- 빠트렸던 채팅방 친구 목록에서 채팅방 접근 시에 JWT가 부여될 수 있도록 수정
- ChatroomPage에서도 JWT 부여
- 채팅방 상단 툴 바 marginBottom 줄이기

* feat/chat-keyboard-7: eLint test

* refactor/login-chat-keyboard-1: 로그인 시 비밀번호 보이게 입력할 수 있도록 (#154)

- 채팅 marginTop 원래대로

* Dev (#148)

* Feat/chat updates: 채팅 검색 후 뒤로가기, 채팅 및 북마크 번역 연결, 채팅방 모달, 채팅방 ui/ux 관련 업데이트 (#131)

* feat: 채팅 검색 기능 연결 및 검색 후 뒤로가기 기능 추가

수정사항
- api.js
  - 채팅 검색 api 연결
- ChattingPage.jsx, ChattingStyles.jsx
  - 채팅 검색 백엔드 연결
  - 검색 후 뒤로 가기 기능 추가

* feat: 채팅 세션 번역 라이브러리 적용

수정사항
- Bookmark.jsx, ChatInputSend.jsx, ModalNoBookmark.jsx, BookmarkPage.jsx, ChatRoomPage.jsx, ChattingPage.jsx, FriendListPage.jsx
  - 채팅 세션 번역 라이브러리 적용
  - 기본값 삭제
- src/translations/
  - 채팅 세션 번역 파일

* feat: 같은 사용자로부터 연속된 메시지에서 첫 번째 프로필 메시지 이후 들여쓰기 추가

* feat: 채팅 버블을 길게 눌렀을 때의 북마크, 복사, 신고 모달 기능 구현

수정사항
- api.js
  - 북마크 생성 백엔드 연결
- IconModalBookmark.jsx, IconModalCopy.jsx, src/components/chat/svg/
  - 모달에서 사용할 아이콘 제작
- ChatBubble.jsx, ModalMenuChat.jsx, ChatRoomPage.jsx
  - 채팅 버블을 길게 눌렀을 때의 북마크, 복사, 신고 모달 기능 구현
  - 북마크 기능을 위해 chatId 및 chatroomId 전달
- package.json, package-lock.json
  - 복사 기능을 위해 expo-clipboard 라이브러리 설치

* feat: 채팅 북마크 조회 및 번역 api 연결

수정사항
- api.js, BookmarkedPostPage.jsx, TabBookmarkPostPage.jsx
  - api 변수명 변경 및 변경에 따른 수정
- Bookmark.jsx, BookmarkPage.jsx
  - 채팅 북마크 조회 api 연결
  - 채팅 북마크 번역 api 연결

* feat: 채팅 번역 api 연결
- api.js
  - 채팅 번역 api 연결
- ChatBubble.jsx
  - 채팅 번역 api 연결 및 번역하기 기능 추가
  - 길게 눌렀을 때 진동 추가
- package.json, package-lock.json
  - 진동 기능을 위해 Expo Haptics 라이브러리 설치
- ModalMenuChat.jsx
  - 모달 위치 수정

* fix: 채팅 목록에서 닉네임이 안 보이던 문제 및 검색 시 키보드가 안 내려가는 문제 해결

* Fix/connect issues: 커넥트 페이지 문제 해결 (#132)

* style: 커넥트 요청 시 홈 화면 뒷면 문구 및 버튼 문구 변경

수정사항
- HomeCardBack.jsx
  - 커넥트 요청 시 문구를 '커넥트 요청하였습니다'로 변경
  - 커넥트 요청 시 버튼 문구를 ‘뒤로가기로 변경
- HomecardBackBtn.js
  - 조건문을 번역 라이브러리와 호환되도록 수정
- src/translations
  - 요청 완료 문구 추가

* fix: 커넥트 목록 페이지에서 목록 깜박거림 문제 수정

수정사항
- FriendListPage.jsx, RequestConnectListPage.jsx
  - 깜박거림 문제를 해결하기 위해 useEffect + 의존성 배열을 useFocusEffect + useCallback으로 변경

* Feat/password reset and landing update: 비밀번호 재설정 페이지 구현, 랜딩페이지 문구 및 이미지 교체 (#133)

* feat: 비밀번호 재설정 페이지 수정 및 구현

수정사항
- App.jsx
  - 비밀번호 재설정 페이지를 앱 내에 등록
- api.js
  - 비밀번호 재설정 api 연결
- LoginPage.js
  - 임시로 삭제했던 '비밀번호를 까먹었어요' 문구 복원
- FindPasswordPage.js, FindPasswordStyles.js, SetPasswordPage.jsx, SetPasswordStyles.jsx
  - 비밀번호 재설정 페이지 및 스타일 구현
- src/translations/
  - 비밀번호 재설정 페이지 번역 문구 추가

* style: 랜딩페이지 문구 및 이미지 교체

수정사항
- LandingPage.jsx, landing_chat.png, landing_community.png, landing_connect.png
  - 화질 개선된 이미지로 교체
- en.json, es.json
  - 긴 문구를 짧은 문구로 변경

* Fix/multiple improvements 2: 꿀팁게시판 json명, 댓글 익명을 기본으로 변경, 프로필 수정 페이지 한줄소개, 홈 카드 채팅 연결, 알림 관련 문제 해결 (#134)

* fix: 꿀팁게시판 json명 변경 및 댓글 익명을 기본으로 변경

수정사항
- PostPage.jsx
  - 댓글 입력창의 익명 여부를 기본 체크로 변경
- src/translations/, CommunityPage.jsx, PostModifyPage.jsx, TipCommunityPage.jsx
  - tipsBoard에서 tipBoard로 json명 변경에 따른 수정

* fix: 사용자가 한줄소개를 입력 안 했을 때, 프로필 수정 페이지에서 한줄소개 입력창이 안 뜨는 문제 해결

* feat: 홈 카드에서의 채팅 연결 기능 추가

* fix: 알림 관련 문제 해결

수정사항
- api.js
  - 알림 조회 api 형식 변경에 따른 수정 (get: /notifications/)
- LoginPage.js, HomePage.js, NotificationPage.js
  - deviceId 저장 및 사용하여 알림 조회

* Fix/multiple improvements 3: 홈 카드 양끝 화살표, 북마크 및 좋아요 관련 오류 해결, 이미지 라이브러리 변경 (#135)

* style: 홈 양쪽 끝 카드의 화살표 삭제

* fix: 커뮤니티 페이지의 북마크 및 좋아요 관련 오류 해결

수정사항
- PostPage.jsx, ItemComment.jsx
  - 최초 북마크 취소 시 반영되지 않는 문제 해결
  - 게시글 좋아요 취소 시 빈 하트 아이콘이 제대로 업데이트되지 않는 문제 해결
  - 좋아요 두 번 이상 클릭할 때 생성/취소가 올바르게 반영되지 않는 문제 해결
  - 좋아요 생성한 글은 북마크 불가하던 문제 해결

* refactor: 이미지 라이브러리를 expo-image로 변경하여 캐싱이 가능하도록 개선

* fix: 커뮤니티 북마크 구분 및 채팅 북마크에서의 이름 제거

수정사항
- BookmarkedPostPage.jsx, TabBookmarkPostPage.jsx
  - 채팅 북마크와 구분하고 커뮤니티 북마크 부분만 가져오기 위한 필터 적용
  - 북마크 api 함수명 변경에 따른 수정에서 누락된 부분 보완
- BookmarkPage.jsx, Bookmark.jsx, ModalNoBookmark.jsx
  - 채팅 북마크에서 이름 제거

* style: Prettier & ESLint 적용

* Feat/landing notification onboarding improvements: 랜딩페이지 수정, 앱 내 채팅 알림 제거, 온보딩 관련 업데이트 (#139)

* style: 랜딩페이지에 강조 이미지 추가 및 작은 화면 스타일 조정

수정사항
- LandingPage.jsx, LandingStyles.jsx, chat_bubble.png, profile.png
  - 강조 이미지 추가
  - 작은 화면을 고려한 스타일 조정

* feat: 푸시알림 토큰 변경 및 앱 내 채팅 알림 제거

수정사항
- LoginPage.js
  - 푸시알림 토큰 변경
- NotificationPage.js, NotificationCard.js
  - 앱 내에 채팅 알림을 표시하지 않도록 수정

* feat: 온보딩 단계에서 사용자가 선택했던 정보 저장

수정사항
- ProfilePage.js, ProfileMbtiPage.js, ProfileHobbyPage.js, ProfileLanguagePage.js
  - 이전 페이지에서 해당 페이지로 돌아올 때 사용자가 선택했던 정보를 저장하도록 수정
- FilterCategory.js
  - 선택한 mbti와 취미/관심사를 시각적으로 보여줄 수 있도록 수정
- OnboardingContext.js
  - 언어 페이지에서 사용하는 체크박스 선택 정보를 저장하기 위해 checkLanguages 추가

* feat: 온보딩 mbti 페이지에서 선택한 mbti와 다른 mbti 선택 시 즉시 변경 기능 추가

* refactor: handleDataSave 함수 제거 및 onPress에 네비게이션 직접 연결

* Refactor/change image api to: 이름 기반 이미지 조회 API를 ID 기반 조회 API로 변경 (#141)

* refactor: 커뮤니티 세션에서 이름 기반 이미지 조회를 ID 기반 조회로 변경

* refactor: 멤버 페이지의 마이페이지 조회 api에서 가져오던 presignURL 조회 방식을 ID 기반 조회로 변경

* refector:  멤버 및 채팅 세션에서 이름 기반 이미지 조회를 ID 기반 조회로 변경

* fix: 프로필 이미지가 없는 사용자로 인한 채팅 세션 오류 해결 및 불필요한 주석 삭제

* refactor: 홈 세션에서 이름 기반 이미지 조회를 ID 기반 조회로 변경

* feat: 홈 카드 스와이프 제스처 추가 (#142)

* feat: 홈 카드 스와이프 제스처 추가

* style: Prettier & ESLint 적용

* fix: 빌드 오류 수정을 위한 sentry 비활성화 및 i18n 설정 추가 (#145)

* chore(eas): PR을 올렸을 때, 버그 찾기 위해 Preview 보이게 하기 (#137)

개요

- EAS Update 기능을 활용해서, PR마다 branch를 checkout해서 다 확인할
필요없이 자동으로 임시의 Preview를 생성해서 구현 확인을 쉽게하자
- .env.dev는 dev에 들어갈 env를 정의한다. (gitignore에서 제외)
- dev-deploy 파이프라인을 만들어서 preview가 development 빌드의
브랜치에서 보일 수 있도록 한다.
- i18n에서 호환성 문제로 v3를 사용하도록 설정

* refactor(community): Community 페이지에서 Refactoring 진행 (#138)

개요

- fetchPosts를 해서 가져올 때 Promise All 해서 함께 보여줄 수 있도록
변경
- ternary에서 if문으로 바꾸어서  가독성 높임
- 일부 컴포넌트 외부 컴포넌트로 추출: CommunitySection

* fix(login): 로그인 창에서 키보드 깜빡이는 문제 해결 (#140)

개요

- 로그인 창에서 이메일을 치면, 키보드의 자동 암호 부분이 깜빡 거리
- 조사결과, iPhone 14 + iOS 17에 한정해서 발생하는 에러

수정 사항

- 원인은 iPhone 14 + iOS 17에 있다는 조사결과
- 이를 해결하기 위해, 기존에 이메일 값이 계속 변경되어 재렌더링 되는
부분과 겹쳐서 더 심해보였음
- Controlled 컴포넌트를 사용하면서, email 값 관련 재렌더링이 계속 반복되면서 더
심해보였음.
- 따라서, useRef를 통해, 이메일란을 Uncontrolled Component으로 바꾼다
- 추가로 autoCorrect=false로 두어 키보드의 수정을 최소화한다.

참고

- facebook/react-native#39411

- https://dori-coding.tistory.com/entry/React-%EC%A0%9C%EC%96%B4-%EC%BB%B4%ED%8F%AC%EB%84%8C%ED%8A%B8Controlled-Component%EC%99%80-%EB%B9%84%EC%A0%9C%EC%96%B4-%EC%BB%B4%ED%8F%AC%EB%84%8C%ED%8A%B8Uncontrolled-Component

* Feat/chat improvements: 채팅 갤러리 및 카메라 기능 임시 삭제, 개인별 채팅 북마크 페이지, 채팅 나가기 기능 (#147)

* chore: 채팅 세션의 갤러리 및 카메라 기능 임시 삭제

* feat: 개인별 채팅 북마크 페이지 생성

수정사항
- App.jsx
  - 개인별 채팅 북마크 페이지를 앱 내에 등록
- api.js
  - 개인별 채팅 북마크 조회 api 추가
- ChatBookmarkPage.jsx, ChatRoomPage.jsx
  - 개인별 채팅 북마크 페이지 생성 및 채팅방 페이지와 연결

* feat: 채팅 나가기 기능 추가

수정사항
- ChatroomItem.jsx, Delete.svg, IconChatroomExit.jsx
  - 스와이프하여 채팅 나가기 기능 추가
- ChatRoomPage.jsx
  - 채팅 나가기 기능 추가
- ChattingPage.jsx
  - 채팅을 나간 후 채팅 목록 업데이트

---------

Co-authored-by: Seungho Lee <poream3387@gmail.com>

* test/from-dev-1: From Dev To Staging

* test/from-dev-2: package 테스트 오류잡기

---------

Co-authored-by: nnyouung <104901660+nnyouung@users.noreply.github.com>
Co-authored-by: Seungho Lee <poream3387@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants