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()}
`; }