Files
steipete--codexbar/Sources/CodexBar/StatusItemController+SwitcherMetrics.swift
T
2026-07-13 12:22:33 +08:00

25 lines
837 B
Swift

import CodexBarCore
extension StatusItemController {
nonisolated static func switcherWeeklyMetricPercent(
for provider: UsageProvider,
snapshot: UsageSnapshot?,
showUsed: Bool,
preference: MenuBarMetricPreference = .automatic) -> Double?
{
let window: RateWindow? = if preference == .monthlyPlan {
MenuBarMetricWindowResolver.rateWindow(
preference: preference,
provider: provider,
snapshot: snapshot,
supportsAverage: false)
} else if provider == .mistral {
nil
} else {
snapshot?.switcherWeeklyWindow(for: provider, showUsed: showUsed)
}
guard let window else { return nil }
return showUsed ? window.usedPercent : window.remainingPercent
}
}