# 📸 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.
