7918792f4e
- Delete src/ui/shared/ParticipantCard.js (duplicate of boardUtils.js with conflicting implementations) - Delete tests/unit/ui/shared/ParticipantCard.test.js (tests for deleted file) - Add directorsBoard to global declarations in ScryingPoolStrip.js to fix lint errors Generated by Mistral Vibe. Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
28 lines
964 B
Handlebars
28 lines
964 B
Handlebars
{{!-- Participant Card — single participant tile in the Director's Board --}}
|
|
<div class="scrying-pool participant-card sp-state-{{state}}{{#if hasPendingOp}} sp-state-pending{{/if}}"
|
|
role="listitem"
|
|
aria-label="{{cardAriaLabel}}"
|
|
data-user-id="{{userId}}"
|
|
tabindex="0">
|
|
|
|
{{!-- Avatar (48px rounded) --}}
|
|
<div class="participant-card__avatar">
|
|
<img src="{{avatarSrc}}" alt="Avatar of {{name}}" />
|
|
</div>
|
|
|
|
{{!-- Name (12px, 2-line truncate) --}}
|
|
<p class="participant-card__name">{{name}}</p>
|
|
|
|
{{!-- Toggle overlay — revealed on hover; independently keyboard-focusable --}}
|
|
<button class="participant-card__toggle"
|
|
type="button"
|
|
data-action="toggle-participant"
|
|
data-user-id="{{userId}}"
|
|
role="button"
|
|
aria-label="{{toggleAriaLabel}}"
|
|
tabindex="-1">
|
|
<i class="fas {{#if isHidden}}fa-eye{{else}}fa-eye-slash{{/if}}" aria-hidden="true"></i>
|
|
</button>
|
|
|
|
</div>
|