massive additions made thru somewhat new apps.epic.models, .urls, .views; new html page & partial in apps/gameboard; new apps.epic FT & ITs (all green); New Game applet now actually leads to game room feat. token-drop gatekeeper mechanism intended for 6 gamers

This commit is contained in:
Disco DeDisco
2026-03-13 00:31:17 -04:00
parent 681a1a4cd0
commit 5773462b4c
12 changed files with 303 additions and 7 deletions

View File

@@ -3,7 +3,9 @@
style="--applet-cols: {{ entry.applet.grid_cols }}; --applet-rows: {{ entry.applet.grid_rows }};"
>
<h2>New Game</h2>
<ul class="game-type">
<small>[feature forthcoming]</small>
</ul>
<form method="POST" action="{% url "epic:create_room" %}">
{% csrf_token %}
<input id="id_new_game_name" name="name" type="text" placeholder="Room name" />
<button type="submit" id="id_create_game_btn" class="btn btn-primary btn-xl">Start<br>Game</button>
</form>
</section>

View File

@@ -0,0 +1,26 @@
<div class="gate-modal" role"dialog" aria-label="Gatekeeper">
<header class="gate-header">
<h1>{{ room.name }}</h1>
<span class="gate-status">{{ room.gate_status }}</span>
</header>
<div class="gate-slots">
{% for slot in slots %}
<div
class="gate-slot{% if slot.status == 'EMPTY' %} empty{% endif %}"
data-slot="{{ slot.slot_number }}"
>
<span class="slot-number">{{ slot.slot_number }}</span>
{% if slot.gamer %}
<span class="slot-gamer">{{ slot.gamer.email }}</span>
{% else %}
<span class="slot-gamer">empty</span>
{% endif %}
{% if slot.slot_number == 1 and request.user == room.owner %}
<button class="drop-token-btn">Drop Token</button>
{% endif %}
</div>
{% endfor %}
</div>
</div>

View File

@@ -0,0 +1,16 @@
{% extends "core/base.html" %}
{% block content %}
<div class="room-page">
<div class="room-shell">
{% comment "game room content" %}gaussian blur + darkening (cf., e.g., tooltip effect) {% endcomment %}
<div class="room-table"></div>
</div>
{% if room.gate_status == "GATHERING" %}
<div class="gate-overlay">
{% include "apps/gameboard/_partials/_gatekeeper.html" %}
</div>
{% endif %}
</div>
{% endblock content %}