Bugfixes. Optimizations/refactor. Add redis for player-cache. Add docker files. Replace sqlite dep. Single-Calc for existing players. Game-Metrics in JSON.
This commit is contained in:
@@ -61,13 +61,13 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-auto position-absolute start-50 translate-middle-x">
|
||||
<button class="btn btn-lg btn-outline-primary">
|
||||
<button class="btn btn-lg btn-outline-primary" type="button" disabled>
|
||||
<i class="bi bi-calculator-fill me-2"></i>
|
||||
Berechnen
|
||||
</button>
|
||||
</div>
|
||||
<div class="col-auto position-absolute end-0">
|
||||
<button class="btn btn-lg btn-outline-secondary text-secondary-emphasis">
|
||||
<button class="btn btn-lg btn-outline-secondary text-secondary-emphasis" type="button" disabled>
|
||||
<i class="bi bi-person me-2"></i>
|
||||
Einzel-Abfrage
|
||||
</button>
|
||||
|
||||
@@ -86,7 +86,7 @@
|
||||
}
|
||||
|
||||
function createSubmitClanHandler(modalEvent) {
|
||||
return function submitClanHandler(e) {
|
||||
return function submitClanHandler(_) {
|
||||
const [clanList, otherClanList] = getClanLists(modalEvent);
|
||||
|
||||
if (!validateInputs()) {
|
||||
@@ -130,7 +130,7 @@
|
||||
submitButton.addEventListener('click', submitClanHandler);
|
||||
});
|
||||
|
||||
addClanModal.addEventListener('hidden.bs.modal', event => {
|
||||
addClanModal.addEventListener('hidden.bs.modal', _ => {
|
||||
submitButton.removeEventListener('click', submitClanHandler);
|
||||
|
||||
clanName.value = "";
|
||||
|
||||
@@ -38,8 +38,8 @@
|
||||
const playerName = addPlayerModal.querySelector('#playerName');
|
||||
const clanName = addPlayerModal.querySelector('#playerClanName');
|
||||
const errorDiv = addPlayerModal.querySelector('.error-message');
|
||||
const homeClanListIndex = document.getElementById('home-clan').selectedIndex;
|
||||
const oppClanListIndex = document.getElementById('opponent-clan').selectedIndex;
|
||||
const homeClanList = document.getElementById('home-clan');
|
||||
const oppClanList = document.getElementById('opponent-clan');
|
||||
|
||||
function validateInput() {
|
||||
if (playerName.value.length < 1) {
|
||||
@@ -50,8 +50,8 @@
|
||||
return true;
|
||||
}
|
||||
|
||||
function createSubmitPlayerHandler(modalEvent) {
|
||||
return function submitPlayerHandler(e) {
|
||||
function createSubmitPlayerHandler(_) {
|
||||
return function submitPlayerHandler(_) {
|
||||
if (!validateInput())
|
||||
return;
|
||||
|
||||
@@ -74,7 +74,7 @@
|
||||
return response.text();
|
||||
})
|
||||
.then(() => {
|
||||
const sameClan = homeClanListIndex === oppClanListIndex;
|
||||
const sameClan = homeClanList.selectedIndex === oppClanList.selectedIndex;
|
||||
if (playerList.id === 'home-player-list' || sameClan)
|
||||
htmx.ajax('GET', '/players_html', {target: '#home-player-list', values: {"clan_id": getSelectedClanId("home-clan")}});
|
||||
if (playerList.id === 'opponent-player-list' || sameClan)
|
||||
@@ -98,7 +98,7 @@
|
||||
clanName.value = selectedClan.innerText;
|
||||
});
|
||||
|
||||
addPlayerModal.addEventListener('hidden.bs.modal', event => {
|
||||
addPlayerModal.addEventListener('hidden.bs.modal', _ => {
|
||||
submitButton.removeEventListener('click', submitPlayerHandler);
|
||||
|
||||
playerName.value = "";
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
const deleteClanModal = document.getElementById('deleteClanModal')
|
||||
const deleteClanModalBS = new bootstrap.Modal('#deleteClanModal');
|
||||
|
||||
if (deleteClanModal) {
|
||||
deleteClanModal.addEventListener('show.bs.modal', event => {
|
||||
const [clanList, otherClanList] = getClanLists(event);
|
||||
|
||||
@@ -34,8 +34,8 @@
|
||||
modalBodyInput.innerText = selectedPlayer;
|
||||
|
||||
const playerListId = button.closest('ul').parentElement.parentElement.id;
|
||||
const homeClanListIndex = document.getElementById('home-clan').selectedIndex;
|
||||
const oppClanListIndex = document.getElementById('opponent-clan').selectedIndex;
|
||||
const homeClanList = document.getElementById('home-clan');
|
||||
const oppClanList = document.getElementById('opponent-clan');
|
||||
|
||||
const submitButton = deletePlayerModal.querySelector('button[name="submit"]');
|
||||
submitButton.addEventListener('click', function () {
|
||||
@@ -46,7 +46,7 @@
|
||||
}
|
||||
})
|
||||
.then(() => {
|
||||
const sameClan = homeClanListIndex === oppClanListIndex;
|
||||
const sameClan = homeClanList.selectedIndex === oppClanList.selectedIndex;
|
||||
if (playerListId === 'home-player-list' || sameClan)
|
||||
htmx.ajax('GET', '/players_html', {target: '#home-player-list', values: {"clan_id": getSelectedClanId("home-clan")}});
|
||||
if (playerListId === 'opponent-player-list' || sameClan)
|
||||
|
||||
@@ -87,7 +87,7 @@
|
||||
}
|
||||
|
||||
function createSubmitClanHandler() {
|
||||
return function submitClanHandler(e) {
|
||||
return function submitClanHandler(_) {
|
||||
if (!validateInputs())
|
||||
return;
|
||||
|
||||
@@ -149,7 +149,7 @@
|
||||
});
|
||||
});
|
||||
|
||||
editClanModal.addEventListener('hidden.bs.modal', event => {
|
||||
editClanModal.addEventListener('hidden.bs.modal', _ => {
|
||||
submitButton.removeEventListener('click', submitClanHandler);
|
||||
|
||||
clanName.value = "";
|
||||
|
||||
@@ -34,8 +34,8 @@
|
||||
const submitButton = editPlayerModal.querySelector('button[name="submit"]');
|
||||
const playerName = editPlayerModal.querySelector('#editPlayerName');
|
||||
const errorDiv = editPlayerModal.querySelector('.error-message');
|
||||
const homeClanListIndex = document.getElementById('home-clan').selectedIndex;
|
||||
const oppClanListIndex = document.getElementById('opponent-clan').selectedIndex;
|
||||
const homeClanList = document.getElementById('home-clan');
|
||||
const oppClanList = document.getElementById('opponent-clan');
|
||||
|
||||
function validateInput() {
|
||||
if (playerName.value.length < 1) {
|
||||
@@ -71,7 +71,7 @@
|
||||
return response.text();
|
||||
})
|
||||
.then(() => {
|
||||
const sameClan = homeClanListIndex === oppClanListIndex;
|
||||
const sameClan = homeClanList.selectedIndex === oppClanList.selectedIndex;
|
||||
if (playerList.id === 'home-player-list' || sameClan)
|
||||
htmx.ajax('GET', '/players_html', {target: '#home-player-list', values: {"clan_id": getSelectedClanId("home-clan")}});
|
||||
if (playerList.id === 'opponent-player-list' || sameClan)
|
||||
@@ -95,7 +95,7 @@
|
||||
playerName.value = event.relatedTarget.closest('.input-group').querySelector('span').innerText;
|
||||
});
|
||||
|
||||
editPlayerModal.addEventListener('hide.bs.modal', event => {
|
||||
editPlayerModal.addEventListener('hide.bs.modal', _ => {
|
||||
submitButton.removeEventListener('click', submitPlayerHandler);
|
||||
|
||||
playerName.value = "";
|
||||
|
||||
@@ -53,7 +53,7 @@
|
||||
const useCache = document.getElementById('settingsUseCache');
|
||||
|
||||
function createSubmitSettingsHandler() {
|
||||
return function submitSettingsHandler(e) {
|
||||
return function submitSettingsHandler(_) {
|
||||
let activeGameId = games.options[games.selectedIndex].value;
|
||||
if (activeGameId === '') {
|
||||
alert('Bitte wähle ein Spiel aus.');
|
||||
@@ -88,7 +88,7 @@
|
||||
}
|
||||
|
||||
if (settingsModal) {
|
||||
settingsModal.addEventListener('show.bs.modal', event => {
|
||||
settingsModal.addEventListener('show.bs.modal', _ => {
|
||||
submitSettingsHandler = createSubmitSettingsHandler();
|
||||
submitButton.addEventListener('click', submitSettingsHandler);
|
||||
|
||||
|
||||
@@ -3,10 +3,10 @@
|
||||
<input class="form-check-input fs-4 border-secondary mt-0" type="checkbox" value="" onchange="updateSelectedPlayers(this)">
|
||||
</div>
|
||||
<span class="form-control py-2 px-3" style="width: 10em">%s</span>
|
||||
<span class="form-control text-center px-1 text-secondary">
|
||||
<i class="bi bi-trophy me-2 text-warning"></i>%s
|
||||
</span>
|
||||
<button type="button" class="btn btn-outline-secondary">
|
||||
<div class="form-control text-center px-2 text-secondary">
|
||||
<i class="bi bi-trophy me-3 text-warning"></i><span id="quickScore" class="text-secondary-emphasis">%s</span>
|
||||
</div>
|
||||
<button type="button" class="btn btn-outline-secondary" hx-get="/score/%s" hx-target="previous #quickScore" onclick="singleCalcSpinner(this)">
|
||||
<i class="bi bi-calculator text-info"></i>
|
||||
</button>
|
||||
<button class="btn btn-outline-secondary text-secondary-emphasis dropdown-toggle py-1" type="button" data-bs-toggle="dropdown"></button>
|
||||
|
||||
Reference in New Issue
Block a user