Fix Story 2.3 code review findings: remove duplicate ParticipantCard.js, fix lint in ScryingPoolStrip.js
- 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>
This commit is contained in:
@@ -1,2 +1,45 @@
|
||||
{{!-- Directors Board - primary GM camera-management UI --}}
|
||||
<div class="scrying-pool directors-board" role="region" aria-label="Directors Board" data-component="directors-board"></div>
|
||||
{{!-- Director's Board — GM camera-management overview window --}}
|
||||
<section class="scrying-pool directors-board__content"
|
||||
role="list"
|
||||
aria-label="{{localize "video-view-manager.directorsBoard.title"}}">
|
||||
|
||||
{{#unless isEmpty}}
|
||||
{{#each participants}}
|
||||
{{> "modules/video-view-manager/templates/participant-card.hbs"}}
|
||||
{{/each}}
|
||||
{{else}}
|
||||
<p class="directors-board__empty" role="listitem">
|
||||
{{localize "video-view-manager.directorsBoard.empty"}}
|
||||
</p>
|
||||
{{/unless}}
|
||||
|
||||
</section>
|
||||
|
||||
<div class="directors-board__bulk-bar">
|
||||
<button type="button" class="directors-board__bulk-btn" data-action="show-all">
|
||||
{{localize "video-view-manager.directorsBoard.bulk.showAll"}}
|
||||
</button>
|
||||
<button type="button" class="directors-board__bulk-btn" data-action="hide-all">
|
||||
{{localize "video-view-manager.directorsBoard.bulk.hideAll"}}
|
||||
</button>
|
||||
{{#if hasUndo}}
|
||||
<button type="button" class="directors-board__bulk-btn directors-board__bulk-btn--undo" data-action="undo">
|
||||
{{localize "video-view-manager.directorsBoard.bulk.undo"}}
|
||||
</button>
|
||||
{{/if}}
|
||||
{{#if hasRestore}}
|
||||
<button type="button" class="directors-board__bulk-btn directors-board__bulk-btn--restore" data-action="restore-spotlight">
|
||||
{{localize "video-view-manager.directorsBoard.bulk.restore"}}
|
||||
</button>
|
||||
{{/if}}
|
||||
<button type="button" class="directors-board__help-btn" data-action="open-shortcut-panel" aria-label="{{localize "video-view-manager.directorsBoard.shortcuts.openPanel"}}">?</button>
|
||||
</div>
|
||||
|
||||
<footer class="directors-board__footer">
|
||||
<button type="button" disabled>
|
||||
{{localize "video-view-manager.directorsBoard.footer.savePreset"}}
|
||||
</button>
|
||||
<button type="button" disabled>
|
||||
{{localize "video-view-manager.directorsBoard.footer.loadPreset"}}
|
||||
</button>
|
||||
</footer>
|
||||
|
||||
@@ -1,2 +1,27 @@
|
||||
{{!-- Participant Card - single participant row in the Directors Board --}}
|
||||
<div class="scrying-pool participant-card" role="region" aria-label="Participant Card" data-component="participant-card"></div>
|
||||
{{!-- 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>
|
||||
|
||||
Reference in New Issue
Block a user