diff --git a/DynamicIsland/components/Live activities/DynamicIslandBattery.swift b/DynamicIsland/components/Live activities/DynamicIslandBattery.swift index e5ec173..baa0eac 100644 --- a/DynamicIsland/components/Live activities/DynamicIslandBattery.swift +++ b/DynamicIsland/components/Live activities/DynamicIslandBattery.swift @@ -182,9 +182,17 @@ struct DynamicIslandBatteryView: View { var body: some View { HStack { if Defaults[.showBatteryPercentage] { - Text("\(Int32(levelBattery))%") - .font(.callout) - .foregroundStyle(.white) + ZStack(alignment: .trailing) { + Text("100%") + .font(.callout) + .hidden() + + Text("\(Int32(levelBattery))%") + .font(.callout) + .foregroundStyle(.white) + .lineLimit(1) + } + .fixedSize(horizontal: true, vertical: false) } BatteryView( levelBattery: levelBattery, 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())