From 6faba66bab5dcf81683412bb99ef630ee1145694 Mon Sep 17 00:00:00 2001 From: Aotumuri Date: Wed, 2 Apr 2025 21:58:52 +0900 Subject: [PATCH] added icon in player panel --- resources/images/ChatIconWhite.svg | 13 +++++++++++++ src/client/Main.ts | 2 +- src/client/{ => graphics/layers}/ChatModal.ts | 11 +++++++++++ src/client/graphics/layers/PlayerPanel.ts | 14 ++++++++++++++ 4 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 resources/images/ChatIconWhite.svg rename src/client/{ => graphics/layers}/ChatModal.ts (96%) diff --git a/resources/images/ChatIconWhite.svg b/resources/images/ChatIconWhite.svg new file mode 100644 index 000000000..56c7d8e5b --- /dev/null +++ b/resources/images/ChatIconWhite.svg @@ -0,0 +1,13 @@ + + + + + + + + + \ No newline at end of file diff --git a/src/client/Main.ts b/src/client/Main.ts index 7b0fb8e08..d43974be4 100644 --- a/src/client/Main.ts +++ b/src/client/Main.ts @@ -28,7 +28,7 @@ import "./components/baseComponents/Modal"; import { GameStartingModal } from "./gameStartingModal"; import "./styles.css"; -import { ChatModal } from "./ChatModal"; +import { ChatModal } from "./graphics/layers/ChatModal"; export interface JoinLobbyEvent { clientID: string; diff --git a/src/client/ChatModal.ts b/src/client/graphics/layers/ChatModal.ts similarity index 96% rename from src/client/ChatModal.ts rename to src/client/graphics/layers/ChatModal.ts index f6a29c985..2d4dc149a 100644 --- a/src/client/ChatModal.ts +++ b/src/client/graphics/layers/ChatModal.ts @@ -247,6 +247,17 @@ export class ChatModal extends LitElement { } public close() { + this.selectedCategory = null; + this.selectedPhraseText = null; + this.previewText = null; + this.requiresPlayerSelection = false; + this.selectedPlayer = null; this.modalEl?.close(); } + + static open() { + const modal = new ChatModal(); + document.body.appendChild(modal); + modal.open(); + } } diff --git a/src/client/graphics/layers/PlayerPanel.ts b/src/client/graphics/layers/PlayerPanel.ts index 2ad88181f..763fdf570 100644 --- a/src/client/graphics/layers/PlayerPanel.ts +++ b/src/client/graphics/layers/PlayerPanel.ts @@ -1,6 +1,7 @@ import { LitElement, html } from "lit"; import { customElement, state } from "lit/decorators.js"; import allianceIcon from "../../../../resources/images/AllianceIconWhite.svg"; +import chatIcon from "../../../../resources/images/ChatIconWhite.svg"; import donateGoldIcon from "../../../../resources/images/DonateGoldIconWhite.svg"; import donateTroopIcon from "../../../../resources/images/DonateTroopIconWhite.svg"; import emojiIcon from "../../../../resources/images/EmojiIconWhite.svg"; @@ -26,6 +27,7 @@ import { SendTargetPlayerIntentEvent, } from "../../Transport"; import { renderNumber, renderTroops } from "../../Utils"; +import { ChatModal } from "./ChatModal"; import { EmojiTable } from "./EmojiTable"; import { Layer } from "./Layer"; @@ -141,8 +143,12 @@ export class PlayerPanel extends LitElement implements Layer { return this; } + private ctModal; + init() { this.eventBus.on(MouseUpEvent, (e: MouseEvent) => this.hide()); + + this.ctModal = document.querySelector("chat-modal") as ChatModal; } tick() { @@ -279,6 +285,14 @@ export class PlayerPanel extends LitElement implements Layer {
+ ${canTarget ? html`