{{-- ======================================== ALERT BOX ATOMICO RIUTILIZZABILE ======================================== Componente atomico per alert box con diversi tipi e stili. Completamente riutilizzabile in tutta l'applicazione. Props: - type: danger, warning, info, success - title: Titolo dell'alert - message: Messaggio dell'alert - icon: Icona FontAwesome (opzionale) - actionText: Testo del pulsante (opzionale) - actionUrl: URL del pulsante (opzionale) - dismissible: Se l'alert รจ chiudibile (default true) - size: sm, md, lg (default md) Esempio utilizzo: Autore: NetGesCon Development Team Data: 2024 ======================================== --}} @props([ 'type' => 'info', // danger, warning, info, success 'title' => '', // Titolo dell'alert 'message' => '', // Messaggio principale 'icon' => null, // Icona FontAwesome 'actionText' => null, // Testo pulsante azione 'actionUrl' => '#', // URL pulsante azione 'dismissible' => true, // Se chiudibile 'size' => 'md' // sm, md, lg ]) @php // Mappa dei colori per tipo $typeColors = [ 'danger' => ['bg' => 'danger', 'text' => 'white', 'border' => 'danger'], 'warning' => ['bg' => 'warning', 'text' => 'dark', 'border' => 'warning'], 'info' => ['bg' => 'info', 'text' => 'white', 'border' => 'info'], 'success' => ['bg' => 'success', 'text' => 'white', 'border' => 'success'], 'primary' => ['bg' => 'primary', 'text' => 'white', 'border' => 'primary'] ]; $colors = $typeColors[$type] ?? $typeColors['info']; // Icone di default per tipo $defaultIcons = [ 'danger' => 'fas fa-exclamation-triangle', 'warning' => 'fas fa-exclamation-circle', 'info' => 'fas fa-info-circle', 'success' => 'fas fa-check-circle', 'primary' => 'fas fa-bell' ]; $finalIcon = $icon ?? $defaultIcons[$type] ?? 'fas fa-info-circle'; // Classi per dimensioni $sizeClasses = [ 'sm' => 'p-2', 'md' => 'p-3', 'lg' => 'p-4' ]; $sizeClass = $sizeClasses[$size] ?? $sizeClasses['md']; @endphp {{-- CSS per miglioramenti --}} @push('styles') @endpush