This commit is contained in:
Aotumuri
2025-06-01 19:52:21 +09:00
parent 3e27d5028c
commit 698f886697
4 changed files with 26 additions and 29 deletions
+16 -20
View File
@@ -70,25 +70,21 @@ export class PatternDecoder {
}
}
export class TerritoryPatternStorage {
private static readonly KEY = "territoryPattern";
private static readonly BASE64_KEY = "territoryPatternBase64";
const TERRITORY_PATTERN_KEY = "territoryPattern";
const TERRITORY_PATTERN_BASE64_KEY = "territoryPatternBase64";
static getSelectedPattern(): string | undefined {
return localStorage.getItem(TerritoryPatternStorage.KEY) ?? undefined;
}
static setSelectedPattern(patternKey: string): void {
localStorage.setItem(TerritoryPatternStorage.KEY, patternKey);
}
static getSelectedPatternBase64(): string | undefined {
return (
localStorage.getItem(TerritoryPatternStorage.BASE64_KEY) ?? undefined
);
}
static setSelectedPatternBase64(base64: string): void {
localStorage.setItem(TerritoryPatternStorage.BASE64_KEY, base64);
}
export function getSelectedPattern(): string | undefined {
return localStorage.getItem(TERRITORY_PATTERN_KEY) ?? undefined;
}
export function setSelectedPattern(patternKey: string): void {
localStorage.setItem(TERRITORY_PATTERN_KEY, patternKey);
}
export function getSelectedPatternBase64(): string | undefined {
return localStorage.getItem(TERRITORY_PATTERN_BASE64_KEY) ?? undefined;
}
export function setSelectedPatternBase64(base64: string): void {
localStorage.setItem(TERRITORY_PATTERN_BASE64_KEY, base64);
}
+2 -2
View File
@@ -6,7 +6,7 @@ import { getServerConfigFromClient } from "../core/configuration/ConfigLoader";
import { GameType } from "../core/game/Game";
import { UserSettings } from "../core/game/UserSettings";
import { joinLobby } from "./ClientGameRunner";
import { TerritoryPatternStorage } from "./Cosmetic";
import { getSelectedPatternBase64 } from "./Cosmetic";
import "./DarkModeButton";
import { DarkModeButton } from "./DarkModeButton";
import "./FlagInput";
@@ -300,7 +300,7 @@ class Client {
{
gameID: lobby.gameID,
serverConfig: config,
pattern: TerritoryPatternStorage.getSelectedPatternBase64() || "",
pattern: getSelectedPatternBase64() || "",
flag:
this.flagInput === null || this.flagInput.getCurrentFlag() === "xx"
? ""
+2 -2
View File
@@ -18,7 +18,7 @@ import "./components/baseComponents/Modal";
import "./components/Difficulties";
import { DifficultyDescription } from "./components/Difficulties";
import "./components/Maps";
import { TerritoryPatternStorage } from "./Cosmetic";
import { getSelectedPatternBase64 } from "./Cosmetic";
import { FlagInput } from "./FlagInput";
import { JoinLobbyEvent } from "./Main";
import { UsernameInput } from "./UsernameInput";
@@ -442,7 +442,7 @@ export class SinglePlayerModal extends LitElement {
flagInput.getCurrentFlag() === "xx"
? ""
: flagInput.getCurrentFlag(),
pattern: TerritoryPatternStorage.getSelectedPatternBase64(),
pattern: getSelectedPatternBase64(),
},
],
config: {
+6 -5
View File
@@ -5,9 +5,11 @@ import { UserMeResponse } from "../core/ApiSchemas";
import "./components/Difficulties";
import "./components/Maps";
import {
getSelectedPattern,
PatternDecoder,
setSelectedPattern,
setSelectedPatternBase64,
territoryPatterns,
TerritoryPatternStorage,
} from "./Cosmetic";
@customElement("territory-patterns-modal")
@@ -20,8 +22,7 @@ export class TerritoryPatternsModal extends LitElement {
@query("#territory-patterns-input-preview-button")
private previewButton!: HTMLElement;
@state() private selectedPattern =
TerritoryPatternStorage.getSelectedPattern();
@state() private selectedPattern = getSelectedPattern();
@state() private buttonWidth: number = 100;
@@ -200,10 +201,10 @@ export class TerritoryPatternsModal extends LitElement {
private selectPattern(patternKey: string) {
this.selectedPattern = patternKey;
TerritoryPatternStorage.setSelectedPattern(patternKey);
setSelectedPattern(patternKey);
const base64 = territoryPatterns.pattern[patternKey];
if (base64) {
TerritoryPatternStorage.setSelectedPatternBase64(base64.pattern);
setSelectedPatternBase64(base64.pattern);
}
this.updatePreview();
this.close();