mirror of
https://github.com/yattee/yattee.git
synced 2026-04-10 01:26:57 +00:00
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:
16
Yattee/Extensions/TimeInterval+Formatting.swift
Normal file
16
Yattee/Extensions/TimeInterval+Formatting.swift
Normal 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)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user