diff --git a/web/src/context/AppContext.tsx b/web/src/context/AppContext.tsx index bb4de1d..008d759 100644 --- a/web/src/context/AppContext.tsx +++ b/web/src/context/AppContext.tsx @@ -442,15 +442,21 @@ export const AppProvider = ({ children }: { children: React.ReactNode }) => { }; const updateShopDetails: AppContextValue['updateShopDetails'] = async (shopId, payload) => { - // Apenas enviar campos escalares para o Supabase (sem arrays de services/products/barbers) - const { services, products, barbers, id: _id, ...dbPayload } = payload as any; + // Remover arrays relacionais que não são colunas na tabela shops + const { services, products, barbers, id: _id, imageUrl, ...rest } = payload as any; + + // Construir o payload para o Supabase com os nomes de colunas corretos (snake_case) + const dbPayload: any = { ...rest }; + if (imageUrl !== undefined) { + dbPayload.image_url = imageUrl; // A coluna na BD chama-se image_url + } const { error } = await supabase.from('shops').update(dbPayload).eq('id', shopId); if (error) { console.error('updateShopDetails error:', error); } - // Sempre atualiza o estado local independentemente do resultado DB + // Sempre atualiza o estado local (inclui imageUrl para o frontend) setState((s) => ({ ...s, shops: s.shops.map((shop) => (shop.id === shopId ? { ...shop, ...payload } : shop)),