[251124] fix: PlayerPanel,VideoPlayer 최적화-3

🕐 커밋 시간: 2025. 11. 24. 17:55:07

📊 변경 통계:
  • 총 파일: 5개
  • 추가: +66줄
  • 삭제: -1줄

📝 수정된 파일:
  ~ com.twin.app.shoptime/src/actions/actionTypes.js
  ~ com.twin.app.shoptime/src/actions/playActions.js
  ~ com.twin.app.shoptime/src/components/VideoPlayer/TReactPlayer.jsx
  ~ com.twin.app.shoptime/src/reducers/playReducer.js
  ~ com.twin.app.shoptime/src/views/PlayerPanel/PlayerPanel.jsx

🔧 주요 변경 내용:
  • 타입 시스템 안정성 강화
  • 핵심 비즈니스 로직 개선
  • UI 컴포넌트 아키텍처 개선
  • 소규모 기능 개선
This commit is contained in:
2025-11-24 17:55:08 +09:00
parent becf984efc
commit eed4ef8909
5 changed files with 66 additions and 1 deletions

View File

@@ -786,6 +786,28 @@ export const CLEAR_PLAYER_INFO = () => ({
type: types.CLEAR_PLAYER_INFO,
});
// 특정 자막 Blob URL을 해제하는 액션 생성자
export const clearSubtitleBlob = (subtitleUrl) => (dispatch, getState) => {
const currentBlobs = getState().play.subTitleBlobs;
const blobUrl = currentBlobs[subtitleUrl];
// Blob URL 해제
if (blobUrl && blobUrl.startsWith('blob:')) {
try {
URL.revokeObjectURL(blobUrl);
dlog('[clearSubtitleBlob] Revoked Blob URL:', subtitleUrl);
} catch (error) {
derror('[clearSubtitleBlob] Failed to revoke Blob URL:', error);
}
}
// Redux 상태에서 제거
dispatch({
type: types.CLEAR_SUBTITLE_BLOB,
payload: { subtitleUrl }
});
};
/**
* 비디오 재생 상태를 Redux에 업데이트합니다.
* @param {Object} playState - 업데이트할 재생 상태