From ae52479d7e00a5953f58ed891a8704d6a795c35b Mon Sep 17 00:00:00 2001 From: Aotumuri Date: Sun, 1 Jun 2025 17:01:38 +0900 Subject: [PATCH] fix --- src/client/TerritoryPatternsModal.ts | 134 +++++++++++++++------------ 1 file changed, 73 insertions(+), 61 deletions(-) diff --git a/src/client/TerritoryPatternsModal.ts b/src/client/TerritoryPatternsModal.ts index 69c21fca6..1a8631d75 100644 --- a/src/client/TerritoryPatternsModal.ts +++ b/src/client/TerritoryPatternsModal.ts @@ -108,72 +108,84 @@ export class TerritoryPatternsModal extends LitElement { return this; } + private renderTooltip(): TemplateResult | null { + if (this.hoveredPattern && this.lockedReasons[this.hoveredPattern]) { + return html` +
+ ${this.lockedReasons[this.hoveredPattern]} +
+ `; + } + return null; + } + + private renderPatternButton( + key: string, + pattern: (typeof territoryPatterns.pattern)[string], + ): TemplateResult { + const isLocked = this.isPatternLocked(key); + // const reason = this.lockedReasons[key] || "Locked"; + return html` + + `; + } + + private renderPatternGrid(): TemplateResult { + return html` +
+ ${Object.entries(territoryPatterns.pattern ?? {}).map( + ([key, pattern]) => this.renderPatternButton(key, pattern), + )} +
+ `; + } + render() { this.resetLockedPatterns(); this.checkPatternPermission(this.roles); return html` - ${this.hoveredPattern && this.lockedReasons[this.hoveredPattern] - ? html` -
- ${this.lockedReasons[this.hoveredPattern]} -
- ` - : null} + ${this.renderTooltip()} -
- ${Object.entries(territoryPatterns.pattern ?? {}).map( - ([key, pattern]) => { - const isLocked = this.isPatternLocked(key); - const reason = this.lockedReasons[key] || "Locked"; - - return html` - - `; - }, - )} -
+ ${this.renderPatternGrid()}
`; }