diff --git a/web/src/context/AppContext.tsx b/web/src/context/AppContext.tsx index 930156e..4682d48 100644 --- a/web/src/context/AppContext.tsx +++ b/web/src/context/AppContext.tsx @@ -572,14 +572,12 @@ export const AppProvider = ({ children }: { children: React.ReactNode }) => { // O backend usa image_url, não imageUrl. Se existir novo no payload usa, senão fallback para o atual. const resolvedImageUrl = imageUrl ?? currentShop?.imageUrl; - const { error } = await supabase.from('shops').upsert({ - id: shopId, - name: currentShop?.name || 'Barbearia', - address: currentShop?.address || '', - rating: currentShop?.rating ?? 0, - image_url: resolvedImageUrl, - ...dbPayload, - }, { onConflict: 'id' }); + const updateData: Record = { ...dbPayload }; + if (resolvedImageUrl !== undefined) updateData.image_url = resolvedImageUrl; + if (!updateData.name) updateData.name = currentShop?.name || 'Barbearia'; + if (!updateData.address && dbPayload.address !== undefined) updateData.address = dbPayload.address; + + const { error } = await supabase.from('shops').update(updateData).eq('id', shopId); if (error) { console.error('ERRO SUPABASE updateShopDetails:', error);