Compare commits

...

6 Commits

Author SHA1 Message Date
0880
694ccc14a4 Fix variable name mistake couldn't join 2026-01-21 02:12:39 +03:30
0880
6ee7a435e0 Set inner text for clearing stats 2026-01-21 02:10:56 +03:30
0880
1d5b449d6d Fix spectator mouse 2026-01-21 02:10:24 +03:30
0880
e0af5c2d33 Fix UI turn display 2026-01-21 02:08:12 +03:30
0880
78ed9e1daf FIX huge mistake 2026-01-21 02:07:03 +03:30
0880
1a81ae7f43 Update SlowAPI 2026-01-21 02:06:54 +03:30
4 changed files with 16 additions and 21 deletions

27
app.py
View File

@@ -15,12 +15,11 @@ from typing import Any
from libs.slow import (
JSONAPI,
App,
HTTPResponse,
JSONResponse,
Request,
redirect,
render,
)
from libs.slow.responses import HTTPResponse, JSONResponse
class Coord:
@@ -231,7 +230,7 @@ def room_key():
@app.POST("/create_room")
async def new_room(request):
if len(rooms) == len(letters) ** 4:
return HTTPResponse(request, "Out of service", status=501)
return HTTPResponse("Out of service", status=501)
key = room_key()
rooms[key] = Room()
return JSONResponse(
@@ -279,21 +278,19 @@ async def quick_match(request: Request):
qid = data["queue_id"]
if qid in quick_map:
return JSONResponse(request, {"room_id": quick_map[qid]})
return JSONResponse({"room_id": quick_map[qid]})
else:
return JSONResponse(
request, {}
) # Client handles empty as continue to wait
return JSONResponse({}) # Client handles empty as continue to wait
else:
qid = str(uuid.uuid4())
quick_queue.append(qid)
return JSONResponse(request, {"queue_id": qid})
return JSONResponse({"queue_id": qid})
@app.GET("/")
async def home(request):
return render(request, "home.html")
return render("home.html")
@app.GET("/<id>")
@@ -302,13 +299,13 @@ async def game(request, id):
return redirect("/")
if id not in rooms:
return redirect("/")
return render(request, "game.html")
return render("game.html")
@app.POST("/join/<room_id>")
async def join(request, room_id):
if room_id not in rooms:
return JSONResponse(request, {"code": "NOGO", "error": "Room not found."}, 404)
return JSONResponse({"code": "NOGO", "error": "Room not found."}, 404)
room: Room = rooms[room_id]
player = room.add_player()
if player:
@@ -474,7 +471,7 @@ def generate_valid_moves(
king_safe = True
for i in range(8):
for j in range(8):
p = board.grid[i][j]
p = board.grid[j][i]
if p != Piece.EMPTY and p.value.isupper() != is_white:
# Enemy
enemy_moves = get_piece_moves(
@@ -664,11 +661,9 @@ async def static(request, fn):
try:
path = sanitize_filename(fn, Path("static/").resolve())
return HTTPResponse(
request, path.read_bytes(), content_type="application/octet-stream"
)
return HTTPResponse(path.read_bytes(), content_type="application/octet-stream")
except Exception:
return HTTPResponse(request, "404 File Not Found", status=404)
return HTTPResponse("404 File Not Found", status=404)
if __name__ == "__main__":

View File

@@ -194,7 +194,7 @@
function setUI() {
if (ready) {
if (state == -1) {
document.getElementById('stats').textCotnent = "";
document.getElementById('stats').innerText = "";
const now = new Date();
const differenceMs = 30 * 60 * 1000 - Math.abs(start_time.getTime() - now.getTime());
const totalSeconds = Math.floor(differenceMs / 1000);
@@ -210,7 +210,7 @@
if (UID === undefined || turn != color) {
if (turn == 0) {
document.getElementById('turn').innerText = "White's Turn";
} else if (turn == 0) {
} else if (turn == 1) {
document.getElementById('turn').innerText = "Black's Turn";
}
} else if (turn == color) {
@@ -240,7 +240,7 @@
mouse = [x, y];
i = Math.floor((x / width) * 8);
j = Math.floor((y / height) * 8);
if (ready && state == -1) {
if (ready && state == -1 && UID !== undefined) {
canvas.style.cursor = 'default';
if (board) {
if (color == 0) {

View File

@@ -154,7 +154,7 @@
const code = document.getElementById("code");
const pat = new RegExp("^[a-z0-9]{4}$")
document.getElementById("join").addEventListener("click", () => {
if (!reg.test(code.value)) {
if (!pat.test(code.value)) {
alert("Invalid ID");
} else {
window.location.href = window.location.origin + "/" + code.value;

2
libs

Submodule libs updated: 24334d1def...fe65fafbe0