4fcc42f356
Break down the monolithic VideoPlayer component into smaller, highly cohesive modules to improve maintainability and separate concerns. - Extract UI sub-components into dedicated files (`VideoControls` and `ControlButton`). - Abstract complex playback state, event listeners, scrubbing, and keyboard shortcuts into a custom `useVideoPlayer` hook. - Move time formatting utilities to a dedicated `format.ts` file. - Relocate shared constants and types to dedicated files (`constants.ts` and `types.ts`). - Simplify the main `VideoPlayer` component to act as a lightweight presentation orchestrator.