From 23bdd9a5cac29fd23d400b8ae97ce14b1b42af34 Mon Sep 17 00:00:00 2001 From: tapframe Date: Fri, 24 Oct 2025 21:07:40 +0530 Subject: [PATCH] update default subtitesize absed on screen width --- src/components/player/AndroidVideoPlayer.tsx | 13 ++++++++----- src/components/player/KSPlayerCore.tsx | 11 +++++++---- src/components/player/utils/playerTypes.ts | 10 ++++++++++ 3 files changed, 25 insertions(+), 9 deletions(-) diff --git a/src/components/player/AndroidVideoPlayer.tsx b/src/components/player/AndroidVideoPlayer.tsx index 6b2dbdf..a515196 100644 --- a/src/components/player/AndroidVideoPlayer.tsx +++ b/src/components/player/AndroidVideoPlayer.tsx @@ -19,7 +19,8 @@ import { useMetadata } from '../../hooks/useMetadata'; import { useSettings } from '../../hooks/useSettings'; import { - DEFAULT_SUBTITLE_SIZE, + DEFAULT_SUBTITLE_SIZE, + getDefaultSubtitleSize, AudioTrack, TextTrack, ResizeModeType, @@ -2309,12 +2310,14 @@ const AndroidVideoPlayer: React.FC = () => { try { await AsyncStorage.removeItem(SUBTITLE_SIZE_KEY); } catch {} return; } - // If no saved settings, use default - setSubtitleSize(DEFAULT_SUBTITLE_SIZE); + // If no saved settings, use responsive default + const screenWidth = Dimensions.get('window').width; + setSubtitleSize(getDefaultSubtitleSize(screenWidth)); } catch (error) { logger.error('[AndroidVideoPlayer] Error loading subtitle size:', error); - // Fallback to default on error - setSubtitleSize(DEFAULT_SUBTITLE_SIZE); + // Fallback to responsive default on error + const screenWidth = Dimensions.get('window').width; + setSubtitleSize(getDefaultSubtitleSize(screenWidth)); } }; diff --git a/src/components/player/KSPlayerCore.tsx b/src/components/player/KSPlayerCore.tsx index 3a1f556..540a0bd 100644 --- a/src/components/player/KSPlayerCore.tsx +++ b/src/components/player/KSPlayerCore.tsx @@ -21,6 +21,7 @@ import { useSettings } from '../../hooks/useSettings'; import { DEFAULT_SUBTITLE_SIZE, + getDefaultSubtitleSize, AudioTrack, TextTrack, ResizeModeType, @@ -1754,12 +1755,14 @@ const KSPlayerCore: React.FC = () => { try { await AsyncStorage.removeItem(SUBTITLE_SIZE_KEY); } catch {} return; } - // If no saved settings, use default - setSubtitleSize(DEFAULT_SUBTITLE_SIZE); + // If no saved settings, use responsive default + const screenWidth = Dimensions.get('window').width; + setSubtitleSize(getDefaultSubtitleSize(screenWidth)); } catch (error) { logger.error('[VideoPlayer] Error loading subtitle size:', error); - // Fallback to default on error - setSubtitleSize(DEFAULT_SUBTITLE_SIZE); + // Fallback to responsive default on error + const screenWidth = Dimensions.get('window').width; + setSubtitleSize(getDefaultSubtitleSize(screenWidth)); } }; diff --git a/src/components/player/utils/playerTypes.ts b/src/components/player/utils/playerTypes.ts index 5f26ece..b15a2b9 100644 --- a/src/components/player/utils/playerTypes.ts +++ b/src/components/player/utils/playerTypes.ts @@ -7,6 +7,16 @@ export const RESUME_PREF = { }; export const SUBTITLE_SIZE_KEY = '@subtitle_size_preference'; + +// Helper function to get responsive subtitle size based on screen width +export const getDefaultSubtitleSize = (screenWidth: number): number => { + if (screenWidth >= 1440) return 65; // TV + if (screenWidth >= 1024) return 55; // Large tablet + if (screenWidth >= 768) return 45; // Tablet + return 30; // Phone +}; + +// Keep the constant for backward compatibility, using phone size as base export const DEFAULT_SUBTITLE_SIZE = 30; // Define the TrackPreferenceType for audio/text tracks