Module cleanup and tests
CI / ci (push) Failing after 7s

This commit is contained in:
2026-05-24 23:13:45 +02:00
parent 63d83e999a
commit 5dc9b3b8d4
72 changed files with 2545 additions and 1220 deletions
+79 -27
View File
@@ -1,58 +1,110 @@
{{!-- Director's Board — GM camera-management overview window --}}
<div class="directors-board__inner">
{{!-- Drag grip --}}
<div class="directors-board__grip" data-action="drag-grip" aria-hidden="true">
<i class="fas fa-grip-lines"></i>
</div>
<button type="button"
class="directors-board__close-btn"
data-action="close"
aria-label="{{localize "scrying-pool.directorsBoard.close"}}"
data-tooltip="{{localize "scrying-pool.directorsBoard.close"}}">×</button>
<section class="scrying-pool directors-board__content"
role="list"
aria-label="{{localize "video-view-manager.directorsBoard.title"}}">
aria-label="{{localize "scrying-pool.directorsBoard.title"}}">
{{#unless isEmpty}}
{{#each participants}}
{{> "modules/video-view-manager/templates/participant-card.hbs"}}
{{> "modules/scrying-pool/templates/participant-card.hbs"}}
{{/each}}
{{else}}
<p class="directors-board__empty" role="listitem">
{{localize "video-view-manager.directorsBoard.empty"}}
{{localize "scrying-pool.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 type="button" class="directors-board__bulk-btn" data-action="show-all"
data-tooltip="{{localize "scrying-pool.directorsBoard.bulk.showAll"}}">
<i class="fas fa-eye" aria-hidden="true"></i>
{{localize "scrying-pool.directorsBoard.bulk.showAll"}}
</button>
<button type="button" class="directors-board__bulk-btn" data-action="hide-all">
{{localize "video-view-manager.directorsBoard.bulk.hideAll"}}
<button type="button" class="directors-board__bulk-btn" data-action="hide-all"
data-tooltip="{{localize "scrying-pool.directorsBoard.bulk.hideAll"}}">
<i class="fas fa-eye-slash" aria-hidden="true"></i>
{{localize "scrying-pool.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 type="button" class="directors-board__bulk-btn directors-board__bulk-btn--undo" data-action="undo"
data-tooltip="{{localize "scrying-pool.directorsBoard.bulk.undo"}}">
<i class="fas fa-undo" aria-hidden="true"></i>
{{localize "scrying-pool.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 type="button" class="directors-board__bulk-btn directors-board__bulk-btn--restore" data-action="restore-spotlight"
data-tooltip="{{localize "scrying-pool.directorsBoard.bulk.restore"}}">
<i class="fas fa-star" aria-hidden="true"></i>
{{localize "scrying-pool.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>
<button type="button" class="directors-board__help-btn" data-action="open-shortcut-panel"
aria-label="{{localize "scrying-pool.directorsBoard.shortcuts.openPanel"}}"
data-tooltip="{{localize "scrying-pool.directorsBoard.shortcuts.openPanel"}}">?</button>
</div>
<footer class="directors-board__footer">
<button type="button" class="directors-board__footer-btn" data-action="save-preset">
{{localize "video-view-manager.directorsBoard.footer.savePreset"}}
</button>
<button type="button" class="directors-board__footer-btn" data-action="load-preset" {{#unless hasPresets}}disabled{{/unless}}>
{{localize "video-view-manager.directorsBoard.footer.loadPreset"}}
</button>
<button type="button" class="directors-board__footer-btn" data-action="export-presets">
{{localize "video-view-manager.directorsBoard.footer.exportPresets"}}
</button>
<button type="button" class="directors-board__footer-btn" data-action="import-presets">
{{localize "video-view-manager.directorsBoard.footer.importPresets"}}
</button>
<button type="button" class="directors-board__footer-btn" data-action="toggle-preset-panel">
{{localize "video-view-manager.directorsBoard.footer.autoApplySettings"}}
</button>
<div class="directors-board__footer-group directors-board__footer-group--presets">
<button type="button" class="directors-board__footer-btn" data-action="save-preset"
data-tooltip="{{localize "scrying-pool.directorsBoard.footer.savePreset"}}">
<i class="fas fa-save" aria-hidden="true"></i>
{{localize "scrying-pool.directorsBoard.footer.savePreset"}}
</button>
<button type="button" class="directors-board__footer-btn" data-action="load-preset"
data-tooltip="{{localize "scrying-pool.directorsBoard.footer.loadPreset"}}"
{{#unless hasPresets}}disabled{{/unless}}>
<i class="fas fa-folder-open" aria-hidden="true"></i>
{{localize "scrying-pool.directorsBoard.footer.loadPreset"}}
</button>
<button type="button" class="directors-board__footer-btn directors-board__footer-btn--secondary" data-action="export-presets"
data-tooltip="{{localize "scrying-pool.directorsBoard.footer.exportPresets"}}">
<i class="fas fa-file-export" aria-hidden="true"></i>
{{localize "scrying-pool.directorsBoard.footer.exportPresets"}}
</button>
<button type="button" class="directors-board__footer-btn directors-board__footer-btn--secondary" data-action="import-presets"
data-tooltip="{{localize "scrying-pool.directorsBoard.footer.importPresets"}}">
<i class="fas fa-file-import" aria-hidden="true"></i>
{{localize "scrying-pool.directorsBoard.footer.importPresets"}}
</button>
</div>
<div class="directors-board__footer-group directors-board__footer-group--controls">
<button type="button" class="directors-board__footer-btn directors-board__footer-btn--auto-apply" data-action="toggle-preset-panel"
data-tooltip="{{localize "scrying-pool.directorsBoard.footer.autoApplySettings"}}">
<i class="fas fa-magic" aria-hidden="true"></i>
{{localize "scrying-pool.directorsBoard.footer.autoApplySettings"}}
</button>
<div class="directors-board__footer-sep" role="separator" aria-hidden="true"></div>
<button type="button" class="directors-board__footer-btn directors-board__footer-btn--av{{#if avModeEnabled}} directors-board__footer-btn--av-active{{/if}}" data-action="toggle-av-mode"
data-tooltip="{{#if avModeEnabled}}{{localize "scrying-pool.directorsBoard.footer.avModeDisable"}}{{else}}{{localize "scrying-pool.directorsBoard.footer.avModeEnable"}}{{/if}}">
{{#if avModeEnabled}}
<i class="fas fa-video-slash" aria-hidden="true"></i>
{{localize "scrying-pool.directorsBoard.footer.avModeDisable"}}
{{else}}
<i class="fas fa-video" aria-hidden="true"></i>
{{localize "scrying-pool.directorsBoard.footer.avModeEnable"}}
{{/if}}
</button>
<button type="button" class="directors-board__footer-btn directors-board__footer-btn--av-config" data-action="open-av-config"
data-tooltip="{{localize "scrying-pool.directorsBoard.footer.avConfigTitle"}}">
<i class="fas fa-sliders-h" aria-hidden="true"></i>
{{localize "scrying-pool.directorsBoard.footer.avConfig"}}
</button>
</div>
</footer>
{{!-- Scene Preset Panel - rendered via JavaScript, not Handlebars --}}