optrader 62d32a6f6f [250904] feat: UserReviews 전체 표시 기능 및 TScroller 동기화 구현
🕐 커밋 시간: 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

🔧 주요 변경 내용:
  • 타입 시스템 안정성 강화
  • 핵심 비즈니스 로직 개선
  • 중간 규모 기능 개선
  • 모듈 구조 개선
2025-09-04 16:38:19 +09:00
2025-05-15 16:34:00 +09:00
2024-10-14 17:31:11 +09:00
2025-06-30 00:51:34 +00:00
2025-06-30 00:51:34 +00:00

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 브랜치로 병합

배포 프로세스

  1. 화요일

    • QA 브랜치 배포
    • QA2 → QA 브랜치 병합
  2. 수요일

    • QA 브랜치 검증 진행
  3. 목요일

    • 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: 빌드 업무 수정

긴급 배포 프로세스

  1. 긴급 수정 사항 발생 시

    • hotfix 브랜치에서 작업
    • 담당 PM 및 리드 개발자 승인 필수
  2. 긴급 배포 승인 시

    • hotfixqa2 병합
    • QA2 검증 진행
    • 검증 완료 후 qamain 순차적 배포
  3. 배포 후 조치

    • 긴급 배포 내역 문서화
    • 재발 방지 대책 수립
    • develop 브랜치에도 수정사항 반영
Description
No description provided
Readme 177 MiB
Languages
JavaScript 83.3%
Less 16.7%