diff --git a/admin-dashboard.html b/admin-dashboard.html index 603463d..4950978 100644 --- a/admin-dashboard.html +++ b/admin-dashboard.html @@ -796,7 +796,37 @@ function initDragAndDrop() { } // Initialize when DOM is loaded -document.addEventListener('DOMContentLoaded', initDragAndDrop); +document.addEventListener('DOMContentLoaded', () => { + initDragAndDrop(); + + // Initialize banner preview elements + bannerVisible = document.getElementById('bannerVisible'); + bannerBgColor = document.getElementById('bannerBgColor'); + bannerTextColor = document.getElementById('bannerTextColor'); + bannerTextAlign = document.getElementById('bannerTextAlign'); + bannerFontSize = document.getElementById('bannerFontSize'); + bannerPadding = document.getElementById('bannerPadding'); + bannerMargin = document.getElementById('bannerMargin'); + bannerBorderRadius = document.getElementById('bannerBorderRadius'); + bannerPreview = document.getElementById('bannerPreview'); + + // Only try to query these if bannerPreview exists + if (bannerPreview) { + bannerPreviewContent = bannerPreview.querySelector('.banner-preview-content'); + bannerPreviewText = bannerPreview.querySelector('.banner-preview-text'); + bannerPreviewBg = bannerPreview.querySelector('.banner-preview-bg'); + } + + bgColorPreview = document.getElementById('bgColorPreview'); + textColorPreview = document.getElementById('textColorPreview'); + saveBannerBtn = document.getElementById('saveBannerBtn'); + stylePresets = document.querySelectorAll('.style-preset'); + + // Initialize other functionality that depends on these elements + if (saveBannerBtn) { + saveBannerBtn.addEventListener('click', saveBanner); + } +}); // Handle dropped files @@ -944,23 +974,11 @@ document.getElementById('logoutBtn').addEventListener('click', function() { // DOM Elements const bannerText = document.getElementById('bannerText'); -const bannerVisible = document.getElementById('bannerVisible'); -const bannerBgColor = document.getElementById('bannerBgColor'); -const bannerTextColor = document.getElementById('bannerTextColor'); -const bannerTextAlign = document.getElementById('bannerTextAlign'); -const bannerFontSize = document.getElementById('bannerFontSize'); -const bannerPadding = document.getElementById('bannerPadding'); -const bannerMargin = document.getElementById('bannerMargin'); -const bannerBorderRadius = document.getElementById('bannerBorderRadius'); -const bannerPreview = document.getElementById('bannerPreview'); -const bannerPreviewContent = bannerPreview.querySelector('.banner-preview-content'); -const bannerPreviewText = bannerPreview.querySelector('.banner-preview-text'); -const bannerPreviewBg = bannerPreview.querySelector('.banner-preview-bg'); -const bgColorPreview = document.getElementById('bgColorPreview'); -const textColorPreview = document.getElementById('textColorPreview'); -const saveBannerBtn = document.getElementById('saveBannerBtn'); -const stylePresets = document.querySelectorAll('.style-preset'); -let currentImage = null; +// These will be initialized in DOMContentLoaded +let bannerVisible, bannerBgColor, bannerTextColor, bannerTextAlign, bannerFontSize, + bannerPadding, bannerMargin, bannerBorderRadius, bannerPreview, bannerPreviewContent, + bannerPreviewText, bannerPreviewBg, bgColorPreview, textColorPreview, saveBannerBtn, + stylePresets, currentImage = null; // Preset styles const presets = {