Skip to content

[Feature]: 제휴/행사 검색, 좋아요 토스트, 게시글 삭제 에러처리#68

Merged
daeun088 merged 10 commits intodevelopfrom
feat/67-affiliation-council-ui
Mar 1, 2026
Merged

[Feature]: 제휴/행사 검색, 좋아요 토스트, 게시글 삭제 에러처리#68
daeun088 merged 10 commits intodevelopfrom
feat/67-affiliation-council-ui

Conversation

@daeun088
Copy link
Contributor

📌 관련 이슈

close #67

✨ 변경 사항

제휴/행사 목록 검색 기능, 좋아요·게시글 등록 토스트 알림, 게시글 삭제 에러 처리, 공용 Toast/ConfirmModal 컴포넌트 추가

🧩 세부 내용

  • AffiliationMainScreen: 검색 모드 UI 추가 (검색바 ↔ 칩 전환, 클라이언트 사이드 필터링)
  • AffiliationMainScreen 검색 Row 스타일 통일 (패딩, 아이콘 크기/위치, 배경색)
  • AffiliationMainScreen / AffiliationDetailScreen / AffiliationLikedScreen: 좋아요 추가/취소 토스트 연결
  • SelectAffiliationLogoScreen / WriteEventPostScreen: 게시글 등록 토스트 연결 (react-native-toast-message → 공용 Toast 컴포넌트로 교체)
  • CouncilAffiliateDetailScreen: 게시글 삭제 API 에러 처리 및 로딩 상태(isDeleting) 추가
  • 공용 Toast.js 컴포넌트 추가 (bottom 포지셔닝, 애니메이션, hasNavBar 옵션)
  • 공용 ConfirmModal.js 컴포넌트 추가
  • Toast 텍스트 스타일 하드코딩 fontSizetypography.body4Regular 토큰으로 교체

📸 스크린샷 (선택)

image

💬 기타 참고사항

  • CustomToast 별도 유지 — 신규 Toast.js 는 화면 하단 포지션으로 용도 구분

- CouncilAffiliateDetailScreen 헤더에 ⋮ 버튼 추가
- EditPostBottomSheet 연동으로 수정/삭제 메뉴 표시
- 삭제 시 ConfirmModal로 확인 다이얼로그 표시
- ConfirmModal 공용 컴포넌트 신규 생성
- hasNavBar prop으로 위치 동적 계산
  - 탭바 있을 때: safeArea + tabBarHeight(49) + 22px
  - 탭바 없을 때: screenHeight - 736px
- tabBarHeight prop으로 커스텀 탭바 높이 지원
- CouncilAffiliateDetailScreen: 삭제 API 에러 처리 및 로딩 상태 추가
- Toast: 하드코딩 fontSize → typography.body4Regular 토큰으로 교체
@daeun088 daeun088 requested a review from MlNTYS February 23, 2026 11:04
@daeun088 daeun088 self-assigned this Feb 23, 2026
@daeun088 daeun088 added ♻️ refactor This issue or pull request already exists ✨ feature New feature or request 🎨 design labels Feb 23, 2026
@daeun088 daeun088 changed the title [Feat] 제휴/행사 검색, 좋아요 토스트, 게시글 삭제 에러처리 [Feature]: 제휴/행사 검색, 좋아요 토스트, 게시글 삭제 에러처리 Feb 23, 2026
setIsDeleteModalVisible(false);
setIsDeleting(true);
try {
await deleteCouncilPost(postId, accessToken);
Copy link
Contributor

Choose a reason for hiding this comment

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

SHOULD: councilAffiliate.js 쪽 보니까 return쪽에서 error를 throw해주지 않아고 삼켜버려서 아래의 catch가 실행되지 않을 거 같습니다..!

container: {
position: 'absolute',
alignSelf: 'center',
backgroundColor: '#595F63CC',
Copy link
Contributor

Choose a reason for hiding this comment

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

SHOULD: colors.gray[700]에 투명도 80%가 더 좋아 보입니다!

borderRadius: 50,
},
text: {
color: 'white',
Copy link
Contributor

Choose a reason for hiding this comment

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

SHOULD: 이 부분도 colors.common.white 가 맞아 보여요!


const bottomPosition = hasNavBar
? insets.bottom + tabBarHeight + 22
: screenHeight - 736;
Copy link
Contributor

Choose a reason for hiding this comment

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

SHOULD: 상수보다는 여기도 뭔가 동적으로 계산할 수 있으면 좋을 거 같아요.

const [isEmpty, setIsEmpty] = useState(true);
const [recommendData, setRecommendData] = useState([]);
const [imagesLoaded, setImagesLoaded] = useState({}); // 각 이미지의 로딩 상태 추적
const [toastVisible, setToastVisible] = useState(false);
Copy link
Contributor

Choose a reason for hiding this comment

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

SHOULD: 이 부분이 계속 여기저기 반복되는 거 같은데, 커스텀 훅이나 중간에서 관리하는 방법이 있으면 좋을 거 같습니다..!

Copy link
Contributor

@MlNTYS MlNTYS left a comment

Choose a reason for hiding this comment

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

수고하셨습니다! councilAffiliate.js 부분만 잘 봐주시면 좋을 거 같습니다! 수고하셨어요!

- deleteCouncilPost: error catch 후 re-throw 추가
- Toast: backgroundColor/color 하드코딩 → colors 토큰으로 교체
- Toast: bottomPosition → insets.bottom + 22 동적 처리
- colors: overlay.toast 토큰 추가
- useToast 커스텀 훅 추출
- 5개 스크린에 useToast 적용
@daeun088 daeun088 requested a review from MlNTYS February 25, 2026 15:00
Copy link
Contributor

@MlNTYS MlNTYS left a comment

Choose a reason for hiding this comment

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

수고하셨습니다!!

Image

@daeun088 daeun088 merged commit 9257433 into develop Mar 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🎨 design ✨ feature New feature or request ♻️ refactor This issue or pull request already exists

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature]: 리뷰 플로우 수정 및 제휴 검색 UI

2 participants