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 {
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,

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