# 🔧 Como Ativar Mensagens Dinâmicas no Menu

## ⚠️ IMPORTANTE: Execute a Migration Primeiro!

Antes de ativar as mensagens dinâmicas, você **DEVE** executar a migration:

**Acesse:** `http://localhost/SouMulherAgenda/executar_migration_mensagens.php`

---

## 📝 Passo a Passo para Ativar

### 1️⃣ Execute a Migration
- Acesse o link acima
- Confirme que a migration foi executada com sucesso
- O campo `lida` deve existir na tabela `mensagens`

### 2️⃣ Substitua o Código no Menu

Abra o arquivo: `app/Views/include/menu_admin.php`

#### 🔍 Encontre esta seção (linha ~1236):

```php
<!-- Mensagens e Notificações -->
<li class="slide">
    <a class="side-menu__item" href="<?=base_url('mensagens');?>">
        <i class="side-menu__icon fe fe-mail"></i>
        <span class="side-menu__label">Mensagens</span>
    </a>
</li>
```

#### ✏️ Substitua por:

```php
<!-- Mensagens e Notificações -->
<li class="slide">
    <a class="side-menu__item" href="<?=base_url('mensagens');?>">
        <i class="side-menu__icon fe fe-mail"></i>
        <span class="side-menu__label">Mensagens</span>
        <?php
        try {
            $db = \Config\Database::connect();
            if ($db->tableExists('mensagens') && $db->fieldExists('lida', 'mensagens')) {
                $mensagemModelMenu = new \App\Models\MensagemModel();
                $userIdMenu = session()->get('user_id');
                if ($userIdMenu) {
                    $naoLidasMenu = $mensagemModelMenu->contarNaoLidas($userIdMenu);
                    if ($naoLidasMenu > 0) {
                        echo '<span class="badge bg-danger ms-auto">' . $naoLidasMenu . '</span>';
                    }
                }
            }
        } catch (\Exception $e) {
            // Ignora erros silenciosamente
        }
        ?>
    </a>
</li>
```

---

### 3️⃣ Ative o Dropdown Dinâmico

#### 🔍 Encontre esta seção (linha ~1038):

```php
<ul class="dropdown-menu dropdown-menu-end messages-dropdown" aria-labelledby="dropdownAvisos">
    <li><h6 class="dropdown-header noti-title">Mensagens e Avisos</h6></li>
    <li>
        <div class="dropdown-item text-center text-muted py-4">
            <i class="fe fe-inbox" style="font-size: 40px; opacity: 0.3;"></i>
            <p class="mb-0 mt-2">Nenhuma mensagem nova</p>
            <small class="text-muted">Execute a migration para ativar o sistema</small>
        </div>
    </li>
    <li><hr class="dropdown-divider"></li>
    <li>
        <a class="dropdown-item text-center" href="<?= base_url('mensagens') ?>">
            <strong>Ver todas as mensagens</strong>
        </a>
    </li>
</ul>
```

#### ✏️ Substitua por:

```php
<ul class="dropdown-menu dropdown-menu-end messages-dropdown" aria-labelledby="dropdownAvisos">
    <li><h6 class="dropdown-header noti-title">Mensagens e Avisos</h6></li>

    <?php
    $mensagensNaoLidas = [];
    try {
        $db = \Config\Database::connect();
        if ($db->tableExists('mensagens') && $db->fieldExists('lida', 'mensagens')) {
            $mensagemModelDropdown = new \App\Models\MensagemModel();
            $userIdDropdown = session()->get('user_id');
            if ($userIdDropdown) {
                $mensagensNaoLidas = $mensagemModelDropdown->getMensagensNaoLidas($userIdDropdown, 5);
            }
        }
    } catch (\Exception $e) {
        $mensagensNaoLidas = [];
    }

    if (empty($mensagensNaoLidas)):
    ?>
    <li>
        <div class="dropdown-item text-center text-muted py-4">
            <i class="fe fe-inbox" style="font-size: 40px; opacity: 0.3;"></i>
            <p class="mb-0 mt-2">Nenhuma mensagem nova</p>
        </div>
    </li>
    <?php else: ?>

    <?php foreach($mensagensNaoLidas as $msg): ?>
    <li>
        <a class="dropdown-item d-flex" href="<?= base_url('mensagens') ?>">
            <div class="notifyimg bg-<?= $msg['tag'] ?? 'info' ?>">
                <i class="fe fe-<?= $msg['tag'] == 'success' ? 'check' : ($msg['tag'] == 'warning' ? 'alert-triangle' : ($msg['tag'] == 'danger' ? 'x-circle' : 'info')) ?>"></i>
            </div>
            <div class="ms-3">
                <div class="notification-label"><?= esc($msg['titulo_acao']) ?></div>
                <div class="notification-subtext"><?= esc(substr($msg['mensagem'], 0, 60)) ?><?= strlen($msg['mensagem']) > 60 ? '...' : '' ?></div>
            </div>
        </a>
    </li>
    <?php endforeach; ?>

    <?php endif; ?>

    <li><hr class="dropdown-divider"></li>
    <li>
        <a class="dropdown-item text-center" href="<?= base_url('mensagens') ?>">
            <strong>Ver todas as mensagens</strong>
        </a>
    </li>
</ul>
```

---

## ✅ Pronto!

Após fazer essas substituições:

1. **Limpe o cache do navegador** (Ctrl + F5)
2. **Faça login novamente**
3. **Insira mensagens de teste** (veja INSTRUCOES_SISTEMA_MENSAGENS.md)
4. **Veja a badge e dropdown funcionando!**

---

## 🎯 Verificação de Segurança

O código agora verifica:
- ✅ Se a tabela `mensagens` existe
- ✅ Se o campo `lida` existe na tabela
- ✅ Captura qualquer erro silenciosamente
- ✅ Não quebra o menu se houver problemas

---

## 📝 SQL para Inserir Mensagens de Teste

```sql
-- Substitua 32 pelo seu user_id correto
INSERT INTO mensagens (user_id, titulo_acao, mensagem, tag, lida, created_at)
VALUES
(32, 'Bem-vindo!', 'Sistema de mensagens ativado com sucesso!', 'success', 0, NOW()),
(32, 'Nova funcionalidade', 'Agora você pode receber avisos importantes aqui.', 'info', 0, NOW()),
(32, 'Atenção', 'Faça backup dos seus dados regularmente.', 'warning', 0, NOW());
```

---

**Desenvolvido com ❤️ para Sou Mulher Agenda**
