fix: oops
This commit is contained in:
@@ -7,31 +7,17 @@
|
|||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
|
||||||
/// Unified configuration for all timer types (built-in and user)
|
struct TimerConfiguration: Codable, Equatable, Hashable, Sendable {
|
||||||
protocol TimerConfigurationProtocol: Codable, Equatable {
|
var enabled: Bool
|
||||||
var intervalSeconds: Int { get }
|
var intervalSeconds: Int
|
||||||
var enabled: Bool { get }
|
|
||||||
var id: String { get }
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Configuration for a built-in timer
|
init(enabled: Bool = true, intervalSeconds: Int) {
|
||||||
struct BuiltInTimerConfiguration: TimerConfigurationProtocol {
|
self.enabled = enabled
|
||||||
let intervalSeconds: Int
|
self.intervalSeconds = intervalSeconds
|
||||||
let enabled: Bool
|
}
|
||||||
let timerType: TimerType
|
|
||||||
|
|
||||||
var id: String {
|
var intervalMinutes: Int {
|
||||||
return "builtIn:\(timerType.rawValue)"
|
get { intervalSeconds / 60 }
|
||||||
}
|
set { intervalSeconds = newValue * 60 }
|
||||||
}
|
|
||||||
|
|
||||||
/// Configuration for a user timer
|
|
||||||
struct UserTimerConfiguration: TimerConfigurationProtocol {
|
|
||||||
let intervalSeconds: Int
|
|
||||||
let enabled: Bool
|
|
||||||
let userTimer: UserTimer
|
|
||||||
|
|
||||||
var id: String {
|
|
||||||
return "user:\(userTimer.id)"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -287,10 +287,10 @@ class TimerEngine: ObservableObject {
|
|||||||
timerStates[identifier] = state
|
timerStates[identifier] = state
|
||||||
}
|
}
|
||||||
|
|
||||||
func skipNext(identifier: TimerIdentifier) {
|
func skipNext(identifier: TimerIdentifier) {
|
||||||
guard let state = timerStates[identifier] else { return }
|
guard let state = timerStates[identifier] else { return }
|
||||||
|
|
||||||
// Unified approach to get interval - no more special handling needed
|
// Unified approach to get interval - no more separate handling for user timers
|
||||||
let intervalSeconds = getTimerInterval(for: identifier)
|
let intervalSeconds = getTimerInterval(for: identifier)
|
||||||
|
|
||||||
timerStates[identifier] = TimerState(
|
timerStates[identifier] = TimerState(
|
||||||
@@ -301,17 +301,6 @@ class TimerEngine: ObservableObject {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
func dismissReminder() {
|
|
||||||
guard let reminder = activeReminder else { return }
|
|
||||||
activeReminder = nil
|
|
||||||
|
|
||||||
let identifier = reminder.identifier
|
|
||||||
skipNext(identifier: identifier)
|
|
||||||
resumeTimer(identifier: identifier)
|
|
||||||
|
|
||||||
enforceModeService?.handleReminderDismissed()
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Unified way to get interval for any timer type
|
/// Unified way to get interval for any timer type
|
||||||
private func getTimerInterval(for identifier: TimerIdentifier) -> Int {
|
private func getTimerInterval(for identifier: TimerIdentifier) -> Int {
|
||||||
switch identifier {
|
switch identifier {
|
||||||
@@ -326,6 +315,17 @@ class TimerEngine: ObservableObject {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func dismissReminder() {
|
||||||
|
guard let reminder = activeReminder else { return }
|
||||||
|
activeReminder = nil
|
||||||
|
|
||||||
|
let identifier = reminder.identifier
|
||||||
|
skipNext(identifier: identifier)
|
||||||
|
resumeTimer(identifier: identifier)
|
||||||
|
|
||||||
|
enforceModeService?.handleReminderDismissed()
|
||||||
|
}
|
||||||
|
|
||||||
private func handleTick() {
|
private func handleTick() {
|
||||||
for (identifier, state) in timerStates {
|
for (identifier, state) in timerStates {
|
||||||
guard !state.isPaused else { continue }
|
guard !state.isPaused else { continue }
|
||||||
|
|||||||
Reference in New Issue
Block a user