Deduplicate time formatting and clean up unused code

Extract shared TimeInterval.formattedAsTimestamp replacing 8 identical
formatTime/formattedTime implementations across player views. Remove
unused currentTime parameter from GestureSeekPreviewView. Consolidate
duplicated geometry math in MacOSControlBar into seekPreviewPosition().
This commit is contained in:
Arkadiusz Fal
2026-03-28 14:09:25 +01:00
parent e50817c043
commit 44f3cbb9f3
12 changed files with 68 additions and 172 deletions

View File

@@ -0,0 +1,16 @@
import Foundation
extension TimeInterval {
/// Formats as "M:SS" or "H:MM:SS" when hours > 0.
var formattedAsTimestamp: String {
let totalSeconds = Int(max(0, self))
let hours = totalSeconds / 3600
let minutes = (totalSeconds % 3600) / 60
let seconds = totalSeconds % 60
if hours > 0 {
return String(format: "%d:%02d:%02d", hours, minutes, seconds)
}
return String(format: "%d:%02d", minutes, seconds)
}
}