diff --git a/Sora/Views/MediaInfoView/EpisodeCell/EpisodeCell.swift b/Sora/Views/MediaInfoView/EpisodeCell/EpisodeCell.swift index fd1bce0..5511d98 100644 --- a/Sora/Views/MediaInfoView/EpisodeCell/EpisodeCell.swift +++ b/Sora/Views/MediaInfoView/EpisodeCell/EpisodeCell.swift @@ -98,9 +98,10 @@ struct EpisodeCell: View { private func markAsWatched() { let userDefaults = UserDefaults.standard - userDefaults.set(99999999.0, forKey: "lastPlayedTime_\(episode)") - userDefaults.set(99999999.0, forKey: "totalTime_\(episode)") - userDefaults.synchronize() + let totalTime = 1000.0 + let watchedTime = totalTime + userDefaults.set(watchedTime, forKey: "lastPlayedTime_\(episode)") + userDefaults.set(totalTime, forKey: "totalTime_\(episode)") DispatchQueue.main.async { self.updateProgress() } @@ -110,7 +111,6 @@ struct EpisodeCell: View { let userDefaults = UserDefaults.standard userDefaults.set(0.0, forKey: "lastPlayedTime_\(episode)") userDefaults.set(0.0, forKey: "totalTime_\(episode)") - userDefaults.synchronize() DispatchQueue.main.async { self.updateProgress() } @@ -120,7 +120,7 @@ struct EpisodeCell: View { let userDefaults = UserDefaults.standard let lastPlayedTime = userDefaults.double(forKey: "lastPlayedTime_\(episode)") let totalTime = userDefaults.double(forKey: "totalTime_\(episode)") - currentProgress = totalTime > 0 ? lastPlayedTime / totalTime : 0 + currentProgress = totalTime > 0 ? min(lastPlayedTime / totalTime, 1.0) : 0 } private func fetchEpisodeDetails() { diff --git a/Sora/Views/MediaInfoView/MediaInfoView.swift b/Sora/Views/MediaInfoView/MediaInfoView.swift index ffda64f..76a63d9 100644 --- a/Sora/Views/MediaInfoView/MediaInfoView.swift +++ b/Sora/Views/MediaInfoView/MediaInfoView.swift @@ -306,8 +306,8 @@ struct MediaInfoView: View { for idx in 0..