aboutsummaryrefslogtreecommitdiff
path: root/webAO/packets/handlers/handleASS.ts
diff options
context:
space:
mode:
authorDavid Skoland <davidskoland@gmail.com>2026-02-10 23:38:17 +0100
committerDavid Skoland <davidskoland@gmail.com>2026-02-10 23:38:17 +0100
commit020dfcda00ca06b9a06e7076eaf8a0164ae1327e (patch)
tree9fe2a8d9fdf81823e48d9a3795e47d0c59964f69 /webAO/packets/handlers/handleASS.ts
parent9c68a1afcf178a86063f094b96471fa73531bd9a (diff)
Refactor playerlist to state-driven rendering with renderPlayerList
handlePR and handlePU now only update client.playerlist state, and renderPlayerList handles all DOM rendering from that state. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Diffstat (limited to 'webAO/packets/handlers/handleASS.ts')
-rw-r--r--webAO/packets/handlers/handleASS.ts21
1 files changed, 3 insertions, 18 deletions
diff --git a/webAO/packets/handlers/handleASS.ts b/webAO/packets/handlers/handleASS.ts
index 092e4f9..c50443a 100644
--- a/webAO/packets/handlers/handleASS.ts
+++ b/webAO/packets/handlers/handleASS.ts
@@ -1,26 +1,11 @@
import { setAOhost } from "../../client/aoHost";
-import { client } from "../../client";
+import { renderPlayerList } from "../../dom/renderPlayerList";
/**
* new asset url!!
* @param {Array} args packet arguments
*/
export const handleASS = (args: string[]) => {
- const host = args[1] !== "None" ? setAOhost(args[1]) : args[1];
-
- // Re-apply playerlist icon srcs that were set before AO_HOST was known
- const iconExt = client.charicon_extensions[0] || ".png";
- for (const [playerID, player] of client.players) {
- if (player.charId >= 0) {
- const char = client.chars[player.charId];
- if (char) {
- const img = document.querySelector<HTMLImageElement>(
- `#client_playerlist_entry${playerID} img`
- );
- if (img) {
- img.src = `${host}characters/${encodeURI(char.name.toLowerCase())}/char_icon${iconExt}`;
- }
- }
- }
- }
+ if (args[1] !== "None") setAOhost(args[1]);
+ renderPlayerList();
};