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

@@ -55,19 +55,6 @@ struct SeekPreviewView: View {
@State private var thumbnail: PlatformImage?
@State private var loadTask: Task<Void, Never>?
private var formattedTime: String {
let totalSeconds = Int(seekTime)
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)
} else {
return String(format: "%d:%02d", minutes, seconds)
}
}
private let thumbnailWidth: CGFloat = 160
var body: some View {
@@ -95,7 +82,7 @@ struct SeekPreviewView: View {
.clipped()
// Timestamp overlaid at bottom center
Text(formattedTime)
Text(seekTime.formattedAsTimestamp)
.font(.caption)
.fontWeight(.medium)
.monospacedDigit()