saves dice config to localstorage #3

Merged
arindy merged 7 commits from update-styling into main 2025-02-10 01:20:52 +01:00
4 changed files with 10 additions and 7 deletions
Showing only changes of commit 77f392ed77 - Show all commits

View File

@ -37,7 +37,7 @@ final class DiceResource(@Context val sse: Sse) {
.mediaType(MediaType.APPLICATION_JSON_TYPE).data(data).build() .mediaType(MediaType.APPLICATION_JSON_TYPE).data(data).build()
) )
if (data.roll.all { it.trim().isNotEmpty() }) { if (data.roll.all { it.trim().isNotEmpty() }) {
results(data.room!!, Result(data.name)) results(data.room!!, Result(data.name, data.user!!))
} }
} }
@ -72,6 +72,6 @@ final class DiceResource(@Context val sse: Sse) {
} }
@RegisterForReflection @RegisterForReflection
data class Result(val name: String) {} data class Result(val name: String, val user: String) {}
} }

View File

@ -70,6 +70,7 @@
httpRequest.setRequestHeader('Content-Type', 'application/json') httpRequest.setRequestHeader('Content-Type', 'application/json')
httpRequest.send(JSON.stringify({ httpRequest.send(JSON.stringify({
name: data.name, name: data.name,
user: data.user,
results: rollResult, results: rollResult,
} )) } ))
} }

View File

@ -45,9 +45,11 @@
<label for="room" id="roomLabel">Room </label><input type="text" id="room" style="width: 75%" required onkeyup="start(event)"/><br/> <label for="room" id="roomLabel">Room </label><input type="text" id="room" style="width: 75%" required onkeyup="start(event)"/><br/>
</div> </div>
<div id="dice-tower" hidden class="w3-panel w3-white w3-card w3-display-container" style="padding: 25px"> <div id="dice-tower" hidden class="w3-panel w3-white w3-card w3-display-container" style="padding: 25px">
<label for="overlayId">Dice-Overlay </label><input type="text" readonly id="overlayId" style="width: 75%"/><br/> <button type="button" class="collapsible" style="color: white; font-weight: bold">Overlay URLs</button>
<label for="resultsId">Results-Overlay </label><input type="text" readonly id="resultsId" style="width: 75%"/><br/> <div class="content">
<hr style="width:100%;color:black;background-color:black;height:1px"> <label for="overlayId">Dice-Overlay </label><input type="text" readonly id="overlayId" style="width: 75%"/><br/>
<label for="resultsId">Results-Overlay </label><input type="text" readonly id="resultsId" style="width: 75%"/><br/>
</div>
<button type="button" class="collapsible" style="color: white; font-weight: bold">Customize Dice</button> <button type="button" class="collapsible" style="color: white; font-weight: bold">Customize Dice</button>
<div class="content"> <div class="content">
<label for="theme">Theme </label> <label for="theme">Theme </label>

View File

@ -14,8 +14,8 @@
const evtSource = new EventSource(url() + '/dice/{room}/results'); const evtSource = new EventSource(url() + '/dice/{room}/results');
evtSource.addEventListener('message', function (event) { evtSource.addEventListener('message', function (event) {
let data = JSON.parse(event.data); let data = JSON.parse(event.data);
let name = document.getElementById(data.name) ?? document.createElement('div'); let name = document.getElementById(data.user) ?? document.createElement('div');
name.id = data.name; name.id = data.user;
name.replaceChildren(...[]); name.replaceChildren(...[]);
let node = document.createElement('p'); let node = document.createElement('p');
let resultText = '' let resultText = ''