From 1e37fe1475122c5eab410c38be7181ac99ce4d6d Mon Sep 17 00:00:00 2001 From: Disco DeDisco Date: Wed, 20 May 2026 02:50:54 -0400 Subject: [PATCH] =?UTF-8?q?My=20Sea=20iter=206b:=20navbar=20GATE=20VIEW=20?= =?UTF-8?q?swap=20on=20page-my-sea=20+=20landing=20PAID=20DRAW=20state=20+?= =?UTF-8?q?=20seat-1=20server-render=20+=20auto-token=20IT=20trap=20in=20g?= =?UTF-8?q?atekeeper=20FT=20=E2=80=94=20Sprint=205=20iter=206b=20of=20My?= =?UTF-8?q?=20Sea=20roadmap=20=E2=80=94=20TDD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Second of three Sprint 6 commits per [[sprint-my-sea-iter-6-plan]]. Wires the always-reachable navbar gate-entry, completes the landing center-btn 3-way state machine (FREE DRAW / GATE VIEW / PAID DRAW), and lifts seat-1's `.seated` state from JS-only to server-rendered (reload-stable). ## Navbar GATE VIEW swap `templates/core/_partials/_navbar.html` — when `'page-my-sea' in page_class`, CONT GAME swaps for `#id_navbar_gate_view_btn` (`.btn-primary`, plain ` + + {% elif quota_spent %} - {% if navbar_recent_room_url %} + {% if 'page-my-sea' in page_class %} + {# Sprint 6 iter 6b — on any my-sea page (landing/picker or #} + {# the gatekeeper itself), CONT GAME swaps for GATE VIEW so #} + {# the user can always reach the token-deposit gatekeeper #} + {# (regardless of quota state). ` + {% elif navbar_recent_room_url %}