Added condition to handle overflow by eliminating the indicator in the open notch

This commit is contained in:
Hariharan Mudaliar 2025-11-15 00:41:29 +05:30
commit 5b2f6429f4

View file

@ -193,12 +193,15 @@ struct DynamicIslandHeader: View {
}
// Screen Recording Indicator
if Defaults[.enableScreenRecordingDetection] && Defaults[.showRecordingIndicator] {
if Defaults[.enableScreenRecordingDetection] && Defaults[.showRecordingIndicator] && !shouldSuppressStatusIndicators {
RecordingIndicator()
.frame(width: 30, height: 30) // Same size as other header elements
}
if Defaults[.enableDoNotDisturbDetection] && Defaults[.showDoNotDisturbIndicator] && doNotDisturbManager.isDoNotDisturbActive {
if Defaults[.enableDoNotDisturbDetection]
&& Defaults[.showDoNotDisturbIndicator]
&& doNotDisturbManager.isDoNotDisturbActive
&& !shouldSuppressStatusIndicators {
FocusIndicator()
.frame(width: 30, height: 30)
.transition(.opacity)
@ -253,6 +256,16 @@ struct DynamicIslandHeader: View {
}
}
private extension DynamicIslandHeader {
var shouldSuppressStatusIndicators: Bool {
Defaults[.settingsIconInNotch]
&& Defaults[.enableClipboardManager]
&& Defaults[.showClipboardIcon]
&& Defaults[.enableColorPickerFeature]
&& Defaults[.enableTimerFeature]
}
}
#Preview {
DynamicIslandHeader()
.environmentObject(DynamicIslandViewModel())