<?php 
 
declare(strict_types=1); 
 
/************************************************************************************** 
 * 
 * Catalyst PHP Framework 
 * PHP Version 8.3 (Required). 
 * 
 * @package   Catalyst 
 * @subpackage Public 
 * @see       https://github.com/arcanisgk/catalyst 
 * 
 * @author    Walter Nuñez (arcanisgk/original founder) <[email protected]> 
 * @copyright 2023 - 2025 
 * @license   http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License 
 * 
 * @note      This program is distributed in the hope that it will be useful 
 *            WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 
 *            or FITNESS FOR A PARTICULAR PURPOSE. 
 * 
 * @category  Framework 
 * @filesource 
 * 
 * @link      https://catalyst.dock Local development URL 
 * 
 */ 
 
use Catalyst\Framework\Core\Session\FlashMessage; 
 
// Initialize flash messages 
$flash = new FlashMessage(); 
 
// Get messages first 
$messages = $flash->all(); 
 
// Clear immediately after getting them (before rendering) 
$flash->clear(); 
?> 
 
<?php if (!empty($messages)): ?> 
    <div class="flash-messages"> 
        <?php foreach ($messages as $type => $typeMessages): ?> 
            <?php foreach ($typeMessages as $message): ?> 
                <div class="alert alert-<?= $type === 'error' ? 'danger' : $type ?> alert-dismissible fade show" role="alert"> 
                    <?php if ($type === 'success'): ?> 
                        <i class="bi bi-check-circle-fill me-2"></i> 
                    <?php elseif ($type === 'error'): ?> 
                        <i class="bi bi-exclamation-circle-fill me-2"></i> 
                    <?php elseif ($type === 'warning'): ?> 
                        <i class="bi bi-exclamation-triangle-fill me-2"></i> 
                    <?php elseif ($type === 'info'): ?> 
                        <i class="bi bi-info-circle-fill me-2"></i> 
                    <?php endif; ?> 
                    <?= $message ?> 
                    <button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button> 
                </div> 
            <?php endforeach; ?> 
        <?php endforeach; ?> 
    </div> 
    <script> 
        document.addEventListener('DOMContentLoaded', function () { 
            window.scrollTo({ 
                top: 0, 
                behavior: 'smooth' 
            }); 
        }); 
    </script> 
<?php endif; ?> 
 
 |