fix: month title disappears in Liquid Glass mode on month change
The glass variant rendered the month title in a `.principal` ToolbarItem, which SwiftUI drops when the state it reads (visibleMonth) changes while on screen — it only reappeared on an unrelated rebuild (opening/closing the menu) and vanished again on the next month change. Switched to `.navigationTitle`, which the system updates reliably. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -112,6 +112,12 @@ struct CalendarHostView: View {
|
||||
.overlay(alignment: .top) {
|
||||
if let err = store.lastError { errorBannerView(err).padding(.top, 8) }
|
||||
}
|
||||
// The month title uses `.navigationTitle` rather than a
|
||||
// `.principal` ToolbarItem: a principal item disappears when the
|
||||
// state it reads (visibleMonth) changes while on screen (month
|
||||
// change / scroll), reappearing only on an unrelated rebuild.
|
||||
// navigationTitle is updated reliably by the system.
|
||||
.navigationTitle(titleString)
|
||||
.navigationBarTitleDisplayMode(.inline)
|
||||
.toolbar {
|
||||
ToolbarItem(placement: .navigationBarLeading) {
|
||||
@@ -121,12 +127,6 @@ struct CalendarHostView: View {
|
||||
Button(L10n.t("nav.today", appLang)) { store.moveToToday() }.font(.callout)
|
||||
}
|
||||
}
|
||||
ToolbarItem(placement: .principal) {
|
||||
Text(titleString)
|
||||
.font(.headline)
|
||||
.lineLimit(1)
|
||||
.minimumScaleFactor(0.7)
|
||||
}
|
||||
ToolbarItem(placement: .navigationBarTrailing) {
|
||||
HStack(spacing: 8) {
|
||||
if !groups.isEmpty { groupMenu }
|
||||
|
||||
Reference in New Issue
Block a user