# Componenti Dashboard - NetGesCon ## Panoramica Questa documentazione descrive la struttura modulare dei componenti dashboard implementati nel sistema NetGesCon. Ogni dashboard è suddivisa in componenti atomici riutilizzabili e facilmente manutenibili. ## Struttura delle Cartelle ``` resources/views/components/dashboard/ ├── shared/ # Componenti condivisi tra tutte le dashboard │ ├── header.blade.php # Header standard con titolo e info utente │ ├── stat-card.blade.php # Card per statistiche numeriche │ └── action-card.blade.php # Card per azioni rapide ├── admin/ # Componenti specifici per amministratori │ ├── stats.blade.php # Statistiche amministratore │ ├── quick-actions.blade.php # Azioni rapide amministratore │ └── recent-activity.blade.php # Attività recenti ├── superadmin/ # Componenti specifici per super admin │ ├── stats.blade.php # Statistiche super admin │ ├── quick-actions.blade.php # Azioni rapide super admin │ └── recent-activity.blade.php # Attività recenti sistema └── condomino/ # Componenti specifici per condomini ├── stats.blade.php # Statistiche condomino ├── quick-actions.blade.php # Azioni rapide condomino ├── welcome-banner.blade.php # Banner benvenuto personalizzato └── recent-communications.blade.php # Comunicazioni recenti ``` ## Componenti Condivisi (Shared) ### 1. Header Dashboard (`shared/header.blade.php`) **Scopo**: Header standard per tutte le dashboard con titolo, sottotitolo e icona ruolo. **Parametri**: - `title` (string): Titolo principale della dashboard - `subtitle` (string): Sottotitolo/descrizione - `icon` (string): Classe CSS dell'icona (es: 'fas fa-crown') - `iconColor` (string): Colore dell'icona (es: 'text-red-500') **Utilizzo**: ```php ``` ### 2. Stat Card (`shared/stat-card.blade.php`) **Scopo**: Card riutilizzabile per visualizzare statistiche numeriche con icona. **Parametri**: - `title` (string): Titolo della statistica - `value` (string/number): Valore numerico da visualizzare - `icon` (string): Classe CSS dell'icona - `color` (string): Colore del tema (primary, success, warning, danger, info) - `subtitle` (string, opzionale): Sottotitolo - `link` (string, opzionale): Link per rendere la card cliccabile **Utilizzo**: ```php ``` ### 3. Action Card (`shared/action-card.blade.php`) **Scopo**: Card per azioni rapide nella dashboard con icona, titolo e descrizione. **Parametri**: - `title` (string): Titolo dell'azione - `description` (string): Descrizione dell'azione - `icon` (string): Icona dell'azione - `link` (string): Link di destinazione - `color` (string): Colore del tema - `badge` (string, opzionale): Testo del badge (es: "Nuovo", "3") - `badgeColor` (string): Colore del badge **Utilizzo**: ```php ``` ## Componenti Specifici per Ruolo ### Super Admin #### Stats (`superadmin/stats.blade.php`) - Visualizza statistiche del sistema (utenti totali, amministratori, condomini, stabili) - Utilizza il componente `stat-card` per la visualizzazione - I valori sono calcolati dinamicamente dalle query del database #### Quick Actions (`superadmin/quick-actions.blade.php`) - Azioni rapide per super admin (gestione utenti, configurazioni, backup, log, permessi, report) - Utilizza il componente `action-card` per la visualizzazione #### Recent Activity (`superadmin/recent-activity.blade.php`) - Attività recenti del sistema - Mostra log delle operazioni amministrative - Include link per visualizzare tutti i log ### Admin #### Stats (`admin/stats.blade.php`) - Statistiche per amministratori (stabili, condomini, tickets, assemblee) - Accetta parametro `stats` dal controller - Valori predefiniti a 0 se non forniti #### Quick Actions (`admin/quick-actions.blade.php`) - Azioni rapide per amministratori (nuovo condomino, assemblea, rate, tickets, fatturazione, comunicazioni) #### Recent Activity (`admin/recent-activity.blade.php`) - Attività recenti dell'amministratore - Mostra tickets, pagamenti, nuovi condomini, assemblee programmate ### Condomino #### Stats (`condomino/stats.blade.php`) - Statistiche per condomini (unità possedute, tickets aperti, rate in scadenza, assemblee) - Layout ottimizzato per le esigenze del condomino #### Quick Actions (`condomino/quick-actions.blade.php`) - Azioni rapide per condomini (apri ticket, pagamenti, documenti, comunicazioni, profilo, contatti) #### Welcome Banner (`condomino/welcome-banner.blade.php`) - Banner personalizzato di benvenuto - Include informazioni rapide su condominio, amministratore, ultimo accesso - Design gradient accattivante #### Recent Communications (`condomino/recent-communications.blade.php`) - Comunicazioni recenti dall'amministratore - Include tipo di comunicazione, data, stato (nuovo/letto) ## Implementazione nelle Dashboard ### Dashboard Super Admin ```php @extends('layouts.app-universal') @section('content')
@endsection ``` ### Dashboard Admin ```php @extends('layouts.app-universal') @section('content')
@endsection ``` ### Dashboard Condomino ```php @extends('layouts.app-universal') @section('content')
@endsection ``` ## Vantaggi dell'Architettura Modulare 1. **Manutenibilità**: Ogni componente è isolato e facilmente modificabile 2. **Riutilizzabilità**: I componenti shared possono essere usati in più dashboard 3. **Scalabilità**: Facile aggiungere nuove dashboard o componenti 4. **Consistenza**: Design e comportamento uniformi 5. **Testabilità**: Ogni componente può essere testato individualmente 6. **Personalizzazione**: Facile personalizzare componenti per ruoli specifici ## Sviluppi Futuri 1. **Dati Dinamici**: Sostituire i dati fittizi con query reali al database 2. **Componenti Aggiuntivi**: Grafici, tabelle, widget avanzati 3. **Personalizzazione**: Permettere agli utenti di personalizzare la dashboard 4. **Notifiche Real-time**: Integrazione con WebSocket per aggiornamenti live 5. **Cache**: Implementare cache per le statistiche costose da calcolare ## Note Tecniche - Tutti i componenti utilizzano Tailwind CSS per lo styling - Supporto completo per dark mode - Icone FontAwesome per la coerenza visiva - Layout responsive per dispositivi mobili - Parametri opzionali con valori predefiniti - Documentazione inline nei file Blade