From 5ad56a3f0ebae275f47b4d43ca3da8532dacf229 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Dvo=C5=99=C3=A1k?= <150935816+Dvorinka@users.noreply.github.com> Date: Tue, 27 May 2025 13:09:16 +0200 Subject: [PATCH] Add files via upload --- admin-dashboard.html | 55 +++++++++++++++++++++++++++++++++++++++----- 1 file changed, 49 insertions(+), 6 deletions(-) diff --git a/admin-dashboard.html b/admin-dashboard.html index b909935..d5d038d 100644 --- a/admin-dashboard.html +++ b/admin-dashboard.html @@ -160,6 +160,16 @@ box-shadow: inset 0 1px 2px rgba(0,0,0,0.1); } + .color-picker { + margin-left: 10px; + vertical-align: middle; + height: 30px; + padding: 0; + border: 1px solid var(--border-color); + border-radius: 4px; + cursor: pointer; + } + .style-presets { display: flex; flex-wrap: wrap; @@ -1102,13 +1112,25 @@ async function saveBanner(event) { function updateColorPreviews() { const bgColorPreview = document.getElementById('bgColorPreview'); const textColorPreview = document.getElementById('textColorPreview'); + const bgColorPicker = document.getElementById('bannerBgColorPicker'); + const textColorPicker = document.getElementById('bannerTextColorPicker'); + const bgColorInput = document.getElementById('bannerBgColor'); + const textColorInput = document.getElementById('bannerTextColor'); - if (bgColorPreview) { - bgColorPreview.style.backgroundColor = document.getElementById('bannerBgColor').value; + if (bgColorPreview && bgColorInput) { + bgColorPreview.style.backgroundColor = bgColorInput.value; } - if (textColorPreview) { - textColorPreview.style.backgroundColor = document.getElementById('bannerTextColor').value; + if (textColorPreview && textColorInput) { + textColorPreview.style.backgroundColor = textColorInput.value; + } + + if (bgColorPicker && bgColorInput) { + bgColorPicker.value = bgColorInput.value; + } + + if (textColorPicker && textColorInput) { + textColorPicker.value = textColorInput.value; } } @@ -1173,7 +1195,7 @@ function updateBannerPreview() { const imagePreviewContainer = document.getElementById('imagePreviewContainer'); const bannerLink = document.getElementById('bannerLink')?.value || ''; - if (!bannerPreview || !bannerPreviewContent || !bannerPreviewBg) { + if (!bannerPreview || !bannerPreviewContent) { return; // Elements not found } @@ -1194,6 +1216,7 @@ function updateBannerPreview() { bannerPreview.style.margin = '0 auto'; bannerPreview.style.maxWidth = '100%'; bannerPreview.style.padding = '0'; + bannerPreview.style.borderRadius = `${bannerBorderRadius}px`; // Update banner content styles to match index.html Object.assign(bannerPreviewContent.style, { @@ -1257,6 +1280,10 @@ function applyPreset(preset) { bannerTextColor.value = style.textColor; bannerTextAlign.value = style.textAlign; + // Update color pickers to match input fields + bannerBgColorPicker.value = style.backgroundColor; + bannerTextColorPicker.value = style.textColor; + updateColorPreviews(); updateBannerPreview(); } @@ -1272,7 +1299,23 @@ bannerTextColor.addEventListener('input', () => { updateBannerPreview(); }); -[bannerText, bannerTextAlign, bannerFontSize, bannerPadding, bannerVisible].forEach(el => { +// Connect color pickers to input fields +const bannerBgColorPicker = document.getElementById('bannerBgColorPicker'); +const bannerTextColorPicker = document.getElementById('bannerTextColorPicker'); + +bannerBgColorPicker.addEventListener('input', () => { + bannerBgColor.value = bannerBgColorPicker.value; + updateColorPreviews(); + updateBannerPreview(); +}); + +bannerTextColorPicker.addEventListener('input', () => { + bannerTextColor.value = bannerTextColorPicker.value; + updateColorPreviews(); + updateBannerPreview(); +}); + +[bannerText, bannerTextAlign, bannerFontSize, bannerPadding, bannerMargin, bannerBorderRadius, bannerVisible].forEach(el => { el.addEventListener('change', updateBannerPreview); el.addEventListener('input', updateBannerPreview); });