From dfbabddd98d2806abbccf7644ad58cc0fd4cbba8 Mon Sep 17 00:00:00 2001 From: dwindown Date: Wed, 24 Dec 2025 14:50:02 +0700 Subject: [PATCH] Add debug logging for logo/favicon upload state MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add console.log to track URL generation - Use functional setState to avoid stale closure issues - Log settings state before save This will help diagnose why URLs are empty in save payload 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 --- src/components/admin/settings/BrandingTab.tsx | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/components/admin/settings/BrandingTab.tsx b/src/components/admin/settings/BrandingTab.tsx index cfb2b3c..d43d2b3 100644 --- a/src/components/admin/settings/BrandingTab.tsx +++ b/src/components/admin/settings/BrandingTab.tsx @@ -101,6 +101,7 @@ export function BrandingTab() { const saveSettings = async () => { setSaving(true); + console.log('Current settings before save:', settings); const payload = { brand_name: settings.brand_name, brand_tagline: settings.brand_tagline, @@ -112,6 +113,7 @@ export function BrandingTab() { homepage_description: settings.homepage_description, homepage_features: settings.homepage_features, }; + console.log('Saving payload:', payload); if (settings.id) { const { error } = await supabase @@ -190,7 +192,9 @@ export function BrandingTab() { // Step 3: Get public URL and update settings const { data: urlData } = supabase.storage.from('content').getPublicUrl(filePath); - setSettings({ ...settings, brand_logo_url: urlData.publicUrl }); + console.log('Logo upload successful:', urlData.publicUrl); + setSettings(prev => ({ ...prev, brand_logo_url: urlData.publicUrl })); + console.log('State updated with logo URL'); toast({ title: 'Berhasil', description: 'Logo berhasil diupload' }); } catch (error) { @@ -232,7 +236,9 @@ export function BrandingTab() { // Step 3: Get public URL and update settings const { data: urlData } = supabase.storage.from('content').getPublicUrl(filePath); - setSettings({ ...settings, brand_favicon_url: urlData.publicUrl }); + console.log('Favicon upload successful:', urlData.publicUrl); + setSettings(prev => ({ ...prev, brand_favicon_url: urlData.publicUrl })); + console.log('State updated with favicon URL'); toast({ title: 'Berhasil', description: 'Favicon berhasil diupload' }); } catch (error) {