From 7341d0b32a7ef35817e454064ac4ebbf7e820ebd Mon Sep 17 00:00:00 2001 From: Garth Vander Houwen Date: Fri, 31 May 2024 20:25:37 -0700 Subject: [PATCH] Fix nag timeout dropdown Fix up circle text view --- Meshtastic/Enums/IntervalEnums.swift | 34 +++++++++++++++++++ Meshtastic/Views/Helpers/CircleText.swift | 13 ++----- .../Views/Nodes/Helpers/NodeInfoItem.swift | 2 +- .../Module/ExternalNotificationConfig.swift | 2 +- 4 files changed, 38 insertions(+), 13 deletions(-) diff --git a/Meshtastic/Enums/IntervalEnums.swift b/Meshtastic/Enums/IntervalEnums.swift index 5b8e2a0f..0f967f28 100644 --- a/Meshtastic/Enums/IntervalEnums.swift +++ b/Meshtastic/Enums/IntervalEnums.swift @@ -7,6 +7,40 @@ import Foundation +enum NagIntervals: Int, CaseIterable, Identifiable { + + case unset = 0 + case oneSecond = 1 + case fiveSeconds = 5 + case tenSeconds = 10 + case fifteenSeconds = 15 + case thirtySeconds = 30 + case oneMinute = 60 + case fiveMinutes = 300 + + var id: Int { self.rawValue } + var description: String { + switch self { + case .unset: + return "unset".localized + case .oneSecond: + return "interval.one.second".localized + case .fiveSeconds: + return "interval.five.seconds".localized + case .tenSeconds: + return "interval.ten.seconds".localized + case .fifteenSeconds: + return "interval.fifteen.seconds".localized + case .thirtySeconds: + return "interval.thirty.seconds".localized + case .oneMinute: + return "interval.one.minute".localized + case .fiveMinutes: + return "interval.five.minutes".localized + } + } +} + enum OutputIntervals: Int, CaseIterable, Identifiable { case unset = 0 diff --git a/Meshtastic/Views/Helpers/CircleText.swift b/Meshtastic/Views/Helpers/CircleText.swift index 47b4ebbf..5210d0f1 100644 --- a/Meshtastic/Views/Helpers/CircleText.swift +++ b/Meshtastic/Views/Helpers/CircleText.swift @@ -16,20 +16,11 @@ struct CircleText: View { Circle() .fill(color) .frame(width: circleSize, height: circleSize) - #if os(macOS) Text(text) - .frame(width: circleSize * 0.95, height: circleSize * 0.95, alignment: .center) + .frame(width: circleSize * 0.9, height: circleSize * 0.9, alignment: .center) .foregroundColor(color.isLight() ? .black : .white) - .font(.system(size: 3000)) + .font(.system(size: 1500)) .minimumScaleFactor(0.001) - #else - Text(text) - .frame(width: circleSize * 0.95, height: circleSize * 0.95, alignment: .center) - .foregroundColor(color.isLight() ? .black : .white) - .font(.system(size: 5000)) - .minimumScaleFactor(0.001) - #endif - } .aspectRatio(1, contentMode: .fit) } diff --git a/Meshtastic/Views/Nodes/Helpers/NodeInfoItem.swift b/Meshtastic/Views/Nodes/Helpers/NodeInfoItem.swift index 318962c6..b57b96aa 100644 --- a/Meshtastic/Views/Nodes/Helpers/NodeInfoItem.swift +++ b/Meshtastic/Views/Nodes/Helpers/NodeInfoItem.swift @@ -25,7 +25,7 @@ struct NodeInfoItem: View { } if node.user != nil { Divider() - VStack { + VStack (alignment: .center) { if node.user?.hwModel != "UNSET" { Image(node.user!.hwModel ?? "unset".localized) .resizable() diff --git a/Meshtastic/Views/Settings/Config/Module/ExternalNotificationConfig.swift b/Meshtastic/Views/Settings/Config/Module/ExternalNotificationConfig.swift index 02af0792..f999efa0 100644 --- a/Meshtastic/Views/Settings/Config/Module/ExternalNotificationConfig.swift +++ b/Meshtastic/Views/Settings/Config/Module/ExternalNotificationConfig.swift @@ -102,7 +102,7 @@ struct ExternalNotificationConfig: View { .listRowSeparator(.visible) Picker("Nag timeout", selection: $nagTimeout ) { - ForEach(OutputIntervals.allCases) { oi in + ForEach(NagIntervals.allCases) { oi in Text(oi.description) } }