62d32a6f6fe6738491cbe2bfbb1b7182f2187b9d
🕐 커밋 시간: 2025. 09. 04. 16:38:16 💬 사용자 메시지: UserReviews showAllReviews 토글 기능 완전 구현 (Target 동기화) 주요 변경사항: • Redux 상태 관리 완전 동기화 (Source와 동일) - actionTypes.js: TOGGLE_SHOW_ALL_REVIEWS 액션 타입 추가 - productActions.js: toggleShowAllReviews() 액션 크리에이터 구현 - productReducer.js: handleToggleShowAllReviews 리듀서 핸들러 추가 • ProductAllSection 컴포넌트 수정 (Source와 동일) - LayoutSample 버튼에 toggleShowAllReviews 디스패치 연결 - handleLayoutSampleClick 핸들러로 Redux 액션 호출 구현 - ProductAllSection.module.less에 LayoutSample 스타일 추가 • UserReviews 컴포넌트 핵심 개선 (Target 전용 수정) - 기존 복잡한 DOM 조작 로직 완전 제거 * containerRef.current.querySelector 방식 삭제 * 복잡한 스타일 조작 및 resize 이벤트 로직 제거 - Source의 간단한 TScroller ref 기반 로직으로 교체 * tScrollerRef.current.calculateMetrics() 호출 * tScrollerRef.current.scrollTo() 호출 * 100ms setTimeout으로 단순화 - toggleShowAllReviews import 및 dispatch 연결 완성 • TScroller 동작 최적화 - key prop 동적 변경으로 강제 재렌더링 트리거 - showAllReviews 상태 변경 시 스크롤 영역 자동 재계산 - 5개 → 100개 리뷰 전체 렌더링 지원 • 코드 안정성 개선 - 복잡한 DOM 쿼리 로직 제거로 에러 가능성 감소 - TScroller ref 직접 접근으로 안정적인 스크롤 업데이트 - React 렌더링 사이클과 동기화된 업데이트 타이밍 Target 특화 문제 해결: - Source와 완전 동일한 코드 베이스 구축 - 복잡한 DOM 조작 로직을 간단한 ref 기반으로 통합 - LayoutSample 클릭 → 100개 리뷰 표시 기능 완성 📊 변경 통계: • 총 파일: 8개 • 추가: +192줄 • 삭제: -26줄 📁 추가된 파일: + package-lock.json 📝 수정된 파일: ~ com.twin.app.shoptime/src/actions/actionTypes.js ~ com.twin.app.shoptime/src/actions/productActions.js ~ com.twin.app.shoptime/src/reducers/productReducer.js ~ com.twin.app.shoptime/src/views/DetailPanel/ProductAllSection/ProductAllSection.jsx ~ com.twin.app.shoptime/src/views/DetailPanel/ProductAllSection/ProductAllSection.module.less ~ com.twin.app.shoptime/src/views/DetailPanel/ProductContentSection/UserReviews/UserReviews.jsx ~ com.twin.app.shoptime/src/views/DetailPanel/ProductContentSection/UserReviews/UserReviews.module.less 🔧 주요 변경 내용: • 타입 시스템 안정성 강화 • 핵심 비즈니스 로직 개선 • 중간 규모 기능 개선 • 모듈 구조 개선
ShopTime
LG ShopTime Project
브랜치 관리 전략
프로젝트는 다음과 같은 브랜치 구조로 관리됩니다:
주요 브랜치
-
main- 최종 릴리즈 및 검증이 완료된 소스 코드 보관
- 매주 목요일: QA 브랜치에서 검증 완료된 코드를 main으로 병합
-
qa- 2차 테스트 및 최종 릴리즈 검증용 브랜치
- 매주 화요일: 배포 진행
- 매주 수요일: 검증 진행
-
qa2- 1차 테스트용(qa2 배포) 소스 코드 보관
- LG 깃 레포지토리의 QA2 브랜치와 동기화 필수
-
develop- 고도화 작업 및 유지보수팀 코드 통합 브랜치
- 기능 개발 완료 후 코드 리뷰를 거쳐 해당 브랜치로 병합
작업용 브랜치
-
hotfix- 유지보수팀 전용 브랜치
- 수정 완료 후 develop 브랜치로 병합
-
feat/name_v2- 고도화 작업팀 전용 브랜치
- 기능별로 별도 브랜치 생성 필요
- 예:
feat/home_v2,feat/search_v2 - 작업 완료 후 develop 브랜치로 병합
배포 프로세스
-
화요일
- QA 브랜치 배포
- QA2 → QA 브랜치 병합
-
수요일
- QA 브랜치 검증 진행
-
목요일
- QA → Main 브랜치 병합
- Main 브랜치 릴리즈
- 배포에 대한 자세한 설명은 배포 가이드를 참고해주세요.
커밋 메시지 컨벤션
고도화 작업
- [branch name]Type : 작업내용
- git commit -m "[home]feat : 선택약관 동의시 배너 나타남"
유지보수 작업
- [jira task Number]Type : 작업내용
- git commit -m "[SHOPTIME-4020]fix : pdf open test"
Type
feat: 새로운 기능 추가fix: 버그 수정docs: 문서 수정style: 코드 포맷팅refactor: 코드 리팩토링test: 테스트 코드chore: 빌드 업무 수정
긴급 배포 프로세스
-
긴급 수정 사항 발생 시
hotfix브랜치에서 작업- 담당 PM 및 리드 개발자 승인 필수
-
긴급 배포 승인 시
hotfix→qa2병합- QA2 검증 진행
- 검증 완료 후
qa→main순차적 배포
-
배포 후 조치
- 긴급 배포 내역 문서화
- 재발 방지 대책 수립
develop브랜치에도 수정사항 반영
Description
Languages
JavaScript
83.3%
Less
16.7%