diff --git a/main.py b/main.py
index 27f3b8c..a9662af 100644
--- a/main.py
+++ b/main.py
@@ -86,7 +86,7 @@ async def _(request: aiohttp.web.Request):
async def handler(request: aiohttp.web.Request):
model = request.app['model']
- return aiohttp.web.json_response(model.sessions)
+ return aiohttp.web.json_response(model.model)
@routes.get('/')
diff --git a/model.py b/model.py
index 7210928..e7b855b 100644
--- a/model.py
+++ b/model.py
@@ -50,6 +50,11 @@ class Model(object):
async def test_yeet(self, clientid):
raise Exception('yeet')
+ @ApiMethod
+ async def change_username(self, clientid, username) -> str:
+ self.model["clients"][clientid]["username"] = username
+ await self.send_state(clientid)
+
@ApiMethod
async def create_session(self, clientid) -> str:
sessionname = generate_random_id()
@@ -77,7 +82,7 @@ class Model(object):
if "session" in self.model["clients"][clientid]:
session = self.model["clients"][clientid]["session"]
allsessions = [ name for name in self.model["sessions"] ]
- username = self.model["clients"][clientid]["name"] if "name" in self.model["clients"][clientid] else "Joe"
+ username = self.model["clients"][clientid]["username"] if "username" in self.model["clients"][clientid] else "Joe"
data = {"currentsession": session, "allsessions": allsessions, "username": username}
for socket in self.sockets[clientid]:
await socket.send_json(data)
@@ -99,7 +104,7 @@ class Model(object):
def create_client(self, name="Joe") -> str:
clientname = generate_random_id()
- newclient = {"id": clientname, "name": name}
+ newclient = {"id": clientname, "username": name}
self.model["clients"][clientname] = newclient
return clientname
diff --git a/ui.html b/ui.html
index c9bb6e1..279e14c 100644
--- a/ui.html
+++ b/ui.html
@@ -14,6 +14,9 @@
+
+
+
@@ -36,6 +39,15 @@
body: JSON.stringify(data),
})
};
+ document.getElementById("btn_set_username").onclick = async function (e) {
+ let text = document.getElementById("set_username").value;
+ let data = {"username": text};
+
+ await fetch('api/change_username', {
+ method: 'POST',
+ body: JSON.stringify(data),
+ })
+ };