From 96e7a37e5f4c2079442dd4ab06a97232d757f204 Mon Sep 17 00:00:00 2001 From: Tomas Dvorak Date: Thu, 29 May 2025 10:19:44 +0200 Subject: [PATCH] tes --- admin-dashboard.html | 25 ++++++++++++------------- index.html | 32 +++++++++++++++++++++++--------- 2 files changed, 35 insertions(+), 22 deletions(-) diff --git a/admin-dashboard.html b/admin-dashboard.html index 9ca02b8..9de7650 100644 --- a/admin-dashboard.html +++ b/admin-dashboard.html @@ -1542,25 +1542,24 @@ async function saveBanner(event) { formData.append('link', bannerLink ? bannerLink.value : ''); formData.append('isVisible', bannerVisible ? bannerVisible.value : 'true'); - // Add style.isVisible to the form data for the API + // Always send the banner visibility + formData.append('isVisible', bannerVisible ? bannerVisible.value : 'true'); formData.append('style[isVisible]', bannerVisible ? bannerVisible.value : 'true'); // Get the current template or use default const template = currentTemplate ? templateConfigs[currentTemplate] : templateConfigs['modern-minimal']; - // Add template data - if (template) { - formData.append('template', currentTemplate || 'modern-minimal'); + // Add template name + formData.append('template', currentTemplate || 'modern-minimal'); - // Add template styles - formData.append('style[backgroundColor]', template.bgColor || '#f8f9fa'); - formData.append('style[textColor]', template.textColor || '#212529'); - formData.append('style[textAlign]', template.textAlign || 'left'); - formData.append('style[fontSize]', template.fontSize ? `${template.fontSize}px` : '16px'); - formData.append('style[padding]', template.padding ? `${template.padding}px` : '20px'); - formData.append('style[margin]', template.margin ? `${template.margin}px` : '20px'); - formData.append('style[borderRadius]', template.borderRadius ? `${template.borderRadius}px` : '8px'); - } + // Add styles - use custom values if they exist, otherwise use template defaults + formData.append('style[backgroundColor]', bannerBgColorPicker ? bannerBgColorPicker.value : (template?.bgColor || '#f8f9fa')); + formData.append('style[textColor]', bannerTextColorPicker ? bannerTextColorPicker.value : (template?.textColor || '#212529')); + formData.append('style[textAlign]', template?.textAlign || 'left'); + formData.append('style[fontSize]', template?.fontSize ? `${template.fontSize}px` : '16px'); + formData.append('style[padding]', template?.padding ? `${template.padding}px` : '20px'); + formData.append('style[margin]', template?.margin ? `${template.margin}px` : '20px'); + formData.append('style[borderRadius]', template?.borderRadius ? `${template.borderRadius}px` : '8px'); // Add image position const imagePosition = document.querySelector('.image-pos-btn.active')?.dataset.pos || 'center'; diff --git a/index.html b/index.html index 7453895..dac8847 100644 --- a/index.html +++ b/index.html @@ -30,8 +30,19 @@ // Log the banner data for debugging console.log('Banner data:', JSON.stringify(banner, null, 2)); - // Check if banner should be visible - const isVisible = banner.Style?.IsVisible ?? banner.IsVisible ?? true; + // Check if banner should be visible - handle different cases and string/boolean values + const isVisible = (() => { + // Check all possible locations and formats for visibility flag + const visibility = banner.Style?.IsVisible ?? banner.Style?.isVisible ?? + banner.IsVisible ?? banner.isVisible ?? banner.visible; + + // Handle both string and boolean values + if (typeof visibility === 'string') { + return visibility.toLowerCase() === 'true'; + } + return Boolean(visibility !== false); // default to true if not explicitly set to false + })(); + if (!isVisible) { console.log('Banner is not visible'); return; @@ -45,11 +56,11 @@ return; } - // Get style values with fallbacks - const style = banner.style || {}; + // Get style values with fallbacks - handle both nested style and direct properties + const style = banner.Style || banner.style || {}; const borderRadius = style.borderRadius || '8'; - const backgroundColor = style.backgroundColor || '#f8f9fa'; - const textColor = style.textColor || '#212529'; + const backgroundColor = style.backgroundColor || style.background || '#f8f9fa'; + const textColor = style.textColor || style.color || '#212529'; const textAlign = style.textAlign || 'left'; const fontSize = style.fontSize || '16px'; const padding = style.padding || '20px'; @@ -82,8 +93,11 @@ if (bannerImage) { // Ensure the image URL is correct (add leading slash if missing) - let imageUrl = bannerImage.startsWith('http') ? bannerImage : - bannerImage.startsWith('/') ? bannerImage : `/${bannerImage}`; + let imageUrl = bannerImage; + if (typeof imageUrl === 'string') { + imageUrl = imageUrl.startsWith('http') ? imageUrl : + imageUrl.startsWith('/') ? imageUrl : `/${imageUrl}`; + } // Use default dimensions if not specified or 0 const imageWidth = (style.imageWidth && style.imageWidth > 0) ? style.imageWidth : 'auto'; @@ -104,7 +118,7 @@ `; // Create image container - const imgContainer = ` + let imgContainer = `