crossmate

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

commit b37b245a5f23ff75a392129bfa6247b0316c39c6
parent a294cfab29be5c3ffea530c22e05282307e971c6
Author: Michael Camilleri <[email protected]>
Date:   Thu,  7 May 2026 01:52:47 +0900

Replace clear menu with entry menu

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

diff --git a/Crossmate/Views/PuzzleView.swift b/Crossmate/Views/PuzzleView.swift @@ -581,8 +581,8 @@ private struct PuzzleToolbarModifier: ViewModifier { content.toolbar { ToolbarItemGroup(placement: .topBarTrailing) { pencilButton + entryMenu hintsMenu - clearMenu playersMenu } } @@ -612,6 +612,23 @@ private struct PuzzleToolbarModifier: ViewModifier { .disabled(isSolved) } + private var entryMenu: some View { + Menu { + Section { + Button("Enter Rebus") { session.startRebus() } + Button("Toggle Direction") { session.toggleDirection() } + } + + Section { + Button("Clear Word") { session.clearCurrentWord() } + Button("Clear Puzzle", role: .destructive) { session.clearPuzzle() } + } + } label: { + Label("Entry", systemImage: "squareshape.split.2x2") + } + .disabled(isSolved) + } + private var hintsMenu: some View { Menu { Section { @@ -630,16 +647,6 @@ private struct PuzzleToolbarModifier: ViewModifier { .disabled(isSolved) } - private var clearMenu: some View { - Menu { - Button("Clear Word") { session.clearCurrentWord() } - Button("Clear Puzzle", role: .destructive) { session.clearPuzzle() } - } label: { - Label("Clear", systemImage: "eraser") - } - .disabled(isSolved) - } - private var playersMenu: some View { Menu { playerRosterSection @@ -720,18 +727,18 @@ private struct PuzzleToolbarModifier: ViewModifier { private var puzzleDestructiveSection: some View { Section { - Button("Resign", role: .destructive) { + Button("Resign Game", role: .destructive) { isConfirmingResign = true } .disabled(isSolved || !canResign) if session.mutator.isShared && !session.mutator.isOwned { - Button("Leave", role: .destructive) { + Button("Leave Game", role: .destructive) { isConfirmingLeave = true } .disabled(shareController == nil) } else { - Button("Delete", role: .destructive) { + Button("Delete Game", role: .destructive) { isConfirmingDelete = true } .disabled(!canDelete)