-
Notifications
You must be signed in to change notification settings - Fork 2
Closed
Labels
Refactor코드 리팩토링 관련코드 리팩토링 관련
Description
📌 코드 리펙토링 내용
- homeHooks.ts: 홈 훅에서 CATEGORY_MAP 의존성을 model로 이동한 구조에 맞춰 import만 정리.
• useListingDetailHooks.ts: pinpoint 쿼리에서 이전 데이터를 유지해 UI 깜빡임/로딩 리셋 최소화.
• hooks.tsx: 공용 상수 제거하고 라우팅/핀포인트 변경 로직을 전용 훅으로 캡슐화해 재사용성과 응집도 향상.
• model.tsx: 검색 카테고리 설정/매핑을 model 레이어로 이동해 관심사 분리 및 import 일관성 강화.
• pinpointSelectedButton.tsx: 시트 하단 버튼 영역을 독립 컴포넌트로 분리해 재사용/가독성 개선.
• homeFullSheet.tsx: 라우팅 로직과 버튼 UI를 분리해 컴포넌트 책임 축소, 모드별 렌더 조건 명확화.
• pinpointRowBoxs.tsx: 핀포인트 처리 로직을 훅으로 이관, 로딩 시 스켈레톤 UI 적용.
• skeleton.tsx: PinpointRowBox 전용 스켈레톤 추가로 로딩 상태 UI 일관성 확보.
• homeResultSectionHeader.tsx: SEARCH_CATEGORY_CONFIG 이동에 따른 경로 정리.
• listingsModel.ts: (리팩토링 중) useMemo 사용 대비 import 추가.
✅ 리펙토링 결과
2)변경으로 기대되는 효과(UX/성능/구조)
• UX: 핀포인트 목록 로딩 시 스피너 대신 리스트형 스켈레톤으로 가독성/맥락 유지.
• 구조: UI 컴포넌트와 로직(라우팅/핀포인트 변경) 분리로 응집도 상승, 재사용 용이.
• 유지보수: 검색 카테고리 설정을 model 레이어로 이동해 의존성 정리, import 일관성 향상.
• 데이터 안정성: placeholderData로 이전 결과 유지 → 로딩 중 UI 깜빡임 완화.
3)화면/UI 결과 설명(스켈레톤 동작 포함)
• 핀포인트 로딩 중: 리스트 형태의 스켈레톤 3개가 표시됨(제목 + 배지 + 주소 라인).
• 로딩 완료: 기존과 동일하게 PinpointItem 목록이 표시됨.
• 홈 시트 하단 버튼: 표시/숨김 조건은 기존과 동일하며, UI는 분리 컴포넌트로 렌더.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
Refactor코드 리팩토링 관련코드 리팩토링 관련
Type
Projects
Status
Done