feat(v2): 4탭 IA 재구성 + 바/QR/오픈채팅·마이페이지·최신 뉴스 섹션#166
Open
imhyunho99 wants to merge 8 commits into
Open
Conversation
- 딥링크(onzcocktail://, https://onz-cocktail.kr): cocktail/:id, v/:slug 라우트 - 4탭 IA 재구성(마이 탭 제거→가이드 독립 탭), BottomTabNavigator 정비 - 의존성 추가: react-native-vision-camera(QR), react-native-sse(채팅), react-native-markdown-display(뉴스) - ios Podfile(.lock)/Info.plist, AndroidManifest, apple-app-site-association - .gitignore 에 .maestro(로컬 E2E) 제외 추가 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- HomeFeedScreen: hero + 뉴스/가이드 인터리브 피드 + 인기 레시피 혼합 - 우상단 케밥(⋮) 메뉴 진입점 - 뉴스 목록/상세(마크다운, 썸네일), 원문 링크 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- 바 목록/상세, 메뉴(가격 게이팅), 방문한 바 목록 - QrScanScreen: vision-camera + 카메라 없을 시 코드 수동입력 폴백 → visit-session(L1/L2) - BarSessionStore(세션 저장/갱신), Mock 위치 탐지(native iOS/Android) - 채팅: SSE/폴링 트랜스포트, BarChatScreen(익명 닉네임) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- 레시피북 세그먼트 제거 → 레시피(칵테일) 전용, 가이드 독립 탭 분리 - 칵테일 상세/제조단계(CocktailStepsScreen), 카드, 전체목록, 검색/검색결과 개편 - 추천 플로우 정비(RecommendationScreen/ViewModel/결과) - 구 화면 제거: CocktailBookScreen, TestData, LoadingScreen, RecommendationFlowScreen, ResultScreen, Webview Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- 마이페이지 우상단 메뉴 도달(TopRightMenu 연동), 프로필/탈퇴/로그인 화면 - axios 인터셉터: 토큰 첨부 + 401 리프레시 - API 클라이언트(lib/api.ts) + 응답 타입(types/api.ts), DataSource 정비 - 구 WithdrawBottomSheet 제거 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- TopRightMenu(우상단 케밥 드롭다운): 마이페이지/보관함/방문바/문의/약관 진입 - 공통 컴포넌트: RemoteImage, EmptyState, ErrorState, ErrorBoundary, SkeletonList - 테마(theme.ts)·레이아웃(layout.ts) 유틸 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
홈 상단, '나에게 맞는 칵테일 추천 받기' CTA와 '인기 레시피' 사이에 최신 뉴스를 가로 스크롤로 미리 보여주는 하이라이트 섹션을 추가한다. - NewsScreen 과 동일하게 GET /api/v2/news 를 쓰고(unwrap<NewsFeedResponse>), 최신순으로 내려오므로 앞에서 10건만 취한다 - 홈 보조 섹션이라 로드 실패 시 조용히 비운다 — 본 피드(/api/v2/main)에는 영향 없음 - '전체보기'는 기존 NewsScreen 으로, 카드 탭은 기존 openNews(NewsDetailScreen)로 연결(새 화면/라우트 불필요) - 뉴스는 제목이 길어 레시피 카드보다 넓은 200pt 카드 + 16:9 이미지로 스타일 분리 참고: 요청의 "메뉴 기준"에서 메뉴는 전역 엔드포인트가 없어(바 종속 메뉴뿐) 이번 섹션은 뉴스 기준으로 구현했다. 메뉴 혼합이 필요하면 별도 논의 필요. tsc --noEmit 0 에러. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
imhyunho99
commented
Jul 12, 2026
| throw new ApiError('서버 응답 형식이 올바르지 않습니다.', -1); | ||
| } | ||
| if (body.code !== 1) { | ||
| throw new ApiError(body.msg || '요청을 처리하지 못했습니다.', body.code); |
Contributor
Author
There was a problem hiding this comment.
셀프리뷰: unwrap 이 code === -2(토큰 재발급 필요)를 일반 실패와 동일하게 ApiError 로 throw 함. 이게 안전하려면 axios_interceptor.tsx 가 응답이 여기 도달하기 전에 reissue 를 끝냈다는 전제가 성립해야 함. 인터셉터가 -2 를 못 잡는 경로(예: 인터셉터 미적용 인스턴스/직접 호출)가 하나라도 있으면 사용자가 재발급 대신 일반 오류 토스트를 보게 됨. -2 왕복이 인터셉터에서 실제로 처리되는지 호출부 전수 확인 권장.
Contributor
Author
🔀 머지 참고
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
왜 (목표)
Java 정본 v2 백엔드에 맞춰 앱을 4탭 IA(홈/가이드/레시피북/바)로 재구성하고, 바/QR/오픈채팅·마이페이지·최신 뉴스 섹션 등 신규 화면을 통합한다.
무엇을 (변경 요약)
2105bc0)e7584c6)c03de48)a5c1ec3)b3cc51f)e5406d6)8fe05c6)d8ee8bb)검증
tsc --noEmit→ 0 errorseslint .→ 0 errors (151 warnings: 대부분 기존 inline-style/no-shadow 경고)리스크 · 롤백
main대비 8커밋. based39bcaa(App Store ID)는 이미main에 포함되어 diff 는 정확히 이 8커밋.http://localhost/onz로컬 스위치 → 운영값) 확인 필요.후속 TODO
__tests__/App.test.tsx(RN 스캐폴드)가react-test-renderer미설치로jest실패.575935f Initial commit부터 존재. devDependency 추가 또는 테스트 정리 필요.