ROLE SELECT: block role pick without deck; SigSelect qualifier spec fix — TDD
- role-select.js: _showNoDeckWarning(stack) intercepts at openFan() — fan never
opens when data-equipped-deck=""; warning positioned fixed over card-stack via
getBoundingClientRect(); .guard-actions wrapper for FYI/.btn-caution + NVM/.btn-cancel
- room.html: card-stack gains data-equipped-deck="{{ equipped_deck_id|default:'' }}"
- room view context: equipped_deck_id added
- _room.scss: .role-no-deck-warning — glass guard style matching #id_guard_portal
- _base.scss + _room.scss: guard portal + no-deck warning opacity 0.5 → 0.75
(matches .tt tooltip; light-palette handled via --tooltip-bg CSS var)
- RoleSelectSpec.js: 8 Jasmine specs — no-deck (fan blocked, warning, FYI/NVM,
no duplicate, no POST) + deck-present pass-through; afterEach cleans up warning
- SigSelectSpec.js: card fixture gains data-levity-qualifier + data-gravity-qualifier;
all "Leavened" expectations updated to "Elevated"
Code architected by Disco DeDisco <discodedisco@outlook.com>
Git commit message Co-Authored-By:
Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -563,7 +563,7 @@ body {
|
||||
z-index: 10000;
|
||||
padding: 0.75rem 1rem;
|
||||
border-radius: 0.5rem;
|
||||
background-color: rgba(var(--tooltip-bg), 0.5);
|
||||
background-color: rgba(var(--tooltip-bg), 0.75);
|
||||
backdrop-filter: blur(6px);
|
||||
border: 0.1rem solid rgba(var(--secUser), 0.4);
|
||||
box-shadow: 0 0.25rem 1rem rgba(0, 0, 0, 0.4);
|
||||
|
||||
@@ -738,6 +738,37 @@ html:has(.gate-backdrop) .position-strip .gate-slot button { pointer-events: aut
|
||||
$card-w: 90px;
|
||||
$card-h: 60px;
|
||||
|
||||
// ─── No-deck warning overlay ──────────────────────────────────────────────
|
||||
|
||||
.role-no-deck-warning {
|
||||
position: fixed;
|
||||
z-index: 10000;
|
||||
transform: translate(-50%, -50%);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
gap: 0.5rem;
|
||||
padding: 0.75rem 1rem;
|
||||
max-width: 11rem;
|
||||
border-radius: 0.5rem;
|
||||
background-color: rgba(var(--tooltip-bg), 0.75);
|
||||
backdrop-filter: blur(6px);
|
||||
border: 0.1rem solid rgba(var(--secUser), 0.4);
|
||||
box-shadow: 0 0.25rem 1rem rgba(0, 0, 0, 0.4);
|
||||
|
||||
p {
|
||||
font-size: 0.75rem;
|
||||
color: rgba(var(--secUser), 0.9);
|
||||
text-align: center;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.guard-actions {
|
||||
display: flex;
|
||||
gap: 0.5rem;
|
||||
}
|
||||
}
|
||||
|
||||
// ─── Role select modal ─────────────────────────────────────────────────────
|
||||
|
||||
.role-select-backdrop {
|
||||
|
||||
Reference in New Issue
Block a user