crossmate

A collaborative crossword app for iOS
Log | Files | Refs | LICENSE

commit 4bf225ced1df205a8fc2908fb8de1330096e56a7
parent 41fa51ed998a1b2678d2766327a886586588979a
Author: Michael Camilleri <[email protected]>
Date:   Sat, 20 Jun 2026 10:16:19 +0900

Fix vertical height of rebus scrim on iPad

Diffstat:
MCrossmate/Views/Puzzle/PuzzleView.swift | 14++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/Crossmate/Views/Puzzle/PuzzleView.swift b/Crossmate/Views/Puzzle/PuzzleView.swift @@ -203,7 +203,7 @@ struct PuzzleView: View { private var phoneLayout: some View { VStack(spacing: 0) { - puzzleArea + puzzleArea() controlsArea(showClueBar: true) } } @@ -231,8 +231,7 @@ struct PuzzleView: View { Divider() .ignoresSafeArea(edges: .top) - puzzleArea - .padding(.bottom, 12) + puzzleArea(bottomInset: 12) .frame(maxWidth: .infinity, maxHeight: .infinity) } .frame(maxWidth: .infinity, maxHeight: .infinity) @@ -244,9 +243,8 @@ struct PuzzleView: View { private var portraitPadLayout: some View { VStack(spacing: 0) { WeightedVStack(weights: [3, 1]) { - puzzleArea + puzzleArea(bottomInset: 12) .frame(maxWidth: .infinity, maxHeight: .infinity) - .padding(.bottom, 12) VStack(spacing: 0) { Divider() @@ -327,7 +325,7 @@ struct PuzzleView: View { } } - private var puzzleArea: some View { + private func puzzleArea(bottomInset: CGFloat = 0) -> some View { ZStack { VStack(spacing: 4) { PuzzleHeader( @@ -353,6 +351,10 @@ struct PuzzleView: View { } .frame(maxWidth: .infinity, maxHeight: .infinity) .padding(.top, -8) + // Keep the gap above the clue list inside the ZStack so the rebus + // scrim (a sibling below) covers it too, rather than leaving a strip + // of background showing between the grid and the clue list. + .padding(.bottom, bottomInset) if session.isRebusActive { Color.black.opacity(0.35)