Fix selección de mes en Diario y dashboard a 1 columna cuando hay panel lateral
- JournalView: el .id() extra sobre las filas envolvía el .tag y la selección de la List no navegaba (ni en compacto ni en regular). ForEach ya aporta la identidad que usa el ScrollViewReader. - DashboardView: masonry pasa a 1 columna por debajo de 600 pt (inspector de Quick Update abierto, Split View) en vez de apretar dos tarjetas. - DuoLayoutUITests: selecciona el mes anterior por etiqueta y comprueba que se abre el check-in. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01F1u4K16xy7eQVtgsYNZ9Vn
This commit is contained in:
@@ -287,7 +287,10 @@ struct DashboardView: View {
|
||||
GeometryReader { geo in
|
||||
// Scale column count with available width so a wide Mac window fills
|
||||
// (3 columns) while an iPad stays at 2. Lead cards span full width.
|
||||
let columnCount = geo.size.width >= 1250 ? 3 : 2
|
||||
// Continuous sizing: 3 columns on a wide Mac window, 2 on an iPad /
|
||||
// Duo inner screen, 1 when a side panel (Quick Update inspector,
|
||||
// Split View) leaves too little room for two readable cards.
|
||||
let columnCount = geo.size.width >= 1250 ? 3 : (geo.size.width >= 600 ? 2 : 1)
|
||||
let columns = iPadContextColumns(count: columnCount)
|
||||
ScrollView {
|
||||
VStack(spacing: 16) {
|
||||
|
||||
@@ -78,9 +78,11 @@ struct JournalView: View {
|
||||
}
|
||||
} else {
|
||||
ForEach(filteredMonthlyNotes) { entry in
|
||||
// ForEach identity (MonthlyNoteItem.id == date) already serves
|
||||
// ScrollViewReader; an extra .id() would wrap the .tag trait
|
||||
// and break List selection.
|
||||
monthlyNoteRow(entry)
|
||||
.tag(entry.date)
|
||||
.id(entry.date)
|
||||
.onAppear { currentVisibleMonth = entry.date }
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user