From c5fde1d287dd446bcd5776f8ec35f6ba7e368457 Mon Sep 17 00:00:00 2001 From: oleksandr-shysh Date: Thu, 12 Jun 2025 11:18:32 +0300 Subject: [PATCH] Integrated capacitor, adjusted the fetch urls and UI elements position to fit the safe area on mobile --- package-lock.json | 26 ++++++- package.json | 2 + src/client/DarkModeButton.ts | 2 +- src/client/HostLobbyModal.ts | 88 +++++++++++----------- src/client/JoinPrivateLobbyModal.ts | 28 +++---- src/client/PublicLobby.ts | 4 +- src/client/graphics/layers/ControlPanel.ts | 2 +- src/client/graphics/layers/OptionsMenu.ts | 2 +- src/client/graphics/layers/TopBar.ts | 2 +- src/client/index.html | 21 +++--- src/client/styles.css | 16 ++++ src/core/configuration/Config.ts | 1 + src/core/configuration/ConfigLoader.ts | 2 +- src/core/configuration/DefaultConfig.ts | 12 +++ src/server/Master.ts | 4 +- src/server/Worker.ts | 2 + src/server/cors.ts | 38 ++++++++++ tests/util/TestServerConfig.ts | 3 + webpack.config.js | 33 ++++++++ 19 files changed, 212 insertions(+), 76 deletions(-) create mode 100644 src/server/cors.ts diff --git a/package-lock.json b/package-lock.json index ebad04f12..cad573e57 100644 --- a/package-lock.json +++ b/package-lock.json @@ -29,6 +29,7 @@ "binary-loader": "^0.0.1", "colord": "^2.9.3", "copy-webpack-plugin": "^13.0.0", + "cors": "^2.8.5", "d3": "^7.9.0", "dompurify": "^3.1.7", "dotenv": "^16.5.0", @@ -69,6 +70,7 @@ "@eslint/compat": "^1.2.7", "@eslint/js": "^9.21.0", "@types/chai": "^4.3.17", + "@types/cors": "^2.8.19", "@types/d3": "^7.4.3", "@types/jest": "^30.0.0", "@types/jquery": "^3.5.31", @@ -8986,6 +8988,16 @@ "@types/node": "*" } }, + "node_modules/@types/cors": { + "version": "2.8.19", + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.19.tgz", + "integrity": "sha512-mFNylyeyqN93lfe/9CSxOGREz8cpzAhH+E93xJ4xWQf62V8sQ/24reV2nyzUWM6H6Xji+GGHpkbLe7pVoUEskg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@types/d3": { "version": "7.4.3", "resolved": "https://registry.npmjs.org/@types/d3/-/d3-7.4.3.tgz", @@ -12005,6 +12017,19 @@ "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", "license": "MIT" }, + "node_modules/cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "license": "MIT", + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + } + }, "node_modules/cosmiconfig": { "version": "9.0.0", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz", @@ -18887,7 +18912,6 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" diff --git a/package.json b/package.json index b41cd64f6..bd6af4d44 100644 --- a/package.json +++ b/package.json @@ -29,6 +29,7 @@ "@eslint/compat": "^1.2.7", "@eslint/js": "^9.21.0", "@types/chai": "^4.3.17", + "@types/cors": "^2.8.19", "@types/d3": "^7.4.3", "@types/jest": "^30.0.0", "@types/jquery": "^3.5.31", @@ -102,6 +103,7 @@ "binary-loader": "^0.0.1", "colord": "^2.9.3", "copy-webpack-plugin": "^13.0.0", + "cors": "^2.8.5", "d3": "^7.9.0", "dompurify": "^3.1.7", "dotenv": "^16.5.0", diff --git a/src/client/DarkModeButton.ts b/src/client/DarkModeButton.ts index 65071408f..dc0924b09 100644 --- a/src/client/DarkModeButton.ts +++ b/src/client/DarkModeButton.ts @@ -20,7 +20,7 @@ export class DarkModeButton extends LitElement { return html`