diff options
| author | David Skoland <davidskoland@gmail.com> | 2026-02-11 00:10:05 +0100 |
|---|---|---|
| committer | David Skoland <davidskoland@gmail.com> | 2026-02-11 00:10:05 +0100 |
| commit | c380112d5f29b68bfa301527405fdf372835900e (patch) | |
| tree | 2adc4823adb41662db8062e6aaab4c3586e374d8 | |
| parent | 6314a7e61ad85aaf9313ed2947853e8e1d2aea33 (diff) | |
Filter playerlist by area and remove Area column
Hide players not in the client's current area. Re-render playerlist
on area switch. Remove the now-redundant Area column.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
| -rw-r--r-- | webAO/dom/areaClick.ts | 2 | ||||
| -rw-r--r-- | webAO/dom/renderPlayerList.ts | 10 | ||||
| -rw-r--r-- | webAO/styles/mod.css | 4 | ||||
| -rw-r--r-- | webAO/styles/nomod.css | 4 |
4 files changed, 10 insertions, 10 deletions
diff --git a/webAO/dom/areaClick.ts b/webAO/dom/areaClick.ts index f7b177e..27682c7 100644 --- a/webAO/dom/areaClick.ts +++ b/webAO/dom/areaClick.ts @@ -1,4 +1,5 @@ import { client } from "../client"; +import { renderPlayerList } from "./renderPlayerList"; /** * Triggered when an item on the area list is clicked. * @param {HTMLElement} el @@ -12,5 +13,6 @@ export function area_click(el: HTMLElement) { areaHr.textContent = `switched to ${el.textContent}`; document.getElementById("client_log")!.appendChild(areaHr); client.area = Number(el.id.substring(4)); + renderPlayerList(); } window.area_click = area_click; diff --git a/webAO/dom/renderPlayerList.ts b/webAO/dom/renderPlayerList.ts index a78851b..a382194 100644 --- a/webAO/dom/renderPlayerList.ts +++ b/webAO/dom/renderPlayerList.ts @@ -6,7 +6,7 @@ export function renderPlayerList() { list.innerHTML = ""; const header = list.createTHead().insertRow(); - for (const label of ["Icon", "Character", "Showname", "OOC Name", "Area"]) { + for (const label of ["Icon", "Character", "Showname", "OOC Name"]) { const th = document.createElement("th"); th.textContent = label; header.appendChild(th); @@ -16,6 +16,7 @@ export function renderPlayerList() { for (const [playerID, player] of client.playerlist) { const playerRow = body.insertRow(); playerRow.id = `client_playerlist_entry${playerID}`; + playerRow.style.display = player.area === client.area ? "" : "none"; const imgCell = playerRow.insertCell(0); imgCell.style.width = "64px"; @@ -38,17 +39,14 @@ export function renderPlayerList() { const oocNameCell = playerRow.insertCell(3); oocNameCell.textContent = player.name; - const areaCell = playerRow.insertCell(4); - areaCell.textContent = String(player.area); - - const kickCell = playerRow.insertCell(5); + const kickCell = playerRow.insertCell(4); kickCell.style.width = "64px"; const kick = document.createElement("button"); kick.innerText = "Kick"; kick.onclick = () => window.kickPlayer(playerID); kickCell.appendChild(kick); - const banCell = playerRow.insertCell(6); + const banCell = playerRow.insertCell(5); banCell.style.width = "64px"; const ban = document.createElement("button"); ban.innerText = "Ban"; diff --git a/webAO/styles/mod.css b/webAO/styles/mod.css index 05f8c87..1e077b3 100644 --- a/webAO/styles/mod.css +++ b/webAO/styles/mod.css @@ -1,4 +1,4 @@ -table#client_playerlist td:nth-child(6), -td:nth-child(7) { +table#client_playerlist td:nth-child(5), +td:nth-child(6) { display: inherit; } diff --git a/webAO/styles/nomod.css b/webAO/styles/nomod.css index 132e40e..1c03547 100644 --- a/webAO/styles/nomod.css +++ b/webAO/styles/nomod.css @@ -1,4 +1,4 @@ -table#client_playerlist td:nth-child(6), -td:nth-child(7) { +table#client_playerlist td:nth-child(5), +td:nth-child(6) { display: none; } |
