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