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:
alexandrev-tibco
2026-09-16 15:30:10 +02:00
parent 8828a2aa0f
commit 15a6d7395e
3 changed files with 20 additions and 7 deletions
+13 -5
View File
@@ -74,12 +74,20 @@ final class DuoLayoutUITests: XCTestCase {
openTab(app, "Journal")
snap(app, "07_journal")
let journalCells = app.cells
if journalCells.count > 1 {
journalCells.element(boundBy: 1).tap()
Thread.sleep(forTimeInterval: 2.0)
snap(app, "08_journal_detail")
// Seeded data always has last month's check-in: select it by label.
let formatter = DateFormatter()
formatter.locale = Locale(identifier: "en_US")
formatter.dateFormat = "MMM yyyy"
let lastMonth = Calendar.current.date(byAdding: .month, value: -1, to: Date())!
let monthRow = app.staticTexts[formatter.string(from: lastMonth)].firstMatch
if monthRow.waitForExistence(timeout: 3) {
monthRow.tap()
} else if app.cells.count > 1 {
app.cells.element(boundBy: 1).tap()
}
Thread.sleep(forTimeInterval: 2.0)
XCTAssertFalse(app.staticTexts["Select a Month"].exists, "Journal month selection did not open the check-in")
snap(app, "08_journal_detail")
openTab(app, "Settings")
snap(app, "09_settings")