mirror of
https://github.com/FBukovina/Atoll.git
synced 2026-10-27 15:14:33 +00:00
Update Onboarding and temperature stuff
This commit is contained in:
parent
5accee5d02
commit
6d01f6a1b2
7 changed files with 335 additions and 72 deletions
|
|
@ -16,6 +16,7 @@
|
|||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
import Defaults
|
||||
import SwiftUI
|
||||
|
||||
struct StatsCard<Content: View>: View {
|
||||
|
|
@ -163,7 +164,10 @@ private struct CPUTemperatureGauge: View {
|
|||
let tint: Color
|
||||
var size: CGFloat = 84
|
||||
var lineWidth: CGFloat = 9
|
||||
private let maxTemperature: Double = 110
|
||||
@Default(.cpuTemperatureUnit) private var temperatureUnit
|
||||
private var maxTemperature: Double {
|
||||
temperatureUnit == .celsius ? 110 : 230
|
||||
}
|
||||
|
||||
var body: some View {
|
||||
CircularGaugeView(
|
||||
|
|
@ -177,14 +181,19 @@ private struct CPUTemperatureGauge: View {
|
|||
)
|
||||
}
|
||||
|
||||
private var displayTemperature: Double? {
|
||||
guard let temperature else { return nil }
|
||||
return temperatureUnit == .celsius ? temperature : temperature * 9.0 / 5.0 + 32.0
|
||||
}
|
||||
|
||||
private var normalizedValue: Double {
|
||||
guard let temperature, maxTemperature > 0 else { return 0 }
|
||||
return min(max(temperature / maxTemperature, 0), 1)
|
||||
guard let displayTemperature, maxTemperature > 0 else { return 0 }
|
||||
return min(max(displayTemperature / maxTemperature, 0), 1)
|
||||
}
|
||||
|
||||
private var centerPrimary: String {
|
||||
guard let temperature else { return "—" }
|
||||
return String(format: "%.0f°", temperature)
|
||||
guard let displayTemperature else { return "—" }
|
||||
return String(format: "%.0f%@", displayTemperature, temperatureUnit.symbol)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue