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