Ios #14

Merged
tapframe merged 88 commits from ios into main 2025-06-20 13:54:29 +00:00
7 changed files with 19 additions and 19 deletions
Showing only changes of commit ddf8d007b7 - Show all commits

View file

@ -100,10 +100,10 @@ const ContinueWatchingSection = React.forwardRef<ContinueWatchingRef>((props, re
const episodeId = episodeIdParts.length > 0 ? episodeIdParts.join(':') : undefined;
const progress = allProgress[key];
// Skip items that are more than 95% complete (effectively finished)
// Skip items that are more than 85% complete (effectively finished)
const progressPercent = (progress.currentTime / progress.duration) * 100;
if (progressPercent >= 95) {
if (progressPercent >= 85) {
continue;
}

View file

@ -332,7 +332,7 @@ const WatchProgressDisplay = React.memo(({
}
// Enhanced display text with Trakt integration
let displayText = progressPercent >= 95 ? 'Watched' : `${Math.round(progressPercent)}% watched`;
let displayText = progressPercent >= 85 ? 'Watched' : `${Math.round(progressPercent)}% watched`;
let syncStatus = '';
// Show Trakt sync status if user is authenticated
@ -373,7 +373,7 @@ const WatchProgressDisplay = React.memo(({
progressBoxScale.value = withTiming(1, { duration: 400 });
progressBoxTranslateY.value = withTiming(0, { duration: 400 });
if (progressData.isWatched || (progressData.progressPercent && progressData.progressPercent >= 95)) {
if (progressData.isWatched || (progressData.progressPercent && progressData.progressPercent >= 85)) {
// Celebration animation sequence
celebrationScale.value = withRepeat(
withTiming(1.05, { duration: 200 }),
@ -426,7 +426,7 @@ const WatchProgressDisplay = React.memo(({
if (!progressData) return null;
const isCompleted = progressData.isWatched || progressData.progressPercent >= 95;
const isCompleted = progressData.isWatched || progressData.progressPercent >= 85;
return (
<Animated.View style={[styles.watchProgressContainer, animatedStyle]}>
@ -704,7 +704,7 @@ const HeroSection: React.FC<HeroSectionProps> = ({
// Memoized play button text
const playButtonText = useMemo(() => getPlayButtonText(), [getPlayButtonText]);
// Calculate if content is watched (>=95% progress) - check both local and Trakt progress
// Calculate if content is watched (>=85% progress) - check both local and Trakt progress
const isWatched = useMemo(() => {
if (!watchProgress) return false;
@ -718,7 +718,7 @@ const HeroSection: React.FC<HeroSectionProps> = ({
// Fall back to local progress
if (watchProgress.duration === 0) return false;
const progressPercent = (watchProgress.currentTime / watchProgress.duration) * 100;
const localWatched = progressPercent >= 95;
const localWatched = progressPercent >= 85;
logger.log(`[HeroSection] Local progress: ${progressPercent.toFixed(1)}%, Watched: ${localWatched}`);
return localWatched;
}, [watchProgress, isTraktAuthenticated]);

View file

@ -285,8 +285,8 @@ export const SeriesContent: React.FC<SeriesContentProps> = ({
const progress = episodeProgress[episodeId];
const progressPercent = progress ? (progress.currentTime / progress.duration) * 100 : 0;
// Don't show progress bar if episode is complete (>= 95%)
const showProgress = progress && progressPercent < 95;
// Don't show progress bar if episode is complete (>= 85%)
const showProgress = progress && progressPercent < 85;
return (
<TouchableOpacity
@ -318,7 +318,7 @@ export const SeriesContent: React.FC<SeriesContentProps> = ({
/>
</View>
)}
{progressPercent >= 95 && (
{progressPercent >= 85 && (
<View style={[styles.completedBadge, { backgroundColor: currentTheme.colors.primary }]}>
<MaterialIcons name="check" size={12} color={currentTheme.colors.white} />
</View>
@ -395,8 +395,8 @@ export const SeriesContent: React.FC<SeriesContentProps> = ({
const progress = episodeProgress[episodeId];
const progressPercent = progress ? (progress.currentTime / progress.duration) * 100 : 0;
// Don't show progress bar if episode is complete (>= 95%)
const showProgress = progress && progressPercent < 95;
// Don't show progress bar if episode is complete (>= 85%)
const showProgress = progress && progressPercent < 85;
return (
<TouchableOpacity
@ -517,7 +517,7 @@ export const SeriesContent: React.FC<SeriesContentProps> = ({
)}
{/* Completed Badge */}
{progressPercent >= 95 && (
{progressPercent >= 85 && (
<View style={[styles.completedBadgeHorizontal, {
backgroundColor: currentTheme.colors.primary,
}]}>

View file

@ -268,7 +268,7 @@ const AndroidVideoPlayer: React.FC = () => {
const progressPercent = (savedProgress.currentTime / savedProgress.duration) * 100;
logger.log(`[AndroidVideoPlayer] Progress: ${progressPercent.toFixed(1)}% (${savedProgress.currentTime}/${savedProgress.duration})`);
if (progressPercent < 95) {
if (progressPercent < 85) {
setResumePosition(savedProgress.currentTime);
logger.log(`[AndroidVideoPlayer] Set resume position to: ${savedProgress.currentTime}`);

View file

@ -263,7 +263,7 @@ const VideoPlayer: React.FC = () => {
const progressPercent = (savedProgress.currentTime / savedProgress.duration) * 100;
logger.log(`[VideoPlayer] Progress: ${progressPercent.toFixed(1)}% (${savedProgress.currentTime}/${savedProgress.duration})`);
if (progressPercent < 95) {
if (progressPercent < 85) {
setResumePosition(savedProgress.currentTime);
logger.log(`[VideoPlayer] Set resume position to: ${savedProgress.currentTime}`);

View file

@ -156,9 +156,9 @@ export const useWatchProgress = (
return 'Play';
}
// Consider episode complete if progress is >= 95%
// Consider episode complete if progress is >= 85%
const progressPercent = (watchProgress.currentTime / watchProgress.duration) * 100;
if (progressPercent >= 95) {
if (progressPercent >= 85) {
return 'Play';
}

View file

@ -666,11 +666,11 @@ const HomeScreen = () => {
console.log('[HomeScreen] All watch progress in storage:', Object.keys(allProgress).length, 'items');
console.log('[HomeScreen] Watch progress items:', allProgress);
// Check if any items are being filtered out due to >95% progress
// Check if any items are being filtered out due to >85% progress
let filteredCount = 0;
for (const [key, progress] of Object.entries(allProgress)) {
const progressPercent = (progress.currentTime / progress.duration) * 100;
if (progressPercent >= 95) {
if (progressPercent >= 85) {
filteredCount++;
console.log(`[HomeScreen] Filtered out ${key}: ${progressPercent.toFixed(1)}% complete`);
} else {