diff --git a/main.py b/main.py index d15591c..ec86541 100644 --- a/main.py +++ b/main.py @@ -30,18 +30,18 @@ async def udji(kod : str, igrac : Igrac) -> Soba: raise HTTPException(status_code=404, detail="Soba ne postoji") @app.post("/sobe/kreiraj/") -async def kreiraj(postavke : SobaPostavke) -> str: +async def kreiraj() -> str: kod = str(random.randint(1000, 9999)) - soba = Soba(kod=kod, igraci=[], postavke=postavke) - print(soba.postavke.kategorije) + soba = Soba(kod=kod, igraci=[]) sobe.append(soba) asyncio.create_task(cisti(soba)) return kod @app.post("/sobe/zapocni/") -async def zapocni(kod : str): +async def zapocni(kod : str, postavke : SobaPostavke): soba = nadji_sobu(kod) + soba.postavke = postavke asyncio.create_task(zapocni_sobu(soba)) return 200 @@ -99,10 +99,10 @@ async def odabir(event : str, sid : str, data : str): async def update_sobu(soba : Soba): s = soba.model_dump() - - s["postavke"].pop("custom_pitanja") - s["postavke"].pop("kategorije") - + if(soba.postavke is not None): + s["postavke"].pop("custom_pitanja") + s["postavke"].pop("kategorije") + await sio.emit("soba_" + soba.kod, json.dumps(s)) async def odbroji(soba : Soba, vrjeme : int): diff --git a/models.py b/models.py index 5c0a8ca..3a2f07d 100644 --- a/models.py +++ b/models.py @@ -31,7 +31,7 @@ class Soba(BaseModel): stanje: str = "cekanje" trenutno_pitanje: int = 0 - postavke : SobaPostavke + postavke : SobaPostavke | None = None def nadji_igraca(self, ime, avatar) -> Igrac: return [igrac for igrac in self.igraci if (igrac.ime, igrac.avatar) == (ime, avatar)][0] diff --git a/static/img.png b/static/img.png new file mode 100644 index 0000000..532d1e1 Binary files /dev/null and b/static/img.png differ diff --git a/static/index.html b/static/index.html index 5a28dc5..6b3167e 100644 --- a/static/index.html +++ b/static/index.html @@ -6,8 +6,9 @@ - + + + @@ -17,241 +18,64 @@ - - - - + + - if (soba.stanje == "pitanje") { - $("#ulaz").addClass("nodisplay"); - $("#countdownDiv").addClass("nodisplay"); - $("#pitanjeDiv").removeClass("nodisplay"); - $("#pitanje").html(soba.pitanje.pitanje); - $("#leaderboardDiv").removeClass("nodisplay"); - $("#leaderboard").html(soba.igraci.map(e => `
${e.ime} - ${e.poeni}
`).join("")); - $("#odgovoriDiv").removeClass("nodisplay"); - $("#a").html(`${soba.pitanje.a}`); - $("#b").html(`${soba.pitanje.b}`); - $("#c").html(`${soba.pitanje.c}`); - $("#d").html(`${soba.pitanje.d}`); - $(`#a`).removeClass("text-success"); - $(`#b`).removeClass("text-success"); - $(`#c`).removeClass("text-success"); - $(`#d`).removeClass("text-success"); - $("#vrijeme").removeClass("nodisplay"); - $("#brojPitanja").removeClass("nodisplay"); - $("#vrijeme").html(soba.countdown); - $("#brojPitanja").html(`PITANJE ${soba.trenutno_pitanje}/${soba.postavke.broj_pitanja}`); - } - - if (soba.stanje == "otkrij") { - $(`#${soba.pitanje.tacan}`).addClass("text-success"); - $("#vrijeme").html(soba.countdown); - $("#leaderboard").html(soba.igraci.map(e => `${e.ime} - ${e.poeni}
`).join("")); - } - - } - - function zapocniSobu() { - $.post("/sobe/zapocni/?kod=" + soba.kod); - } - - $(window).on('load', function () { - - $("#vrijemePitanja").on("input change", function () { - $("#vrijemePitanjaLabel").html("Vrijeme pitanja: " + $("#vrijemePitanja").val() + "s"); - }); - - $("#zapocniButton").on("click", function () { - zapocniSobu(); - }); - - $(".openbtn").on("click", function () { - openNav(); - }); - - $(".closebtn").on("click", function () { - closeNav(); - }); - - }); - - function openNav() { - document.getElementById("mySidebar").style.width = "300px"; - } + + - function closeNav() { - document.getElementById("mySidebar").style.width = "0"; - } + +