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 // Screen Recording Indicator
if Defaults[.enableScreenRecordingDetection] && Defaults[.showRecordingIndicator] { if Defaults[.enableScreenRecordingDetection] && Defaults[.showRecordingIndicator] && !shouldSuppressStatusIndicators {
RecordingIndicator() RecordingIndicator()
.frame(width: 30, height: 30) // Same size as other header elements .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() FocusIndicator()
.frame(width: 30, height: 30) .frame(width: 30, height: 30)
.transition(.opacity) .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 { #Preview {
DynamicIslandHeader() DynamicIslandHeader()
.environmentObject(DynamicIslandViewModel()) .environmentObject(DynamicIslandViewModel())