From 7da0aed466cb3fd566f4003e99dc57f8fd09cb69 Mon Sep 17 00:00:00 2001 From: jessikitty Date: Thu, 21 May 2026 10:18:41 +1000 Subject: [PATCH] feat: Use backgroundSize in slide rendering + buildBgStyle helper --- wwwroot/js/display.js | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/wwwroot/js/display.js b/wwwroot/js/display.js index f1ae937..72390c7 100644 --- a/wwwroot/js/display.js +++ b/wwwroot/js/display.js @@ -19,19 +19,31 @@ layerA.classList.add('active'); return; } - function renderSlide(slide, layer) { + function buildBgStyle(slide) { var bg = slide.backgroundColor || '#0a0a14'; - var bgImg = slide.backgroundImage ? 'url(' + slide.backgroundImage + ')' : 'none'; - var css = slide.customCss || ''; + var bgSize = slide.backgroundSize || 'cover'; + var style = 'background-color:' + bg + ';'; + if (slide.backgroundImage) { + style += 'background-image:url(' + slide.backgroundImage + ');'; + style += 'background-size:' + bgSize + ';'; + style += 'background-position:center;'; + style += 'background-repeat:no-repeat;'; + } + if (slide.customCss) style += slide.customCss; + return style; + } + + function renderSlide(slide, layer) { + var style = buildBgStyle(slide); if (slide.type === 'content') { - layer.innerHTML = '
' + (slide.content || '') + '
'; + layer.innerHTML = '
' + (slide.content || '') + '
'; } else if (slide.type === 'embed') { - layer.innerHTML = '
'; + layer.innerHTML = '
'; } else if (slide.type === 'icscalendar') { - layer.innerHTML = '

Upcoming Events

Loading calendar
'; + layer.innerHTML = '

Upcoming Events

Loading calendar
'; loadIcsEvents(slide.icsSource, layer); } else { - layer.innerHTML = '
' + (slide.content || '') + '
'; + layer.innerHTML = '
' + (slide.content || '') + '
'; } }