@zezosoft/zezo-ott-react-native-ui-kit 1.2.1 → 1.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/module/components/Auth/AuthProvider/AuthProvider.js +2 -2
- package/lib/module/components/Auth/AuthProvider/AuthProvider.js.map +1 -1
- package/lib/module/components/Auth/One/ForgotPassword/ForgotPassword.js +16 -16
- package/lib/module/components/Auth/One/ForgotPassword/ForgotPassword.js.map +1 -1
- package/lib/module/components/Auth/One/Login/LoginWithEmail.js +16 -16
- package/lib/module/components/Auth/One/Login/LoginWithEmail.js.map +1 -1
- package/lib/module/components/Auth/One/Login/LoginWithPhone.js +17 -17
- package/lib/module/components/Auth/One/Login/LoginWithPhone.js.map +1 -1
- package/lib/module/components/Auth/One/OTP/OTP.js +16 -16
- package/lib/module/components/Auth/One/OTP/OTP.js.map +1 -1
- package/lib/module/components/Auth/One/SignUp/SignUp.js +17 -17
- package/lib/module/components/Auth/One/SignUp/SignUp.js.map +1 -1
- package/lib/module/components/Auth/One/SplashScreen/SplashScreen.js +57 -76
- package/lib/module/components/Auth/One/SplashScreen/SplashScreen.js.map +1 -1
- package/lib/module/components/Auth/One/SplashScreen/components/SplashImage/SplashImage.js +23 -26
- package/lib/module/components/Auth/One/SplashScreen/components/SplashImage/SplashImage.js.map +1 -1
- package/lib/module/components/Auth/One/SplashScreen/components/SplashLottie/SplashLottie.js +56 -18
- package/lib/module/components/Auth/One/SplashScreen/components/SplashLottie/SplashLottie.js.map +1 -1
- package/lib/module/components/Auth/One/SplashScreen/components/SplashVideo/SplashVideo.js +62 -71
- package/lib/module/components/Auth/One/SplashScreen/components/SplashVideo/SplashVideo.js.map +1 -1
- package/lib/module/components/Auth/Two/AuthHeader/AuthHeader.js +20 -17
- package/lib/module/components/Auth/Two/AuthHeader/AuthHeader.js.map +1 -1
- package/lib/module/components/Auth/Two/ForgotPassword/ForgotPassword.js +11 -12
- package/lib/module/components/Auth/Two/ForgotPassword/ForgotPassword.js.map +1 -1
- package/lib/module/components/Auth/Two/Login/EmailOrPhoneLogin.js +489 -0
- package/lib/module/components/Auth/Two/Login/EmailOrPhoneLogin.js.map +1 -0
- package/lib/module/components/Auth/Two/OTP/OTP.js +2 -2
- package/lib/module/components/Auth/Two/OTP/OTP.js.map +1 -1
- package/lib/module/components/Auth/Two/SignUp/SignUp.js +2 -2
- package/lib/module/components/Auth/Two/SignUp/SignUp.js.map +1 -1
- package/lib/module/components/Auth/Two/index.js +3 -7
- package/lib/module/components/Auth/Two/index.js.map +1 -1
- package/lib/module/components/BackgroundLayout/{BackgroundLayout.js → One/One.js} +12 -9
- package/lib/module/components/BackgroundLayout/One/One.js.map +1 -0
- package/lib/module/components/BackgroundLayout/{BackgroundLayoutOne.js → Two/Two.js} +11 -5
- package/lib/module/components/BackgroundLayout/Two/Two.js.map +1 -0
- package/lib/module/components/BackgroundLayout/index.js +10 -0
- package/lib/module/components/BackgroundLayout/index.js.map +1 -0
- package/lib/module/components/ContentView/One/components/AboutSection.js +9 -18
- package/lib/module/components/ContentView/One/components/AboutSection.js.map +1 -1
- package/lib/module/components/ContentView/One/components/GenreTags.js +5 -1
- package/lib/module/components/ContentView/One/components/GenreTags.js.map +1 -1
- package/lib/module/components/ContentView/Two/components/AboutSection.js +4 -1
- package/lib/module/components/ContentView/Two/components/AboutSection.js.map +1 -1
- package/lib/module/components/ContentView/Two/components/Details.js +3 -0
- package/lib/module/components/ContentView/Two/components/Details.js.map +1 -1
- package/lib/module/components/ContentView/Two/components/GenreTags.js +4 -1
- package/lib/module/components/ContentView/Two/components/GenreTags.js.map +1 -1
- package/lib/module/components/ContentView/Two/components/SectionTabs.js +3 -0
- package/lib/module/components/ContentView/Two/components/SectionTabs.js.map +1 -1
- package/lib/module/components/ContentView/Two/components/Title.js.map +1 -1
- package/lib/module/components/Headers/One.js +1 -1
- package/lib/module/components/Input/Input.js +2 -4
- package/lib/module/components/Input/Input.js.map +1 -1
- package/lib/module/components/Input/InputThree.js +31 -27
- package/lib/module/components/Input/InputThree.js.map +1 -1
- package/lib/module/components/Input/InputTwo.js +1 -0
- package/lib/module/components/Input/InputTwo.js.map +1 -1
- package/lib/module/components/Input/{PhoneNumberInput.js → PhoneInput/One/One.js} +4 -4
- package/lib/module/components/Input/PhoneInput/One/One.js.map +1 -0
- package/lib/module/components/Input/{PhoneNumberInputTwo.js → PhoneInput/Two/Two.js} +2 -2
- package/lib/module/components/Input/PhoneInput/Two/Two.js.map +1 -0
- package/lib/module/components/Input/PhoneInput/index.js +15 -0
- package/lib/module/components/Input/PhoneInput/index.js.map +1 -0
- package/lib/module/components/Keyboard/HideKeyboard.js +1 -1
- package/lib/module/components/Keyboard/HideKeyboard.js.map +1 -1
- package/lib/module/components/Reels/ReelsSeries/MediaControls/MediaControlsProvider.js +4 -3
- package/lib/module/components/Reels/ReelsSeries/MediaControls/MediaControlsProvider.js.map +1 -1
- package/lib/module/components/Reels/ReelsSeries/Model/SettingModal.js +3 -1
- package/lib/module/components/Reels/ReelsSeries/Model/SettingModal.js.map +1 -1
- package/lib/module/components/Reels/ReelsSeries/ReelsSeriesItem.js +37 -6
- package/lib/module/components/Reels/ReelsSeries/ReelsSeriesItem.js.map +1 -1
- package/lib/module/components/Reels/ReelsSeries/components/VideoControls/QualityControl.js +9 -6
- package/lib/module/components/Reels/ReelsSeries/components/VideoControls/QualityControl.js.map +1 -1
- package/lib/module/components/Reels/ReelsSeries/utils/quality.js +19 -15
- package/lib/module/components/Reels/ReelsSeries/utils/quality.js.map +1 -1
- package/lib/module/hooks/useSplashCache.js +120 -85
- package/lib/module/hooks/useSplashCache.js.map +1 -1
- package/lib/typescript/src/components/Auth/One/ForgotPassword/ForgotPassword.d.ts.map +1 -1
- package/lib/typescript/src/components/Auth/One/Login/LoginWithEmail.d.ts.map +1 -1
- package/lib/typescript/src/components/Auth/One/Login/LoginWithPhone.d.ts.map +1 -1
- package/lib/typescript/src/components/Auth/One/OTP/OTP.d.ts.map +1 -1
- package/lib/typescript/src/components/Auth/One/SignUp/SignUp.d.ts.map +1 -1
- package/lib/typescript/src/components/Auth/One/SplashScreen/SplashScreen.d.ts.map +1 -1
- package/lib/typescript/src/components/Auth/One/SplashScreen/components/SplashImage/SplashImage.d.ts +4 -0
- package/lib/typescript/src/components/Auth/One/SplashScreen/components/SplashImage/SplashImage.d.ts.map +1 -1
- package/lib/typescript/src/components/Auth/One/SplashScreen/components/SplashLottie/SplashLottie.d.ts.map +1 -1
- package/lib/typescript/src/components/Auth/One/SplashScreen/components/SplashVideo/SplashVideo.d.ts +1 -0
- package/lib/typescript/src/components/Auth/One/SplashScreen/components/SplashVideo/SplashVideo.d.ts.map +1 -1
- package/lib/typescript/src/components/Auth/One/index.d.ts.map +1 -1
- package/lib/typescript/src/components/Auth/Two/AuthHeader/AuthHeader.d.ts.map +1 -1
- package/lib/typescript/src/components/Auth/Two/Login/EmailOrPhoneLogin.d.ts +47 -0
- package/lib/typescript/src/components/Auth/Two/Login/EmailOrPhoneLogin.d.ts.map +1 -0
- package/lib/typescript/src/components/Auth/Two/index.d.ts +33 -73
- package/lib/typescript/src/components/Auth/Two/index.d.ts.map +1 -1
- package/lib/typescript/src/components/Auth/index.d.ts +33 -73
- package/lib/typescript/src/components/Auth/index.d.ts.map +1 -1
- package/lib/typescript/src/components/BackgroundLayout/{BackgroundLayout.d.ts → One/One.d.ts} +5 -5
- package/lib/typescript/src/components/BackgroundLayout/One/One.d.ts.map +1 -0
- package/lib/typescript/src/components/BackgroundLayout/{BackgroundLayoutOne.d.ts → Two/Two.d.ts} +4 -3
- package/lib/typescript/src/components/BackgroundLayout/Two/Two.d.ts.map +1 -0
- package/lib/typescript/src/components/BackgroundLayout/index.d.ts +20 -0
- package/lib/typescript/src/components/BackgroundLayout/index.d.ts.map +1 -0
- package/lib/typescript/src/components/ContentView/One/components/AboutSection.d.ts +3 -3
- package/lib/typescript/src/components/ContentView/One/components/AboutSection.d.ts.map +1 -1
- package/lib/typescript/src/components/ContentView/One/components/GenreTags.d.ts +1 -1
- package/lib/typescript/src/components/ContentView/One/components/GenreTags.d.ts.map +1 -1
- package/lib/typescript/src/components/ContentView/Two/components/AboutSection.d.ts +1 -1
- package/lib/typescript/src/components/ContentView/Two/components/AboutSection.d.ts.map +1 -1
- package/lib/typescript/src/components/ContentView/Two/components/Details.d.ts.map +1 -1
- package/lib/typescript/src/components/ContentView/Two/components/GenreTags.d.ts +1 -1
- package/lib/typescript/src/components/ContentView/Two/components/GenreTags.d.ts.map +1 -1
- package/lib/typescript/src/components/ContentView/Two/components/SectionTabs.d.ts +1 -1
- package/lib/typescript/src/components/ContentView/Two/components/SectionTabs.d.ts.map +1 -1
- package/lib/typescript/src/components/ContentView/Two/components/Title.d.ts +1 -1
- package/lib/typescript/src/components/ContentView/Two/components/Title.d.ts.map +1 -1
- package/lib/typescript/src/components/Input/Input.d.ts +4 -2
- package/lib/typescript/src/components/Input/Input.d.ts.map +1 -1
- package/lib/typescript/src/components/Input/InputThree.d.ts.map +1 -1
- package/lib/typescript/src/components/Input/InputTwo.d.ts.map +1 -1
- package/lib/typescript/src/components/Input/{PhoneNumberInput.d.ts → PhoneInput/One/One.d.ts} +4 -4
- package/lib/typescript/src/components/Input/PhoneInput/One/One.d.ts.map +1 -0
- package/lib/typescript/src/components/Input/{PhoneNumberInputTwo.d.ts → PhoneInput/Two/Two.d.ts} +4 -4
- package/lib/typescript/src/components/Input/PhoneInput/Two/Two.d.ts.map +1 -0
- package/lib/typescript/src/components/Input/PhoneInput/index.d.ts +12 -0
- package/lib/typescript/src/components/Input/PhoneInput/index.d.ts.map +1 -0
- package/lib/typescript/src/components/Reels/ReelsSeries/MediaControls/MediaControlsProvider.d.ts +4 -2
- package/lib/typescript/src/components/Reels/ReelsSeries/MediaControls/MediaControlsProvider.d.ts.map +1 -1
- package/lib/typescript/src/components/Reels/ReelsSeries/Model/SettingModal.d.ts +5 -3
- package/lib/typescript/src/components/Reels/ReelsSeries/Model/SettingModal.d.ts.map +1 -1
- package/lib/typescript/src/components/Reels/ReelsSeries/ReelsSeriesItem.d.ts.map +1 -1
- package/lib/typescript/src/components/Reels/ReelsSeries/components/VideoControls/QualityControl.d.ts +5 -12
- package/lib/typescript/src/components/Reels/ReelsSeries/components/VideoControls/QualityControl.d.ts.map +1 -1
- package/lib/typescript/src/components/Reels/ReelsSeries/types.d.ts +4 -0
- package/lib/typescript/src/components/Reels/ReelsSeries/types.d.ts.map +1 -1
- package/lib/typescript/src/components/Reels/ReelsSeries/utils/quality.d.ts +1 -4
- package/lib/typescript/src/components/Reels/ReelsSeries/utils/quality.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useSplashCache.d.ts +7 -10
- package/lib/typescript/src/hooks/useSplashCache.d.ts.map +1 -1
- package/package.json +1 -1
- package/lib/module/components/Auth/Two/Login/AuthLoginShell.js +0 -138
- package/lib/module/components/Auth/Two/Login/AuthLoginShell.js.map +0 -1
- package/lib/module/components/Auth/Two/Login/LoginWithEmail.js +0 -224
- package/lib/module/components/Auth/Two/Login/LoginWithEmail.js.map +0 -1
- package/lib/module/components/Auth/Two/Login/LoginWithPhone.js +0 -143
- package/lib/module/components/Auth/Two/Login/LoginWithPhone.js.map +0 -1
- package/lib/module/components/BackgroundLayout/BackgroundLayout.js.map +0 -1
- package/lib/module/components/BackgroundLayout/BackgroundLayoutOne.js.map +0 -1
- package/lib/module/components/Input/PhoneNumberInput.js.map +0 -1
- package/lib/module/components/Input/PhoneNumberInputTwo.js.map +0 -1
- package/lib/typescript/src/components/Auth/Two/Login/AuthLoginShell.d.ts +0 -17
- package/lib/typescript/src/components/Auth/Two/Login/AuthLoginShell.d.ts.map +0 -1
- package/lib/typescript/src/components/Auth/Two/Login/LoginWithEmail.d.ts +0 -52
- package/lib/typescript/src/components/Auth/Two/Login/LoginWithEmail.d.ts.map +0 -1
- package/lib/typescript/src/components/Auth/Two/Login/LoginWithPhone.d.ts +0 -37
- package/lib/typescript/src/components/Auth/Two/Login/LoginWithPhone.d.ts.map +0 -1
- package/lib/typescript/src/components/BackgroundLayout/BackgroundLayout.d.ts.map +0 -1
- package/lib/typescript/src/components/BackgroundLayout/BackgroundLayoutOne.d.ts.map +0 -1
- package/lib/typescript/src/components/Input/PhoneNumberInput.d.ts.map +0 -1
- package/lib/typescript/src/components/Input/PhoneNumberInputTwo.d.ts.map +0 -1
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import React, { useState, useEffect, useRef, useCallback, useMemo, memo } from 'react';
|
|
4
4
|
import { View, Dimensions, StyleSheet } from 'react-native';
|
|
5
|
-
import { Video } from 'react-native-video';
|
|
5
|
+
import { SelectedVideoTrackType, Video } from 'react-native-video';
|
|
6
6
|
import { GestureDetector, GestureHandlerRootView } from 'react-native-gesture-handler';
|
|
7
7
|
import { videoRef, videoControlsStyles, PAUSE_ICON_TIMEOUT, LIKE_ANIM_TIMEOUT, UNLOCK_MODAL_DELAY, useOverlayThresholds, useIsInOverlay, useCreateTapGesture, useCombinedGesture } from "../utils/Controls/index.js";
|
|
8
8
|
import { clearTimeoutSafely, setTimeoutSafely } from "../utils/index.js";
|
|
@@ -46,10 +46,14 @@ const ReelItem = ({
|
|
|
46
46
|
const [currentTime, setCurrentTime] = useState(0);
|
|
47
47
|
const [duration, setDuration] = useState(0);
|
|
48
48
|
const [playbackRate, setPlaybackRate] = useState(1);
|
|
49
|
-
const [videoQuality, setVideoQuality] = useState(
|
|
49
|
+
const [videoQuality, setVideoQuality] = useState({
|
|
50
|
+
quality: 'Auto',
|
|
51
|
+
url: ''
|
|
52
|
+
});
|
|
50
53
|
const [isLiked, setIsLiked] = useState(() => Boolean(data.isLiked));
|
|
51
54
|
const [likesCount, setLikesCount] = useState(() => Number(data.likes) || 0);
|
|
52
55
|
const [hasError, setHasError] = useState(false);
|
|
56
|
+
const [activeResolution, setActiveResolution] = useState('');
|
|
53
57
|
|
|
54
58
|
// Refs
|
|
55
59
|
const timeoutRef = useRef(null);
|
|
@@ -91,12 +95,17 @@ const ReelItem = ({
|
|
|
91
95
|
autoScrolledRef.current = false;
|
|
92
96
|
}, [reel.episodeId]);
|
|
93
97
|
|
|
94
|
-
// Reset video timing state when episode changes
|
|
98
|
+
// Reset video timing and quality state when episode changes
|
|
95
99
|
useEffect(() => {
|
|
96
100
|
setCurrentTime(0);
|
|
97
101
|
setDuration(0);
|
|
98
102
|
setBuffering(true);
|
|
99
103
|
setHasError(false);
|
|
104
|
+
setVideoQuality({
|
|
105
|
+
quality: 'Auto',
|
|
106
|
+
url: ''
|
|
107
|
+
});
|
|
108
|
+
setActiveResolution('');
|
|
100
109
|
}, [reel.episodeId]);
|
|
101
110
|
|
|
102
111
|
// Sync like state from parent when episode changes or parent updates data
|
|
@@ -214,9 +223,12 @@ const ReelItem = ({
|
|
|
214
223
|
const settingsProps = useMemo(() => ({
|
|
215
224
|
playbackRate,
|
|
216
225
|
quality: videoQuality,
|
|
226
|
+
currentQuality: activeResolution,
|
|
217
227
|
onPlaybackRateChange: setPlaybackRate,
|
|
218
|
-
onQualityChange:
|
|
219
|
-
|
|
228
|
+
onQualityChange: quality => {
|
|
229
|
+
setVideoQuality(quality);
|
|
230
|
+
}
|
|
231
|
+
}), [playbackRate, videoQuality, activeResolution]);
|
|
220
232
|
const handleVideoEnd = useCallback(() => {
|
|
221
233
|
if (!autoScroll || isLocked || autoScrolledRef.current) {
|
|
222
234
|
return;
|
|
@@ -283,10 +295,24 @@ const ReelItem = ({
|
|
|
283
295
|
setHasError(false);
|
|
284
296
|
},
|
|
285
297
|
onLoad: info => {
|
|
298
|
+
console.log('info', JSON.stringify(info, null, 2));
|
|
286
299
|
if (Number(info.duration) > 0 && Number(info.duration) < 100000) {
|
|
287
300
|
setDuration(Number(info.duration));
|
|
288
301
|
}
|
|
289
302
|
setHasError(false);
|
|
303
|
+
|
|
304
|
+
// Get initial selected quality
|
|
305
|
+
const selectedTrack = info.videoTracks?.find(t => t.selected);
|
|
306
|
+
if (selectedTrack?.height) {
|
|
307
|
+
setActiveResolution(`${selectedTrack.height}p`);
|
|
308
|
+
}
|
|
309
|
+
},
|
|
310
|
+
onVideoTracks: e => {
|
|
311
|
+
console.log('e', JSON.stringify(e, null, 2));
|
|
312
|
+
const selectedTrack = e.videoTracks?.find(t => t.selected);
|
|
313
|
+
if (selectedTrack?.height) {
|
|
314
|
+
setActiveResolution(`${selectedTrack.height}p`);
|
|
315
|
+
}
|
|
290
316
|
},
|
|
291
317
|
onProgress: p => {
|
|
292
318
|
setCurrentTime(p.currentTime);
|
|
@@ -300,7 +326,8 @@ const ReelItem = ({
|
|
|
300
326
|
currentTime: p.currentTime,
|
|
301
327
|
duration: safeDuration,
|
|
302
328
|
isVideoCompleted,
|
|
303
|
-
totalWatchTime
|
|
329
|
+
totalWatchTime,
|
|
330
|
+
currentQuality: activeResolution
|
|
304
331
|
});
|
|
305
332
|
if (p.currentTime >= MIN_VIEW_DURATION_SEC && !viewCountedRef.current) {
|
|
306
333
|
viewCountedRef.current = true;
|
|
@@ -315,6 +342,10 @@ const ReelItem = ({
|
|
|
315
342
|
controls: false,
|
|
316
343
|
controlsStyles: videoControlsStyles,
|
|
317
344
|
ignoreSilentSwitch: "ignore",
|
|
345
|
+
selectedVideoTrack: {
|
|
346
|
+
type: videoQuality.quality === 'Auto' ? SelectedVideoTrackType.AUTO : SelectedVideoTrackType.RESOLUTION,
|
|
347
|
+
value: videoQuality.quality === 'Auto' ? undefined : Number(videoQuality.quality.replace('p', ''))
|
|
348
|
+
},
|
|
318
349
|
playInBackground: false,
|
|
319
350
|
onError: () => {
|
|
320
351
|
setBuffering(false);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useState","useEffect","useRef","useCallback","useMemo","memo","View","Dimensions","StyleSheet","Video","GestureDetector","GestureHandlerRootView","videoRef","videoControlsStyles","PAUSE_ICON_TIMEOUT","LIKE_ANIM_TIMEOUT","UNLOCK_MODAL_DELAY","useOverlayThresholds","useIsInOverlay","useCreateTapGesture","useCombinedGesture","clearTimeoutSafely","setTimeoutSafely","MediaControlsProvider","FastImage","jsx","_jsx","jsxs","_jsxs","INITIAL_MODAL_STATE","type","isVisible","MIN_VIEW_DURATION_SEC","ReelItem","reel","data","autoScroll","videoHeight","onLikePress","onSharePress","onBackPress","isFullScreen","preload","activeEpisodeIndex","onEpisodeSelect","onSearchPress","onLikeMorePress","onEpisodeUnlockPress","onViewCount","theme","onWatchProgress","onAutoScrollNext","buffering","setBuffering","isPaused","setIsPaused","showPauseIcon","setShowPauseIcon","modal","setModal","unlockModalVisible","setUnlockModalVisible","unlockModalDismissed","setUnlockModalDismissed","showLikeAnim","setShowLikeAnim","currentTime","setCurrentTime","duration","setDuration","playbackRate","setPlaybackRate","videoQuality","setVideoQuality","isLiked","setIsLiked","Boolean","likesCount","setLikesCount","Number","likes","hasError","setHasError","timeoutRef","likeAnimTimeoutRef","viewCountedRef","autoScrolledRef","isLocked","videoUri","videoUrl","thumbnail","rightThreshold","bottomThreshold","finalPause","showCenterControls","closeUnlockModal","closeAllModals","openUnlockModal","current","episodeId","prev","handleLikePress","newLiked","count","newCount","Math","max","id","liked","handleTogglePlay","handleEpisodeSelect","episode","setTimeout","handleLockedTap","isInOverlay","createTapGesture","singleTap","doubleTap","combinedGesture","unlockProps","onClose","contentProps","series","activeIndex","videoProps","paused","likesProps","showAnimation","actionsProps","onLike","onLikeMore","onShare","onUnLock","onUnlockPress","navigationProps","onBack","onSearch","settingsProps","quality","onPlaybackRateChange","onQualityChange","handleVideoEnd","style","styles","container","height","children","unlock","content","video","actions","navigation","settings","flex","gesture","source","uri","priority","high","resizeMode","cover","defaultSource","require","absoluteFillObject","ref","undefined","repeat","poster","posterResizeMode","rate","onLoadStart","onBuffer","isBuffering","onReadyForDisplay","onLoad","info","onProgress","p","safeDuration","seekableDuration","totalWatchTime","isVideoCompleted","onEnd","controls","controlsStyles","ignoreSilentSwitch","playInBackground","onError","areEqual","next","prevLikes","nextLikes","width","get","create","overflow"],"sourceRoot":"../../../../../src","sources":["components/Reels/ReelsSeries/ReelsSeriesItem.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","useState","useEffect","useRef","useCallback","useMemo","memo","View","Dimensions","StyleSheet","SelectedVideoTrackType","Video","GestureDetector","GestureHandlerRootView","videoRef","videoControlsStyles","PAUSE_ICON_TIMEOUT","LIKE_ANIM_TIMEOUT","UNLOCK_MODAL_DELAY","useOverlayThresholds","useIsInOverlay","useCreateTapGesture","useCombinedGesture","clearTimeoutSafely","setTimeoutSafely","MediaControlsProvider","FastImage","jsx","_jsx","jsxs","_jsxs","INITIAL_MODAL_STATE","type","isVisible","MIN_VIEW_DURATION_SEC","ReelItem","reel","data","autoScroll","videoHeight","onLikePress","onSharePress","onBackPress","isFullScreen","preload","activeEpisodeIndex","onEpisodeSelect","onSearchPress","onLikeMorePress","onEpisodeUnlockPress","onViewCount","theme","onWatchProgress","onAutoScrollNext","buffering","setBuffering","isPaused","setIsPaused","showPauseIcon","setShowPauseIcon","modal","setModal","unlockModalVisible","setUnlockModalVisible","unlockModalDismissed","setUnlockModalDismissed","showLikeAnim","setShowLikeAnim","currentTime","setCurrentTime","duration","setDuration","playbackRate","setPlaybackRate","videoQuality","setVideoQuality","quality","url","isLiked","setIsLiked","Boolean","likesCount","setLikesCount","Number","likes","hasError","setHasError","activeResolution","setActiveResolution","timeoutRef","likeAnimTimeoutRef","viewCountedRef","autoScrolledRef","isLocked","videoUri","videoUrl","thumbnail","rightThreshold","bottomThreshold","finalPause","showCenterControls","closeUnlockModal","closeAllModals","openUnlockModal","current","episodeId","prev","handleLikePress","newLiked","count","newCount","Math","max","id","liked","handleTogglePlay","handleEpisodeSelect","episode","setTimeout","handleLockedTap","isInOverlay","createTapGesture","singleTap","doubleTap","combinedGesture","unlockProps","onClose","contentProps","series","activeIndex","videoProps","paused","likesProps","showAnimation","actionsProps","onLike","onLikeMore","onShare","onUnLock","onUnlockPress","navigationProps","onBack","onSearch","settingsProps","currentQuality","onPlaybackRateChange","onQualityChange","handleVideoEnd","style","styles","container","height","children","unlock","content","video","actions","navigation","settings","flex","gesture","source","uri","priority","high","resizeMode","cover","defaultSource","require","absoluteFillObject","ref","undefined","repeat","poster","posterResizeMode","rate","onLoadStart","onBuffer","isBuffering","onReadyForDisplay","onLoad","info","console","log","JSON","stringify","selectedTrack","videoTracks","find","t","selected","onVideoTracks","e","onProgress","p","safeDuration","seekableDuration","totalWatchTime","isVideoCompleted","onEnd","controls","controlsStyles","ignoreSilentSwitch","selectedVideoTrack","AUTO","RESOLUTION","value","replace","playInBackground","onError","areEqual","next","prevLikes","nextLikes","width","get","create","overflow"],"sourceRoot":"../../../../../src","sources":["components/Reels/ReelsSeries/ReelsSeriesItem.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -12,7 +12,8 @@ const QualityControl = ({
|
|
|
12
12
|
onQualityChange,
|
|
13
13
|
videoUrl,
|
|
14
14
|
qualities: externalQualities,
|
|
15
|
-
loading: externalLoading
|
|
15
|
+
loading: externalLoading,
|
|
16
|
+
currentQuality
|
|
16
17
|
}) => {
|
|
17
18
|
const isControlled = typeof externalQualities !== 'undefined';
|
|
18
19
|
const [qualities, setQualities] = useState(externalQualities ?? DEFAULT_QUALITIES);
|
|
@@ -45,8 +46,7 @@ const QualityControl = ({
|
|
|
45
46
|
const qualityOptions = await getVideoQualities(videoUrl);
|
|
46
47
|
if (!isMounted.current) return;
|
|
47
48
|
if (qualityOptions.length > 0) {
|
|
48
|
-
|
|
49
|
-
setQualities(qualityStrings);
|
|
49
|
+
setQualities(qualityOptions);
|
|
50
50
|
} else {
|
|
51
51
|
setQualities(DEFAULT_QUALITIES);
|
|
52
52
|
}
|
|
@@ -61,7 +61,9 @@ const QualityControl = ({
|
|
|
61
61
|
}, [videoUrl, isControlled]);
|
|
62
62
|
const isLoading = isControlled ? Boolean(externalLoading) : loading;
|
|
63
63
|
const renderedQualities = qualities && qualities.length > 0 ? qualities : DEFAULT_QUALITIES;
|
|
64
|
-
|
|
64
|
+
|
|
65
|
+
// Show loading indicator if we are fetching and only have the default "Auto" option
|
|
66
|
+
if (isLoading && renderedQualities.length <= 1) {
|
|
65
67
|
return /*#__PURE__*/_jsxs(View, {
|
|
66
68
|
style: styles.loadingContainer,
|
|
67
69
|
children: [/*#__PURE__*/_jsx(ActivityIndicator, {
|
|
@@ -78,7 +80,8 @@ const QualityControl = ({
|
|
|
78
80
|
return /*#__PURE__*/_jsx(View, {
|
|
79
81
|
style: styles.container,
|
|
80
82
|
children: renderedQualities.map((quality, index) => {
|
|
81
|
-
|
|
83
|
+
// Fix: Use label comparison instead of object reference comparison
|
|
84
|
+
const isSelected = activeQuality?.quality === quality.quality;
|
|
82
85
|
return /*#__PURE__*/_jsx(TouchableOpacity, {
|
|
83
86
|
activeOpacity: 0.8,
|
|
84
87
|
style: [styles.optionButton, {
|
|
@@ -90,7 +93,7 @@ const QualityControl = ({
|
|
|
90
93
|
color: isSelected ? theme.colors.buttonText : theme.colors.textPrimary,
|
|
91
94
|
fontWeight: isSelected ? '700' : '400'
|
|
92
95
|
}],
|
|
93
|
-
children: quality
|
|
96
|
+
children: quality.quality === 'Auto' && currentQuality ? `Auto (${currentQuality})` : quality.quality
|
|
94
97
|
})
|
|
95
98
|
}, index.toString());
|
|
96
99
|
})
|
package/lib/module/components/Reels/ReelsSeries/components/VideoControls/QualityControl.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useState","useEffect","useRef","View","Text","TouchableOpacity","StyleSheet","ActivityIndicator","moderateScale","verticalScale","RFValue","DEFAULT_QUALITIES","getVideoQualities","jsx","_jsx","jsxs","_jsxs","QualityControl","activeQuality","theme","onQualityChange","videoUrl","qualities","externalQualities","loading","externalLoading","isControlled","setQualities","setLoading","isMounted","current","fetchQualities","includes","qualityOptions","length","
|
|
1
|
+
{"version":3,"names":["React","useState","useEffect","useRef","View","Text","TouchableOpacity","StyleSheet","ActivityIndicator","moderateScale","verticalScale","RFValue","DEFAULT_QUALITIES","getVideoQualities","jsx","_jsx","jsxs","_jsxs","QualityControl","activeQuality","theme","onQualityChange","videoUrl","qualities","externalQualities","loading","externalLoading","currentQuality","isControlled","setQualities","setLoading","isMounted","current","fetchQualities","includes","qualityOptions","length","err","console","error","isLoading","Boolean","renderedQualities","style","styles","loadingContainer","children","size","color","colors","button","loadingText","textSecondary","container","map","quality","index","isSelected","activeOpacity","optionButton","backgroundColor","surfaceDisabled","onPress","optionText","buttonText","textPrimary","fontWeight","toString","memo","create","flexDirection","flexWrap","justifyContent","gap","width","paddingVertical","paddingHorizontal","borderRadius","alignItems","marginBottom","fontSize","flex","marginTop"],"sourceRoot":"../../../../../../../src","sources":["components/Reels/ReelsSeries/components/VideoControls/QualityControl.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
export const DEFAULT_QUALITIES = [
|
|
3
|
+
export const DEFAULT_QUALITIES = [{
|
|
4
|
+
quality: 'Auto',
|
|
5
|
+
url: ''
|
|
6
|
+
}];
|
|
4
7
|
|
|
5
|
-
// Simple in-memory cache
|
|
8
|
+
// Simple in-memory cache
|
|
6
9
|
const qualitiesCache = {};
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* Fetches available video qualities from m3u8 playlist.
|
|
10
|
-
*/
|
|
11
10
|
export const getVideoQualities = async m3u8Url => {
|
|
12
|
-
// Return cached result
|
|
11
|
+
// Return cached result
|
|
13
12
|
if (qualitiesCache[m3u8Url]) {
|
|
14
13
|
return qualitiesCache[m3u8Url];
|
|
15
14
|
}
|
|
@@ -20,25 +19,30 @@ export const getVideoQualities = async m3u8Url => {
|
|
|
20
19
|
const lines = text.split('\n');
|
|
21
20
|
for (let i = 0; i < lines.length; i++) {
|
|
22
21
|
if (lines?.[i]?.includes('#EXT-X-STREAM-INF')) {
|
|
23
|
-
// Example line:
|
|
24
|
-
// #EXT-X-STREAM-INF:BANDWIDTH=800000,RESOLUTION=640x360,...
|
|
25
22
|
const resolutionMatch = lines?.[i]?.match(/RESOLUTION=\d+x(\d+)/);
|
|
26
23
|
const url = lines[i + 1]?.trim();
|
|
27
24
|
if (resolutionMatch && url) {
|
|
28
25
|
qualities.push({
|
|
29
26
|
quality: `${resolutionMatch[1]}p`,
|
|
30
|
-
url
|
|
27
|
+
url: new URL(url, m3u8Url).toString() // handle relative URLs
|
|
31
28
|
});
|
|
32
29
|
}
|
|
33
30
|
}
|
|
34
31
|
}
|
|
32
|
+
const sortedQualities = qualities.sort((a, b) => parseInt(b.quality, 10) - parseInt(a.quality, 10));
|
|
35
33
|
|
|
36
|
-
//
|
|
37
|
-
|
|
38
|
-
|
|
34
|
+
// ✅ Add Auto option at the top
|
|
35
|
+
const finalQualities = [{
|
|
36
|
+
quality: 'Auto',
|
|
37
|
+
url: m3u8Url // master playlist
|
|
38
|
+
}, ...sortedQualities];
|
|
39
|
+
qualitiesCache[m3u8Url] = finalQualities;
|
|
40
|
+
return finalQualities;
|
|
39
41
|
} catch (error) {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
+
return [{
|
|
43
|
+
quality: 'Auto',
|
|
44
|
+
url: m3u8Url
|
|
45
|
+
}];
|
|
42
46
|
}
|
|
43
47
|
};
|
|
44
48
|
//# sourceMappingURL=quality.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["DEFAULT_QUALITIES","qualitiesCache","getVideoQualities","m3u8Url","res","fetch","text","qualities","lines","split","i","length","includes","resolutionMatch","match","
|
|
1
|
+
{"version":3,"names":["DEFAULT_QUALITIES","quality","url","qualitiesCache","getVideoQualities","m3u8Url","res","fetch","text","qualities","lines","split","i","length","includes","resolutionMatch","match","trim","push","URL","toString","sortedQualities","sort","a","b","parseInt","finalQualities","error"],"sourceRoot":"../../../../../../src","sources":["components/Reels/ReelsSeries/utils/quality.ts"],"mappings":";;AAKA,OAAO,MAAMA,iBAAkC,GAAG,CAChD;EACEC,OAAO,EAAE,MAAM;EACfC,GAAG,EAAE;AACP,CAAC,CACF;;AAED;AACA,MAAMC,cAA+C,GAAG,CAAC,CAAC;AAE1D,OAAO,MAAMC,iBAAiB,GAAG,MAC/BC,OAAe,IACc;EAC7B;EACA,IAAIF,cAAc,CAACE,OAAO,CAAC,EAAE;IAC3B,OAAOF,cAAc,CAACE,OAAO,CAAC;EAChC;EAEA,IAAI;IACF,MAAMC,GAAG,GAAG,MAAMC,KAAK,CAACF,OAAO,CAAC;IAChC,MAAMG,IAAI,GAAG,MAAMF,GAAG,CAACE,IAAI,CAAC,CAAC;IAC7B,MAAMC,SAA0B,GAAG,EAAE;IACrC,MAAMC,KAAK,GAAGF,IAAI,CAACG,KAAK,CAAC,IAAI,CAAC;IAE9B,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGF,KAAK,CAACG,MAAM,EAAED,CAAC,EAAE,EAAE;MACrC,IAAIF,KAAK,GAAGE,CAAC,CAAC,EAAEE,QAAQ,CAAC,mBAAmB,CAAC,EAAE;QAC7C,MAAMC,eAAe,GAAGL,KAAK,GAAGE,CAAC,CAAC,EAAEI,KAAK,CAAC,sBAAsB,CAAC;QACjE,MAAMd,GAAG,GAAGQ,KAAK,CAACE,CAAC,GAAG,CAAC,CAAC,EAAEK,IAAI,CAAC,CAAC;QAEhC,IAAIF,eAAe,IAAIb,GAAG,EAAE;UAC1BO,SAAS,CAACS,IAAI,CAAC;YACbjB,OAAO,EAAE,GAAGc,eAAe,CAAC,CAAC,CAAC,GAAG;YACjCb,GAAG,EAAE,IAAIiB,GAAG,CAACjB,GAAG,EAAEG,OAAO,CAAC,CAACe,QAAQ,CAAC,CAAC,CAAE;UACzC,CAAC,CAAC;QACJ;MACF;IACF;IAEA,MAAMC,eAAe,GAAGZ,SAAS,CAACa,IAAI,CACpC,CAACC,CAAC,EAAEC,CAAC,KAAKC,QAAQ,CAACD,CAAC,CAACvB,OAAO,EAAE,EAAE,CAAC,GAAGwB,QAAQ,CAACF,CAAC,CAACtB,OAAO,EAAE,EAAE,CAC5D,CAAC;;IAED;IACA,MAAMyB,cAA+B,GAAG,CACtC;MACEzB,OAAO,EAAE,MAAM;MACfC,GAAG,EAAEG,OAAO,CAAE;IAChB,CAAC,EACD,GAAGgB,eAAe,CACnB;IAEDlB,cAAc,CAACE,OAAO,CAAC,GAAGqB,cAAc;IACxC,OAAOA,cAAc;EACvB,CAAC,CAAC,OAAOC,KAAK,EAAE;IACd,OAAO,CACL;MACE1B,OAAO,EAAE,MAAM;MACfC,GAAG,EAAEG;IACP,CAAC,CACF;EACH;AACF,CAAC","ignoreList":[]}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
|
-
* @author Naresh
|
|
5
|
-
* @lastModified
|
|
4
|
+
* @author Naresh Dhamu
|
|
5
|
+
* @lastModified Thu 12 Jun 2025 at 09:22 AM
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
import { useEffect, useRef, useState } from 'react';
|
|
@@ -11,125 +11,160 @@ import CryptoJS from 'crypto-js';
|
|
|
11
11
|
import { MMKV } from 'react-native-mmkv';
|
|
12
12
|
import NetInfo from '@react-native-community/netinfo';
|
|
13
13
|
import { useSplashStore } from "../store/splashStore.js";
|
|
14
|
-
const
|
|
15
|
-
const
|
|
16
|
-
const
|
|
17
|
-
const
|
|
18
|
-
const
|
|
14
|
+
const storage = new MMKV();
|
|
15
|
+
const pendingDownloads = new Map();
|
|
16
|
+
const FALLBACK_EXT = 'bin';
|
|
17
|
+
const FILE_PREFIX = 'splash_';
|
|
18
|
+
const pathKey = slot => `splash_path__${slot}`;
|
|
19
|
+
const extKey = slot => `splash_ext__${slot}`;
|
|
20
|
+
const isOnline = async () => {
|
|
19
21
|
const state = await NetInfo.fetch();
|
|
20
22
|
return !!state.isConnected;
|
|
21
23
|
};
|
|
22
|
-
const
|
|
24
|
+
const extractExt = url => {
|
|
23
25
|
try {
|
|
24
|
-
|
|
25
|
-
const
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
if (!/^[a-z0-9]+$/i.test(ext)) return DEFAULT_EXTENSION;
|
|
30
|
-
return ext;
|
|
26
|
+
const clean = url.split('?')[0] ?? '';
|
|
27
|
+
const dot = clean.lastIndexOf('.');
|
|
28
|
+
if (dot === -1) return FALLBACK_EXT;
|
|
29
|
+
const ext = clean.substring(dot + 1).toLowerCase();
|
|
30
|
+
return /^[a-z0-9]+$/.test(ext) ? ext : FALLBACK_EXT;
|
|
31
31
|
} catch {
|
|
32
|
-
return
|
|
32
|
+
return FALLBACK_EXT;
|
|
33
33
|
}
|
|
34
34
|
};
|
|
35
|
-
const
|
|
36
|
-
const
|
|
37
|
-
const hash = CryptoJS.MD5(`${url}|${
|
|
38
|
-
return `${RNFS.CachesDirectoryPath}/${
|
|
35
|
+
const buildFilePath = (url, slot, ext) => {
|
|
36
|
+
const cleanExt = ext.replace(/^\./, '') || FALLBACK_EXT;
|
|
37
|
+
const hash = CryptoJS.MD5(`${url}|${slot}|${cleanExt}`).toString();
|
|
38
|
+
return `${RNFS.CachesDirectoryPath}/${FILE_PREFIX}${hash}.${cleanExt}`;
|
|
39
39
|
};
|
|
40
|
-
const
|
|
40
|
+
const fetchAndCache = async (url, slot, forceRefresh) => {
|
|
41
41
|
if (!url?.trim()) return null;
|
|
42
|
-
const
|
|
43
|
-
|
|
44
|
-
|
|
42
|
+
const ext = extractExt(url);
|
|
43
|
+
const targetPath = buildFilePath(url, slot, ext);
|
|
44
|
+
if (pendingDownloads.has(targetPath)) {
|
|
45
|
+
return pendingDownloads.get(targetPath);
|
|
45
46
|
}
|
|
46
47
|
const task = (async () => {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
48
|
+
const cachedPath = storage.getString(pathKey(slot)) ?? null;
|
|
49
|
+
const cachedExt = storage.getString(extKey(slot)) ?? ext;
|
|
50
|
+
const stalePath = cachedPath && cachedPath !== targetPath ? cachedPath : null;
|
|
51
|
+
const staleExt = stalePath ? cachedExt : ext;
|
|
52
|
+
if (!forceRefresh && cachedPath === targetPath) {
|
|
53
|
+
if (await RNFS.exists(targetPath)) {
|
|
54
|
+
return {
|
|
55
|
+
filePath: targetPath,
|
|
56
|
+
fileExt: cachedExt
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
if (!(await isOnline())) {
|
|
61
|
+
if (cachedPath && (await RNFS.exists(cachedPath))) {
|
|
62
|
+
return {
|
|
63
|
+
filePath: cachedPath,
|
|
64
|
+
fileExt: cachedExt
|
|
65
|
+
};
|
|
54
66
|
}
|
|
55
|
-
if (
|
|
56
|
-
return
|
|
67
|
+
if (stalePath && (await RNFS.exists(stalePath))) {
|
|
68
|
+
return {
|
|
69
|
+
filePath: stalePath,
|
|
70
|
+
fileExt: staleExt
|
|
71
|
+
};
|
|
57
72
|
}
|
|
58
|
-
|
|
73
|
+
console.warn(`[SplashCache] Offline — no cached file for slot: ${slot}`);
|
|
74
|
+
return null;
|
|
75
|
+
}
|
|
76
|
+
try {
|
|
77
|
+
const response = await RNFS.downloadFile({
|
|
59
78
|
fromUrl: url,
|
|
60
|
-
toFile:
|
|
79
|
+
toFile: targetPath,
|
|
61
80
|
cacheable: true,
|
|
62
|
-
readTimeout:
|
|
63
|
-
connectionTimeout:
|
|
64
|
-
}).promise
|
|
65
|
-
if (
|
|
66
|
-
|
|
67
|
-
throw new Error(`RNFS download failed (status: ${code})`);
|
|
81
|
+
readTimeout: 15_000,
|
|
82
|
+
connectionTimeout: 10_000
|
|
83
|
+
}).promise;
|
|
84
|
+
if (response.statusCode !== 200) {
|
|
85
|
+
throw new Error(`HTTP ${response.statusCode}`);
|
|
68
86
|
}
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
87
|
+
storage.set(pathKey(slot), targetPath);
|
|
88
|
+
storage.set(extKey(slot), ext);
|
|
89
|
+
if (stalePath && (await RNFS.exists(stalePath))) {
|
|
90
|
+
await RNFS.unlink(stalePath).catch(() => {});
|
|
72
91
|
}
|
|
73
|
-
return
|
|
92
|
+
return {
|
|
93
|
+
filePath: targetPath,
|
|
94
|
+
fileExt: ext
|
|
95
|
+
};
|
|
74
96
|
} catch (err) {
|
|
75
|
-
console.warn(
|
|
97
|
+
console.warn(`[SplashCache] Download failed for slot "${slot}":`, err);
|
|
98
|
+
}
|
|
99
|
+
if (stalePath && (await RNFS.exists(stalePath))) {
|
|
100
|
+
return {
|
|
101
|
+
filePath: stalePath,
|
|
102
|
+
fileExt: staleExt
|
|
103
|
+
};
|
|
76
104
|
}
|
|
77
|
-
if (
|
|
78
|
-
return
|
|
105
|
+
if (cachedPath && (await RNFS.exists(cachedPath))) {
|
|
106
|
+
return {
|
|
107
|
+
filePath: cachedPath,
|
|
108
|
+
fileExt: cachedExt
|
|
109
|
+
};
|
|
79
110
|
}
|
|
80
111
|
return null;
|
|
81
112
|
})().finally(() => {
|
|
82
|
-
|
|
113
|
+
pendingDownloads.delete(targetPath);
|
|
83
114
|
});
|
|
84
|
-
|
|
115
|
+
pendingDownloads.set(targetPath, task);
|
|
85
116
|
return task;
|
|
86
117
|
};
|
|
118
|
+
const LOADING_STATE = {
|
|
119
|
+
isLoading: true,
|
|
120
|
+
logoPath: null,
|
|
121
|
+
backgroundPath: null,
|
|
122
|
+
logoExt: ''
|
|
123
|
+
};
|
|
87
124
|
export const useSplashCache = ({
|
|
88
125
|
logoUrl,
|
|
89
126
|
backgroundUrl,
|
|
90
|
-
|
|
127
|
+
forceRefresh = false
|
|
91
128
|
}) => {
|
|
92
|
-
const [
|
|
93
|
-
|
|
94
|
-
|
|
129
|
+
const [state, setState] = useState(LOADING_STATE);
|
|
130
|
+
const persistRef = useRef({
|
|
131
|
+
logo: useSplashStore.getState().setLogoPath,
|
|
132
|
+
background: useSplashStore.getState().setBackdropPath
|
|
95
133
|
});
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
const
|
|
134
|
+
persistRef.current.logo = useSplashStore(s => s.setLogoPath);
|
|
135
|
+
persistRef.current.background = useSplashStore(s => s.setBackdropPath);
|
|
136
|
+
const mounted = useRef(true);
|
|
99
137
|
useEffect(() => {
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
const error = err instanceof Error ? err : new Error('Splash cache failed');
|
|
114
|
-
setLoadState({
|
|
115
|
-
isReady: true,
|
|
116
|
-
error
|
|
117
|
-
});
|
|
118
|
-
}
|
|
138
|
+
mounted.current = true;
|
|
139
|
+
setState(LOADING_STATE);
|
|
140
|
+
const sync = async () => {
|
|
141
|
+
const [logoAsset, backgroundAsset] = await Promise.all([logoUrl ? fetchAndCache(logoUrl, 'logo', forceRefresh) : null, backgroundUrl ? fetchAndCache(backgroundUrl, 'background', forceRefresh) : null]);
|
|
142
|
+
if (!mounted.current) return;
|
|
143
|
+
setState({
|
|
144
|
+
isLoading: false,
|
|
145
|
+
logoPath: logoAsset?.filePath ?? null,
|
|
146
|
+
backgroundPath: backgroundAsset?.filePath ?? null,
|
|
147
|
+
logoExt: logoAsset?.fileExt ?? ''
|
|
148
|
+
});
|
|
149
|
+
if (logoAsset?.filePath) persistRef.current.logo(logoAsset.filePath);
|
|
150
|
+
if (backgroundAsset?.filePath) persistRef.current.background(backgroundAsset.filePath);
|
|
119
151
|
};
|
|
120
|
-
|
|
152
|
+
sync().catch(() => {
|
|
153
|
+
if (mounted.current) setState(prev => ({
|
|
154
|
+
...prev,
|
|
155
|
+
isLoading: false
|
|
156
|
+
}));
|
|
157
|
+
});
|
|
121
158
|
return () => {
|
|
122
|
-
|
|
159
|
+
mounted.current = false;
|
|
123
160
|
};
|
|
124
|
-
}, [logoUrl, backgroundUrl,
|
|
125
|
-
const logoLocalPath = useSplashStore(s => s.logo.localPath);
|
|
126
|
-
const backdropLocalPath = useSplashStore(s => s.backdrop.localPath);
|
|
161
|
+
}, [logoUrl, backgroundUrl, forceRefresh]);
|
|
127
162
|
return {
|
|
128
|
-
|
|
129
|
-
|
|
163
|
+
isLoading: state.isLoading,
|
|
164
|
+
logoExt: state.logoExt,
|
|
130
165
|
data: {
|
|
131
|
-
logoPath:
|
|
132
|
-
backgroundPath:
|
|
166
|
+
logoPath: state.logoPath,
|
|
167
|
+
backgroundPath: state.backgroundPath
|
|
133
168
|
}
|
|
134
169
|
};
|
|
135
170
|
};
|