aboutsummaryrefslogtreecommitdiff
path: root/webAO
diff options
context:
space:
mode:
Diffstat (limited to 'webAO')
-rw-r--r--webAO/dom/banPlayer.ts17
-rw-r--r--webAO/dom/window.ts1
-rw-r--r--webAO/packets/handlers/handleAUTH.ts9
-rw-r--r--webAO/packets/handlers/handlePR.ts10
-rw-r--r--webAO/packets/packets.ts2
-rw-r--r--webAO/styles/client.css4
-rw-r--r--webAO/styles/mod.css3
-rw-r--r--webAO/styles/nomod.css3
8 files changed, 45 insertions, 4 deletions
diff --git a/webAO/dom/banPlayer.ts b/webAO/dom/banPlayer.ts
index 5a8894a..f122a1b 100644
--- a/webAO/dom/banPlayer.ts
+++ b/webAO/dom/banPlayer.ts
@@ -1,4 +1,5 @@
import { client } from '../client'
+
/**
* Tries to ban a player from the playerlist
* @param {Number} id the players id
@@ -6,9 +7,21 @@ import { client } from '../client'
export function banPlayer(id: number) {
let reason;
let length;
- reason = prompt("Please enter the ban reason", "Being annoying");
+ reason = prompt("Please enter the reason", "Being annoying");
length = Number(prompt("Please enter the ban length in minutes", "60"));
client.sender.sendMA(id, length, reason);
}
-window.banPlayer = banPlayer; \ No newline at end of file
+window.banPlayer = banPlayer;
+
+/**
+ * Tries to kick a player from the playerlist
+ * @param {Number} id the players id
+ */
+export function kickPlayer(id: number) {
+ let reason;
+ reason = prompt("Please enter the reason", "Being annoying");
+
+ client.sender.sendMA(id, 0, reason);
+}
+window.kickPlayer = kickPlayer; \ No newline at end of file
diff --git a/webAO/dom/window.ts b/webAO/dom/window.ts
index f2cd86c..59ad575 100644
--- a/webAO/dom/window.ts
+++ b/webAO/dom/window.ts
@@ -52,6 +52,7 @@ declare global {
onEnter: (event: any) => void;
onReplayGo: (_event: any) => void;
onOOCEnter: (_event: any) => void;
+ kickPlayer: (id: number) => void;
banPlayer: (id: number) => void;
hcallback: (_event: any) => void;
}
diff --git a/webAO/packets/handlers/handleAUTH.ts b/webAO/packets/handlers/handleAUTH.ts
new file mode 100644
index 0000000..1408402
--- /dev/null
+++ b/webAO/packets/handlers/handleAUTH.ts
@@ -0,0 +1,9 @@
+/**
+* i am mod now
+* @param {Array} args packet arguments
+*/
+export const handleAUTH = (args: string[]) => {
+ (<HTMLAnchorElement>(
+ document.getElementById("mod_ui")
+ )).href = `styles/mod.css`;
+}
diff --git a/webAO/packets/handlers/handlePR.ts b/webAO/packets/handlers/handlePR.ts
index a52ad1f..0073140 100644
--- a/webAO/packets/handlers/handlePR.ts
+++ b/webAO/packets/handlers/handlePR.ts
@@ -1,5 +1,5 @@
import { client } from "../../client";
-import { banPlayer } from '../../dom/banPlayer'
+import { kickPlayer, banPlayer } from '../../dom/banPlayer'
function addPlayer(playerID: number) {
const list = <HTMLTableElement>document.getElementById("client_playerlist");
@@ -19,7 +19,13 @@ function addPlayer(playerID: number) {
const oocNameCell = playerRow.insertCell(3);
oocNameCell.appendChild(name);
- const banCell = playerRow.insertCell(4);
+ const kickCell = playerRow.insertCell(4);
+ const kick = <HTMLButtonElement>document.createElement("button");
+ kick.innerText = "Kick";
+ kick.onclick = () => { window.kickPlayer(playerID) }
+ kickCell.appendChild(kick);
+
+ const banCell = playerRow.insertCell(5);
const ban = <HTMLButtonElement>document.createElement("button");
ban.innerText = "Ban";
ban.onclick = () => { window.banPlayer(playerID) }
diff --git a/webAO/packets/packets.ts b/webAO/packets/packets.ts
index ab6e3b0..d215f9e 100644
--- a/webAO/packets/packets.ts
+++ b/webAO/packets/packets.ts
@@ -27,6 +27,7 @@ import { handleID } from './handlers/handleID'
import { handlePN } from './handlers/handlePN'
import { handleSI } from './handlers/handleSI'
import { handleARUP } from './handlers/handleARUP'
+import { handleAUTH } from './handlers/handleAUTH'
import { handleaskchaa } from './handlers/handleaskchaa'
import { handleCC } from './handlers/handleCC'
import { handleRC } from './handlers/handleRC'
@@ -71,6 +72,7 @@ export const packets = {
"PN": handlePN,
"SI": handleSI,
"ARUP": handleARUP,
+ "AUTH": handleAUTH,
"askchaa": handleaskchaa,
"CC": handleCC,
"RC": handleRC,
diff --git a/webAO/styles/client.css b/webAO/styles/client.css
index f95613a..1525500 100644
--- a/webAO/styles/client.css
+++ b/webAO/styles/client.css
@@ -563,6 +563,10 @@
color: #fff;
}
+#client_playerlist {
+ overflow-y: scroll;
+}
+
#client_menu {
overflow-y: auto;
height: 100%;
diff --git a/webAO/styles/mod.css b/webAO/styles/mod.css
new file mode 100644
index 0000000..859996f
--- /dev/null
+++ b/webAO/styles/mod.css
@@ -0,0 +1,3 @@
+table#client_playerlist td:nth-child(5), td:nth-child(6) {
+ display: inherit;
+} \ No newline at end of file
diff --git a/webAO/styles/nomod.css b/webAO/styles/nomod.css
new file mode 100644
index 0000000..79d4d12
--- /dev/null
+++ b/webAO/styles/nomod.css
@@ -0,0 +1,3 @@
+table#client_playerlist td:nth-child(5), td:nth-child(6) {
+ display: none;
+} \ No newline at end of file