Fix collapse issues

This commit is contained in:
Beingpax 2025-08-07 02:11:43 +05:45
parent 0e930c519c
commit ec78041069
2 changed files with 17 additions and 2 deletions

View File

@ -10,6 +10,11 @@ struct MiniRecorderView: View {
@State private var showEnhancementPromptPopover = false
@State private var isHovering = false
// Computed property to check if any popover is currently showing
private var isAnyPopoverShowing: Bool {
showPowerModePopover || showEnhancementPromptPopover
}
private var backgroundView: some View {
ZStack {
Color.black.opacity(0.9)
@ -76,12 +81,19 @@ struct MiniRecorderView: View {
windowManager.expand()
} else {
DispatchQueue.main.asyncAfter(deadline: .now() + 0.35) {
if !isHovering {
// Only collapse if not hovering AND no popover is showing
if !isHovering && !isAnyPopoverShowing {
windowManager.collapse()
}
}
}
}
.onAppear {
// Set up the callback so WindowManager can check popover and hover state
windowManager.shouldPreventCollapse = {
isAnyPopoverShowing || isHovering
}
}
}
}
}

View File

@ -9,6 +9,9 @@ class MiniWindowManager: ObservableObject {
private let whisperState: WhisperState
private let recorder: Recorder
// Callback to check if collapse should be prevented (e.g., when popovers are showing)
var shouldPreventCollapse: (() -> Bool)?
init(whisperState: WhisperState, recorder: Recorder) {
self.whisperState = whisperState
self.recorder = recorder
@ -59,7 +62,7 @@ class MiniWindowManager: ObservableObject {
expand()
DispatchQueue.main.asyncAfter(deadline: .now() + 2.5) {
if self.isExpanded {
if self.isExpanded && !(self.shouldPreventCollapse?() ?? false) {
self.collapse()
}
}