From b4f2586aa832732f3db0c80bbe9e67d550b24389 Mon Sep 17 00:00:00 2001 From: "Florine W. Dekker" Date: Sat, 26 Nov 2022 12:08:20 +0100 Subject: [PATCH] Upgrade template to v3 --- package-lock.json | Bin 233121 -> 229135 bytes package.json | 18 +-- src/main/css/main.css | 67 +++----- src/main/index.html | 316 ++++++++++++++++++------------------ src/main/js/Common.ts | 4 +- src/main/js/Display.ts | 28 ++-- src/main/js/Field.ts | 30 ++-- src/main/js/Game.ts | 321 ++++++++++++------------------------- src/main/js/HighScores.ts | 4 +- src/main/js/Main.ts | 15 +- src/main/js/ModalDialog.ts | 128 +++++++++++++++ src/main/js/Preferences.ts | 4 +- src/main/js/Solver.ts | 3 +- src/main/js/Statistics.ts | 4 +- src/main/js/UI.ts | 87 ---------- 15 files changed, 456 insertions(+), 573 deletions(-) create mode 100644 src/main/js/ModalDialog.ts delete mode 100644 src/main/js/UI.ts diff --git a/package-lock.json b/package-lock.json index 02265aa4ec750d186a50709f54e83c96946f5223..dca71e41983d60e9bde4187dd87112d74634ad72 100644 GIT binary patch delta 9608 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 O6IYJD{FmsrR{tm1G22Q2 delta 10712 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 diff --git a/package.json b/package.json index 63887f1..7956252 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "minesweeper", - "version": "0.82.16", + "version": "0.83.0", "description": "Just Minesweeper!", "author": "Florine W. Dekker", "browser": "dist/bundle.js", @@ -17,21 +17,21 @@ }, "dependencies": { "alea": "^1.0.1", - "canvas-confetti": "^1.5.1" + "canvas-confetti": "^1.6.0" }, "devDependencies": { - "grunt": "^1.4.1", + "grunt": "^1.5.3", "grunt-cli": "^1.4.3", - "grunt-contrib-clean": "^2.0.0", + "grunt-contrib-clean": "^2.0.1", "grunt-contrib-copy": "^1.0.0", "grunt-contrib-watch": "^1.1.0", "grunt-focus": "^1.0.0", "grunt-text-replace": "^0.4.0", "grunt-webpack": "^5.0.0", - "ts-loader": "^9.2.6", - "ts-node": "^10.5.0", - "typescript": "^4.5.5", - "webpack": "^5.69.1", - "webpack-cli": "^4.9.2" + "ts-loader": "^9.4.1", + "ts-node": "^10.9.1", + "typescript": "^4.9.3", + "webpack": "^5.75.0", + "webpack-cli": "^5.0.0" } } diff --git a/src/main/css/main.css b/src/main/css/main.css index 9dc89a7..fe8d695 100644 --- a/src/main/css/main.css +++ b/src/main/css/main.css @@ -1,71 +1,42 @@ -form { - display: inline; -} - -form button.cancel { - background-color: #606c76; - border-color: #606c76; -} - - /* Controls */ -.row.controls { - text-align: center; +.controls-group { + display: flex; + flex-direction: column; + gap: 1em; } -.row.controls input, .row.controls button { - display: inline; +.controls { + display: flex; + gap: 1em; + + flex-wrap: wrap; + align-items: start; + justify-content: center; + justify-items: center; } -.row.controls select, .row.controls input { +.controls select { width: unset; + margin-bottom: 0; } /* Canvas */ -#canvasContainer { +#canvas-container { text-align: center; } #canvas { - display: inline; - box-sizing: border-box; border: 4mm ridge #bdbdbd; } -#canvas.invisible { - visibility: hidden !important; -} - - -/* Overlay */ -.overlayWrapper { - z-index: 20; - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; +/* Dialogs */ +#high-scores-dialog article, +#statistics-dialog article { width: 100%; - height: 100%; - display: flex; - justify-content: center; - align-items: center; - - background-color: rgba(0, 0, 0, 0.5); } -.overlay { - padding: 6rem; - min-width: 33%; - max-height: 80%; - overflow: auto; - - background-color: white; -} - - -#statisticsOverlay td { +#statistics-dialog td { text-align: right; } diff --git a/src/main/index.html b/src/main/index.html index b815f5f..6c6f237 100644 --- a/src/main/index.html +++ b/src/main/index.html @@ -8,18 +8,24 @@ + + + + + + + Minesweeper | FWDekker - - + -