From 020dfcda00ca06b9a06e7076eaf8a0164ae1327e Mon Sep 17 00:00:00 2001 From: David Skoland Date: Tue, 10 Feb 2026 23:38:17 +0100 Subject: 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 --- webAO/packets/handlers/handleASS.ts | 21 +++------------------ 1 file changed, 3 insertions(+), 18 deletions(-) (limited to 'webAO/packets/handlers/handleASS.ts') 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( - `#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(); }; -- cgit