Remove power mode activation persistence

This commit is contained in:
Beingpax 2025-10-27 16:41:51 +05:45
parent 4fb8bf361b
commit b52cb36bb8
3 changed files with 33 additions and 5 deletions

View File

@ -32,10 +32,11 @@ struct ExperimentalFeaturesSection: View {
} }
} }
Divider()
.padding(.vertical, 4)
if isExperimentalFeaturesEnabled { if isExperimentalFeaturesEnabled {
Divider()
.padding(.vertical, 4)
.transition(.opacity.combined(with: .move(edge: .top)))
Toggle(isOn: $playbackController.isPauseMediaEnabled) { Toggle(isOn: $playbackController.isPauseMediaEnabled) {
Text("Pause Media during recording") Text("Pause Media during recording")
} }
@ -50,5 +51,3 @@ struct ExperimentalFeaturesSection: View {
.background(CardBackground(isSelected: false, useAccentGradientWhenSelected: true)) .background(CardBackground(isSelected: false, useAccentGradientWhenSelected: true))
} }
} }

View File

@ -3,6 +3,7 @@ import SwiftUI
struct PowerModeSettingsSection: View { struct PowerModeSettingsSection: View {
@ObservedObject private var powerModeManager = PowerModeManager.shared @ObservedObject private var powerModeManager = PowerModeManager.shared
@AppStorage("powerModeUIFlag") private var powerModeUIFlag = false @AppStorage("powerModeUIFlag") private var powerModeUIFlag = false
@AppStorage(PowerModeDefaults.autoRestoreKey) private var powerModeAutoRestoreEnabled = false
@State private var showDisableAlert = false @State private var showDisableAlert = false
var body: some View { var body: some View {
@ -27,7 +28,27 @@ struct PowerModeSettingsSection: View {
.labelsHidden() .labelsHidden()
.toggleStyle(.switch) .toggleStyle(.switch)
} }
if powerModeUIFlag {
Divider()
.padding(.vertical, 4)
.transition(.opacity.combined(with: .move(edge: .top)))
HStack(spacing: 8) {
Toggle(isOn: $powerModeAutoRestoreEnabled) {
Text("Auto-Restore Preferences")
}
.toggleStyle(.switch)
InfoTip(
title: "Auto-Restore Preferences",
message: "After each recording session, revert enhancement and transcription preferences to whatever was configured before Power Mode was activated."
)
}
.transition(.opacity.combined(with: .move(edge: .top)))
}
} }
.animation(.easeInOut(duration: 0.25), value: powerModeUIFlag)
.padding(16) .padding(16)
.frame(maxWidth: .infinity, alignment: .leading) .frame(maxWidth: .infinity, alignment: .leading)
.background(CardBackground(isSelected: false, useAccentGradientWhenSelected: true)) .background(CardBackground(isSelected: false, useAccentGradientWhenSelected: true))
@ -60,3 +81,7 @@ private extension Array where Element == PowerModeConfig {
allSatisfy { !$0.isEnabled } allSatisfy { !$0.isEnabled }
} }
} }
enum PowerModeDefaults {
static let autoRestoreKey = "powerModeAutoRestoreEnabled"
}

View File

@ -80,6 +80,10 @@ extension WhisperState {
await cleanupModelResources() await cleanupModelResources()
if UserDefaults.standard.bool(forKey: PowerModeDefaults.autoRestoreKey) {
await PowerModeSessionManager.shared.endSession()
}
await MainActor.run { await MainActor.run {
recordingState = .idle recordingState = .idle
} }