WIP: Settings

This commit is contained in:
Hariharan Mudaliar 2026-02-09 23:38:17 +05:30
commit aeed23f950
No known key found for this signature in database
GPG key ID: 025583EB0BE5640E
9 changed files with 749 additions and 3 deletions

View file

@ -40,6 +40,7 @@ final class LockScreenTimerWidgetManager {
private let timerManager = TimerManager.shared
private var cancellables = Set<AnyCancellable>()
private var isLocked: Bool = false
private var isPreviewing: Bool = false
private init() {
observeTimerState()
@ -55,6 +56,12 @@ final class LockScreenTimerWidgetManager {
}
}
func setPreviewMode(_ enabled: Bool) {
guard isPreviewing != enabled else { return }
isPreviewing = enabled
updateVisibility()
}
func refreshPositionForOffsets(animated: Bool) {
LockScreenTimerWidgetPanelManager.shared.refreshPosition(animated: animated)
}
@ -112,6 +119,9 @@ final class LockScreenTimerWidgetManager {
private func shouldDisplayWidget() -> Bool {
guard Defaults[.enableLockScreenTimerWidget] else { return false }
if isPreviewing {
return timerManager.isTimerActive
}
guard isLocked else { return false }
return timerManager.hasManualTimerRunning
}