Merge pull request #351 from tapframe/revert-347-feature/improved10secSkipAndRewind

Revert "patch: incremental 10 sec skip/rewind on multiple taps"
This commit is contained in:
Nayif 2026-01-04 00:11:43 +05:30 committed by GitHub
commit 5b2c57d5c7
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 1 additions and 48 deletions

View file

@ -1,33 +0,0 @@
import { useCallback, useRef, useEffect } from 'react';
export function useDebounceCallback<T extends (...args: any[]) => void>(
callback: T,
delay: number
) {
const timeoutRef = useRef<ReturnType<typeof setTimeout> | null>(null);
const callbackRef = useRef(callback);
// Sync latest callback to avoid stale closures
useEffect(() => {
callbackRef.current = callback;
}, [callback]);
const debouncedFunction = useCallback(
(...args: Parameters<T>) => {
if (timeoutRef.current) clearTimeout(timeoutRef.current);
timeoutRef.current = setTimeout(() => {
callbackRef.current(...args);
}, delay);
},
[delay]
);
// Cleanup on unmount to prevent memory leaks
useEffect(() => {
return () => {
if (timeoutRef.current) clearTimeout(timeoutRef.current);
};
}, []);
return debouncedFunction;
}

View file

@ -7,7 +7,6 @@ import Slider from '@react-native-community/slider';
import { styles } from '../utils/playerStyles'; // Updated styles
import { getTrackDisplayName } from '../utils/playerUtils';
import { useTheme } from '../../../contexts/ThemeContext';
import { useDebounceCallback } from '../android/hooks/useDebounceCallback';
interface PlayerControlsProps {
showControls: boolean;
@ -135,15 +134,6 @@ export const PlayerControls: React.FC<PlayerControlsProps> = ({
const playIconOpacity = React.useRef(new Animated.Value(1)).current;
/* Handle Seek with Animation */
const [skipRewindSeconds, setSkipRewindSeconds] = React.useState(0);
const finalSkipRewind = (finalValue: number) => {
console.log(`Final value processed: ${finalValue}`);
skip(finalValue);
setSkipRewindSeconds(0);
}
const debouncedSkip = useDebounceCallback((val: number) => {
finalSkipRewind(val);
}, 800);
const handleSeekWithAnimation = (seconds: number) => {
const isForward = seconds > 0;
@ -222,11 +212,7 @@ export const PlayerControls: React.FC<PlayerControlsProps> = ({
arcRotation.setValue(0);
});
setSkipRewindSeconds(prev => {
const nextVal = prev + seconds;
debouncedSkip(nextVal);
return nextVal;
});
skip(seconds);
};
/* Handle Play/Pause with Animation */