Story 3.2 done

This commit is contained in:
2026-05-23 18:23:48 +02:00
parent d175f92806
commit a1e8886fce
66 changed files with 18258 additions and 1650 deletions
+68 -2
View File
@@ -1,2 +1,68 @@
{{!-- Roster Strip - compact inline visibility strip (outside .scrying-pool root) --}}
<div class="scrying-pool roster-strip" role="region" aria-label="Roster Strip" data-component="roster-strip"></div>
{{!-- ScryingPoolStrip — floating GM control strip --}}
<div class="scrying-pool scrying-pool-strip{{#if isExpanded}} is-expanded{{/if}}"
role="complementary"
aria-label="Scrying Pool">
{{!-- First-open tip (right-click affordance) --}}
{{#if showFirstOpenTip}}
<p class="sp-strip__first-tip">
<i class="fas fa-info-circle" aria-hidden="true"></i>
Right-click a participant to hide them from the table.
</p>
{{/if}}
{{!-- Expand/collapse toggle --}}
<button class="sp-strip__toggle" data-action="toggle-expanded"
aria-label="{{#if isExpanded}}Collapse Scrying Pool{{else}}Expand Scrying Pool{{/if}}"
aria-expanded="{{isExpanded}}">
<i class="fas fa-chevron-{{#if isExpanded}}left{{else}}right{{/if}}"></i>
</button>
{{!-- Director's Board CTA button (fallback when sidebar API unavailable) --}}
<button class="sp-strip__directors-board-cta" data-action="open-directors-board"
aria-label="Open Director's Board">
<i class="fas fa-border-all" aria-hidden="true"></i>
<span>Director's Board</span>
</button>
{{!-- Participant list --}}
<ul class="sp-strip__participants" role="list">
{{#if isEmpty}}
{{!-- EmptyStatePanel --}}
<li class="sp-strip__empty-state" role="listitem">
<i class="fas fa-eye sp-empty__icon" aria-hidden="true"></i>
<span class="sp-empty__text">No participants yet</span>
</li>
{{else}}
{{#each participants}}
<li class="sp-strip__participant-item" role="listitem">
{{!-- ParticipantAvatar (44×44px container) --}}
<button class="sp-participant-avatar sp-state-{{state}}{{#if hasPendingOp}} sp-state-pending{{/if}}"
data-user-id="{{userId}}"
data-action="open-popover"
role="button"
aria-label="{{name}}{{stateLabel}}"
aria-pressed="false">
{{!-- Avatar image (32px rounded) --}}
<img class="sp-avatar__img" src="{{avatarSrc}}" alt="" aria-hidden="true" />
{{!-- Corner badge (12px bottom-right) --}}
<span class="sp-avatar__corner-badge" aria-hidden="true"></span>
{{!-- Expanded view: name + state rows --}}
{{#if ../isExpanded}}
<span class="sp-avatar__name">{{name}}</span>
<span class="sp-avatar__state-label">{{stateLabel}}</span>
{{/if}}
</button>
</li>
{{/each}}
{{/if}}
</ul>
{{!-- StripOverlayLayer — owns ActionPopover + ConfirmationBar --}}
<div class="sp-strip__overlay-layer"
aria-hidden="true"
style="position: absolute; inset: 0; pointer-events: none; overflow: visible;"></div>
</div>