# Implementação de Orçamentos por Subcategoria

## ✅ O que foi feito:

### 1. **Backend - Database**
- ✅ Migration criada: `2025_12_16_211102_add_subcategory_to_budgets_table.php`
  - Adiciona coluna `subcategory_id`
  - Atualiza unique constraint para incluir subcategoria

### 2. **Backend - Model**
- ✅ `Budget.php` atualizado:
  - Adicionado `subcategory_id` ao fillable
  - Nova relação `subcategory()`
  - Lógica de `getSpentAmountAttribute()` atualizada para considerar subcategorias

### 3. **Backend - Controller**
- ✅ `BudgetController.php` atualizado:
  - `index()`: carrega relação `subcategory`
  - `store()`: valida e cria orçamentos com subcategoria
  - `show()`: filtra transações por subcategoria quando aplicável
  - `destroy()`: deleta considerando subcategoria

### 4. **Frontend**
- ✅ `Budgets.jsx` atualizado:
  - Formulário com seleção de subcategoria (opcional)
  - Exibição de subcategoria nos cards
  - Se categoria tem subcategorias, mostra opção "Toda a categoria" + lista de subcategorias

### 5. **Traduções**
- ✅ Adicionado em PT-BR, ES, EN:
  - `budgets.subcategory`: "Subcategoria"
  - `budgets.allCategory`: "Toda a categoria" / "All category" / "Toda la categoría"

## 🚀 Como fazer Deploy:

### Backend:
```bash
cd /workspaces/webmoney

# 1. Enviar arquivos
sshpass -p 'Master9354' scp -o StrictHostKeyChecking=no \
  backend/database/migrations/2025_12_16_211102_add_subcategory_to_budgets_table.php \
  root@213.165.93.60:/var/www/webmoney/backend/database/migrations/

sshpass -p 'Master9354' scp -o StrictHostKeyChecking=no \
  backend/app/Models/Budget.php \
  root@213.165.93.60:/var/www/webmoney/backend/app/Models/

sshpass -p 'Master9354' scp -o StrictHostKeyChecking=no \
  backend/app/Http/Controllers/Api/BudgetController.php \
  root@213.165.93.60:/var/www/webmoney/backend/app/Http/Controllers/Api/

# 2. Executar migration
sshpass -p 'Master9354' ssh -o StrictHostKeyChecking=no root@213.165.93.60 \
  "cd /var/www/webmoney/backend && php artisan migrate --force"

# 3. Limpar cache
sshpass -p 'Master9354' ssh -o StrictHostKeyChecking=no root@213.165.93.60 \
  "cd /var/www/webmoney/backend && php artisan config:clear && php artisan cache:clear"
```

### Frontend:
```bash
cd /workspaces/webmoney/frontend && ./deploy.sh
```

## 📝 Como usar:

1. **Criar orçamento para categoria inteira** (comportamento existente):
   - Selecionar categoria
   - NÃO selecionar subcategoria (ou selecionar "Toda a categoria")
   - Valor do orçamento

2. **Criar orçamento para subcategoria específica** (NOVO):
   - Selecionar categoria
   - Selecionar a subcategoria desejada
   - Valor do orçamento

### Exemplo:
- Categoria: "Alimentação" - Orçamento R$ 1000 (todas as subcategorias)
- Ou
- Categoria: "Alimentação" → Subcategoria: "Restaurante" - Orçamento R$ 300 (apenas restaurante)

## 🔍 Características:

- ✅ Orçamento por categoria inclui automaticamente todas as subcategorias
- ✅ Orçamento por subcategoria é específico e não inclui outras subcategorias
- ✅ Pode ter orçamento geral E orçamentos específicos por subcategoria
- ✅ Propagação automática para 12 meses futuros funciona com subcategorias
- ✅ Unique constraint garante 1 orçamento por categoria/subcategoria/mês
