Add composite layer preview, configurable LED count, and notification fire button to CSS test modal
- Composite sources show per-layer strip canvases with composite result on top - Server sends composite wire format with per-layer RGB data - LED count is configurable via input field, persisted in localStorage - Notification sources show a bell fire button on the strip preview - Composite with notification layers shows per-layer fire buttons - Fixed stale WS frame bug with generation counter and unique consumer IDs - Modal width is now fixed at 700px to prevent layout jumps - Target card composite layers now use same-height canvases Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -2,13 +2,16 @@
|
||||
<div id="test-css-source-modal" class="modal" role="dialog" aria-modal="true" aria-labelledby="test-css-source-modal-title">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h2 id="test-css-source-modal-title" data-i18n="color_strip.test.title">Test Color Strip</h2>
|
||||
<h2 id="test-css-source-modal-title" data-i18n="color_strip.test.title">Test Preview</h2>
|
||||
<button class="modal-close-btn" onclick="closeTestCssSourceModal()" title="Close" data-i18n-aria-label="aria.close">✕</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<!-- Strip view (for generic sources) -->
|
||||
<div id="css-test-strip-view">
|
||||
<div id="css-test-strip-view" class="css-test-strip-wrap">
|
||||
<canvas id="css-test-strip-canvas" class="css-test-strip-canvas"></canvas>
|
||||
<button id="css-test-fire-btn" class="css-test-fire-btn" style="display:none"
|
||||
onclick="fireCssTestNotification()"
|
||||
data-i18n-title="color_strip.notification.test"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9"/><path d="M10.3 21a1.94 1.94 0 0 0 3.4 0"/><path d="M4 2C2.8 3.7 2 5.7 2 8"/><path d="M22 8c0-2.3-.8-4.3-2-6"/></svg></button>
|
||||
</div>
|
||||
|
||||
<!-- Rectangle view (for picture sources) -->
|
||||
@@ -28,9 +31,22 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Composite layers view -->
|
||||
<div id="css-test-layers-view" style="display:none">
|
||||
<div id="css-test-layers" class="css-test-layers"></div>
|
||||
</div>
|
||||
|
||||
<div class="css-test-info">
|
||||
<span id="css-test-led-count" class="css-test-stat"></span>
|
||||
</div>
|
||||
|
||||
<!-- LED count control -->
|
||||
<div class="css-test-led-control" id="css-test-led-control">
|
||||
<label for="css-test-led-input" data-i18n="color_strip.test.led_count">LEDs:</label>
|
||||
<input type="number" id="css-test-led-input" min="1" max="2000" step="1" value="100" class="css-test-led-input">
|
||||
<button class="btn btn-sm btn-secondary css-test-led-apply" onclick="applyCssTestLedCount()" data-i18n="color_strip.test.apply">Apply</button>
|
||||
</div>
|
||||
|
||||
<div id="css-test-status" class="css-test-status" data-i18n="color_strip.test.connecting">Connecting...</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user