Merge pull request #105 from Ebullioscopic/fix-ui-battery-issue

[Fix] Battery Text Overflow when Live Activity indicator comes up in open notch
This commit is contained in:
Hariharan Mudaliar 2025-11-15 00:50:00 +05:30 • committed by GitHub
commit 7bf67056f7
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 26 additions and 5 deletions

View file

@ -182,9 +182,17 @@ struct DynamicIslandBatteryView: View {
var body: some View { var body: some View {
HStack { HStack {
if Defaults[.showBatteryPercentage] { if Defaults[.showBatteryPercentage] {
Text("\(Int32(levelBattery))%") ZStack(alignment: .trailing) {
.font(.callout) Text("100%")
.foregroundStyle(.white) .font(.callout)
.hidden()
Text("\(Int32(levelBattery))%")
.font(.callout)
.foregroundStyle(.white)
.lineLimit(1)
}
.fixedSize(horizontal: true, vertical: false)
} }
BatteryView( BatteryView(
levelBattery: levelBattery, levelBattery: levelBattery,

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())