# 📾 Como Criar o Bucket 'catalogo' - Passo a Passo ## ❌ Problema Ao tentar adicionar fotos em **Site / Catalogo**, aparece erro porque o bucket `catalogo` nĂŁo existe. ## ✅ Solução RĂĄpida (5 minutos) ### 🎯 Opção 1: Via Interface (Mais FĂĄcil) 1. **Acesse o Supabase Dashboard** - URL: https://supabase.com/dashboard - Faça login com sua conta 2. **Selecione seu Projeto** - Clique no projeto "Liberi Kids" (ou o nome que vocĂȘ deu) 3. **VĂĄ para Storage** - No menu lateral esquerdo, clique em **"Storage"** - Clique no botĂŁo **"Create a new bucket"** (ou "New bucket") 4. **Configure o Bucket** - **Name:** `catalogo` (exatamente assim, minĂșsculo) - **Public bucket:** ✅ **MARQUE ESTA OPÇÃO** (muito importante!) - **File size limit:** `5` MB - **Allowed MIME types:** (deixe vazio ou adicione): - `image/jpeg` - `image/jpg` - `image/png` - `image/webp` - `image/gif` 5. **Criar o Bucket** - Clique em **"Create bucket"** - Aguarde a confirmação 6. **Configurar PolĂ­ticas de Segurança (IMPORTANTE!)** - VĂĄ em **SQL Editor** (menu lateral) - Clique em **"New Query"** - Cole o cĂłdigo abaixo: ```sql -- PolĂ­tica de leitura pĂșblica CREATE POLICY "Permitir leitura pĂșblica catalogo" ON storage.objects FOR SELECT USING (bucket_id = 'catalogo'); -- PolĂ­tica de upload CREATE POLICY "Permitir upload autenticado catalogo" ON storage.objects FOR INSERT WITH CHECK ( bucket_id = 'catalogo' AND (auth.role() = 'authenticated' OR auth.role() = 'service_role') ); -- PolĂ­tica de atualização CREATE POLICY "Permitir update autenticado catalogo" ON storage.objects FOR UPDATE USING ( bucket_id = 'catalogo' AND (auth.role() = 'authenticated' OR auth.role() = 'service_role') ); -- PolĂ­tica de exclusĂŁo CREATE POLICY "Permitir delete autenticado catalogo" ON storage.objects FOR DELETE USING ( bucket_id = 'catalogo' AND (auth.role() = 'authenticated' OR auth.role() = 'service_role') ); ``` - Clique em **"Run"** (ou F5) - Aguarde a mensagem de sucesso 7. **Testar** - Volte para o sistema - Acesse **Site / Catalogo** - Clique em **"Fotos"** em qualquer produto - Tente adicionar uma foto - Deve funcionar! ✅ --- ### 🎯 Opção 2: Via SQL (Mais RĂĄpido se vocĂȘ sabe SQL) 1. **Acesse o Supabase Dashboard** 2. **VĂĄ em SQL Editor** 3. **Copie todo o arquivo:** `sql/setup-bucket-catalogo.sql` 4. **Cole no editor** 5. **Execute (Run)** 6. **Verifique as mensagens de sucesso** --- ## 🔍 Verificar se Funcionou Execute este comando para testar: ```bash node test-upload-catalogo.js ``` Se aparecer: ``` ✅ Bucket "catalogo" existe! ✅ Upload teste realizado com sucesso! 🎉 TODOS OS TESTES PASSARAM! ``` **EntĂŁo estĂĄ tudo certo!** --- ## ❓ Troubleshooting ### Erro: "new row violates row-level security policy" **Causa:** PolĂ­ticas RLS nĂŁo configuradas **Solução:** Execute o passo 6 acima (polĂ­ticas SQL) ### Erro: "Bucket already exists" **Causa:** Bucket jĂĄ foi criado **Solução:** Pule para o passo 6 (configurar polĂ­ticas) ### Upload ainda nĂŁo funciona **Verifique:** 1. ✅ Bucket marcado como "Public" 2. ✅ PolĂ­ticas RLS criadas 3. ✅ Servidor reiniciado (se necessĂĄrio) ### Fotos nĂŁo aparecem no site **Verifique:** 1. ✅ Bucket Ă© pĂșblico 2. ✅ URL correta: `https://...supabase.co/storage/v1/object/public/catalogo/...` --- ## 📋 Checklist Final Antes de usar o sistema de fotos, verifique: - [ ] Bucket `catalogo` criado - [ ] Bucket marcado como **Public** - [ ] Limite de 5MB configurado - [ ] 4 polĂ­ticas RLS criadas (SELECT, INSERT, UPDATE, DELETE) - [ ] Teste executado com sucesso - [ ] Upload funciona no painel admin - [ ] Fotos aparecem no site pĂșblico --- ## 🎉 Pronto! Depois de seguir estes passos, o sistema de fotos adicionais estarĂĄ funcionando perfeitamente! **VocĂȘ poderĂĄ:** - ✅ Adicionar fotos extras para cada produto - ✅ Ver galeria completa no site - ✅ Gerenciar fotos pelo painel admin - ✅ Deletar fotos individuais --- **Precisa de ajuda?** Verifique os logs do navegador (F12 > Console) para ver erros especĂ­ficos.