diff --git a/CHANGELOG.md b/CHANGELOG.md index 87da405..383ebe0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,12 @@ All notable changes to this project will be documented in this file. +## 2.21.1 - 2026-10-26 + +### Fixed + +- Slide layout and animation previews now resize to fill their modal workspace instead of retaining the editor sidebar preview dimensions. + ## 2.21.0 - 2026-10-26 ### Added diff --git a/build/package.player.json b/build/package.player.json index 8cbce23..0250328 100644 --- a/build/package.player.json +++ b/build/package.player.json @@ -1,6 +1,6 @@ { "name": "pulse-signage-player", - "version": "2.21.0", + "version": "2.21.1", "private": false, "description": "Pulse Signage player application bundle", "engines": { diff --git a/build/package.web.json b/build/package.web.json index 236fce8..4c1de97 100644 --- a/build/package.web.json +++ b/build/package.web.json @@ -1,6 +1,6 @@ { "name": "pulse-signage-web", - "version": "2.21.0", + "version": "2.21.1", "private": false, "description": "Pulse Signage web and bridge application bundle", "engines": { diff --git a/package-lock.json b/package-lock.json index ced0e49..1ae161a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "pulse-signage", - "version": "2.21.0", + "version": "2.21.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "pulse-signage", - "version": "2.21.0", + "version": "2.21.1", "dependencies": { "@better-auth/passkey": "^1.7.13", "animate.css": "^4.1.1", diff --git a/package.json b/package.json index 0d43cd4..79ca5f8 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "pulse-signage", - "version": "2.21.0", + "version": "2.21.1", "private": false, "description": "Pulse Signage application with MySQL and media storage", "engines": { diff --git a/src/web/public/js/slides/slide-form.js b/src/web/public/js/slides/slide-form.js index 6cf2131..7c757de 100644 --- a/src/web/public/js/slides/slide-form.js +++ b/src/web/public/js/slides/slide-form.js @@ -792,7 +792,12 @@ import { createSlideAnimationEditor } from '/assets/js/slides/slide-animation-ed var containerStyle = window.getComputedStyle(stageContainer); var availableWidth = stageContainer.clientWidth - parseFloat(containerStyle.paddingLeft) - parseFloat(containerStyle.paddingRight); var maxHeight = parseFloat(window.getComputedStyle(slidePreviewStage).maxHeight); - if (!availableWidth || !Number.isFinite(maxHeight)) { + if (!Number.isFinite(maxHeight)) { + slidePreviewStage.style.removeProperty('width'); + slidePreviewStage.style.removeProperty('margin-inline'); + return; + } + if (!availableWidth) { return; } diff --git a/test/slide-form-editor.test.js b/test/slide-form-editor.test.js index 0ebe39f..45b493f 100644 --- a/test/slide-form-editor.test.js +++ b/test/slide-form-editor.test.js @@ -116,6 +116,7 @@ test('slide preview shrinks proportionally without adding a nested scrollbar', ( assert.match(stylesheet, /\.slide-editor-shell \.slide-preview-stage\s*\{[^}]*max-height:\s*max\(12rem,\s*calc\(100vh\s*-\s*22rem\)\);/s); assert.doesNotMatch(stylesheet, /\.slide-editor-shell \.slide-preview-scroll\s*\{[^}]*overflow:\s*auto;/s); + assert.match(slideFormSource, /if \(!Number\.isFinite\(maxHeight\)\)\s*\{\s*slidePreviewStage\.style\.removeProperty\('width'\);\s*slidePreviewStage\.style\.removeProperty\('margin-inline'\);\s*return;\s*\}/); assert.match(slideFormSource, /function sizePreviewStage\(canvasWidth, canvasHeight\)[\s\S]*?stageContainer\.clientWidth - parseFloat\(containerStyle\.paddingLeft\) - parseFloat\(containerStyle\.paddingRight\)[\s\S]*?Math\.min\(availableWidth, maxHeight \* canvasWidth \/ canvasHeight\)[\s\S]*?marginInline = 'auto'/); });