From 95b39daab9c99d254d0fafcb96b65f70230919f2 Mon Sep 17 00:00:00 2001 From: evanpelle Date: Sat, 23 Aug 2025 20:25:26 -0700 Subject: [PATCH] Allow manually setting pattern for testing (#1910) ## Description: This pr allows setting the pattern manually in using the dev console so we can see how it looks before uploading. To set it: set the b64 pattern in local storage with key: dev-pattern. This will override set pattern. Only works in singleplayer mode. ## Please complete the following: - [x] I have added screenshots for all UI updates - [x] I process any text displayed to the user through translateText() and I've added it to the en.json file - [x] I have added relevant tests to the test directory - [x] I confirm I have thoroughly tested these changes and take full responsibility for any bugs introduced ## Please put your Discord username so you can be contacted if a bug or regression is found: evan --- src/client/SinglePlayerModal.ts | 11 +++++++---- src/core/game/UserSettings.ts | 5 +++++ 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/client/SinglePlayerModal.ts b/src/client/SinglePlayerModal.ts index 420ad3c6f..d2b4ee56e 100644 --- a/src/client/SinglePlayerModal.ts +++ b/src/client/SinglePlayerModal.ts @@ -426,9 +426,12 @@ export class SinglePlayerModal extends LitElement { console.warn("Flag input element not found"); } const patternName = this.userSettings.getSelectedPatternName(); - const pattern = patternName - ? (await getCosmetics())?.patterns[patternName] - : undefined; + let pattern: string | undefined = undefined; + if (this.userSettings.getDevOnlyPattern()) { + pattern = this.userSettings.getDevOnlyPattern(); + } else if (patternName) { + pattern = (await getCosmetics())?.patterns[patternName]?.pattern; + } this.dispatchEvent( new CustomEvent("join-lobby", { detail: { @@ -444,7 +447,7 @@ export class SinglePlayerModal extends LitElement { flagInput.getCurrentFlag() === "xx" ? "" : flagInput.getCurrentFlag(), - pattern: pattern?.pattern, + pattern: pattern, }, ], config: { diff --git a/src/core/game/UserSettings.ts b/src/core/game/UserSettings.ts index b2a9fa08a..70f8c9863 100644 --- a/src/core/game/UserSettings.ts +++ b/src/core/game/UserSettings.ts @@ -111,6 +111,11 @@ export class UserSettings { } } + // For development only. Used for testing patterns, set in the console manually. + getDevOnlyPattern(): string | undefined { + return localStorage.getItem("dev-pattern") ?? undefined; + } + getSelectedPatternName(): string | undefined { return localStorage.getItem(PATTERN_KEY) ?? undefined; }