fixed some UX inconsistencies in gatekeeper
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
This commit is contained in:
@@ -7,7 +7,6 @@
|
||||
if (dialog.hasAttribute('open')) {
|
||||
dialog.removeAttribute('open');
|
||||
btn.classList.remove('active');
|
||||
clearSelection();
|
||||
return;
|
||||
}
|
||||
fetch(btn.dataset.kitUrl, {
|
||||
@@ -30,7 +29,6 @@
|
||||
if (e.key === 'Escape' && dialog.hasAttribute('open')) {
|
||||
dialog.removeAttribute('open');
|
||||
btn.classList.remove('active');
|
||||
clearSelection();
|
||||
}
|
||||
});
|
||||
|
||||
@@ -42,7 +40,6 @@
|
||||
if (e.target.closest('button.token-rails')) return;
|
||||
dialog.removeAttribute('open');
|
||||
btn.classList.remove('active');
|
||||
clearSelection();
|
||||
});
|
||||
|
||||
// Inject token_id before token-rails form submits
|
||||
@@ -90,9 +87,5 @@
|
||||
});
|
||||
}
|
||||
|
||||
function clearSelection() {
|
||||
window._kitTokenId = null;
|
||||
var slot = document.querySelector('.token-slot');
|
||||
if (slot) slot.classList.remove('ready');
|
||||
}
|
||||
|
||||
}());
|
||||
|
||||
@@ -29,6 +29,7 @@ def _gate_context(room, user):
|
||||
carte_token = None
|
||||
carte_slots_claimed = 0
|
||||
carte_nvm_slot_number = None
|
||||
carte_next_slot_number = None
|
||||
if user.is_authenticated:
|
||||
user_reserved_slot = slots.filter(gamer=user, status=GateSlot.RESERVED).first()
|
||||
user_filled_slot = slots.filter(gamer=user, status=GateSlot.FILLED).first()
|
||||
@@ -43,6 +44,10 @@ def _gate_context(room, user):
|
||||
).order_by("-slot_number").first()
|
||||
if nvm_slot:
|
||||
carte_nvm_slot_number = nvm_slot.slot_number
|
||||
# Only the very next empty slot gets an OK button
|
||||
next_slot = slots.filter(status=GateSlot.EMPTY).order_by("slot_number").first()
|
||||
if next_slot:
|
||||
carte_next_slot_number = next_slot.slot_number
|
||||
carte_active = carte_token is not None
|
||||
eligible = (
|
||||
user.is_authenticated
|
||||
@@ -70,6 +75,7 @@ def _gate_context(room, user):
|
||||
"carte_active": carte_active,
|
||||
"carte_slots_claimed": carte_slots_claimed,
|
||||
"carte_nvm_slot_number": carte_nvm_slot_number,
|
||||
"carte_next_slot_number": carte_next_slot_number,
|
||||
}
|
||||
|
||||
|
||||
@@ -231,6 +237,9 @@ def release_slot(request, room_id):
|
||||
slot.debited_token_type = None
|
||||
slot.debited_token_expires_at = None
|
||||
slot.save()
|
||||
if room.gate_status == Room.OPEN:
|
||||
room.gate_status = Room.GATHERING
|
||||
room.save()
|
||||
return redirect("epic:gatekeeper", room_id=room_id)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user