From 5b2f6429f4d2fcf49cf2948f4abf0725a265c24d Mon Sep 17 00:00:00 2001 From: Hariharan Mudaliar Date: Sat, 15 Nov 2025 00:41:29 +0530 Subject: [PATCH] Added condition to handle overflow by eliminating the indicator in the open notch --- .../components/Notch/DynamicIslandHeader.swift | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/DynamicIsland/components/Notch/DynamicIslandHeader.swift b/DynamicIsland/components/Notch/DynamicIslandHeader.swift index 6204e9c..d5c4651 100644 --- a/DynamicIsland/components/Notch/DynamicIslandHeader.swift +++ b/DynamicIsland/components/Notch/DynamicIslandHeader.swift @@ -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())