+
+
+
+
+
+
+
+ Gestione Banche
+
+
+
+ Nuova Banca
+
+
+
+ @if(session('success'))
+
+ {{ session('success') }}
+
+ ×
+
+
+ @endif
+
+
+
+
+ @if($banche->count() > 0)
+
+
+
+
+ Denominazione
+ Codice ABI
+ Codice CAB
+ IBAN
+ Saldo Corrente
+ Azioni
+
+
+
+ @foreach($banche as $banca)
+
+
+ {{ $banca->denominazione }}
+ @if($banca->filiale)
+ {{ $banca->filiale }}
+ @endif
+
+ {{ $banca->codice_abi }}
+ {{ $banca->codice_cab }}
+
+ {{ $banca->iban }}
+
+
+
+ € {{ number_format($banca->saldo_corrente, 2, ',', '.') }}
+
+
+
+
+
+
+
+
+
+
+
+
+ @endforeach
+
+
+
+
+
+ {{ $banche->links() }}
+
+ @else
+
+
+
Nessuna banca presente
+
Inizia aggiungendo la prima banca del condominio.
+
+
+ Aggiungi Prima Banca
+
+
+ @endif
+
+
+
+
+
+
+ @push('scripts')
+
+ @endpush
+
diff --git a/resources/views/admin/banche/show.blade.php b/resources/views/admin/banche/show.blade.php
new file mode 100644
index 00000000..e51c4adb
--- /dev/null
+++ b/resources/views/admin/banche/show.blade.php
@@ -0,0 +1,243 @@
+
+
+
+ {{ __('Dettaglio Banca') }}
+
+
+
+
+
+
+
+
+
+
+
+ {{ $banca->denominazione }}
+ @if($banca->filiale)
+ - {{ $banca->filiale }}
+ @endif
+
+
+
+
+
+
+
+
+
+
+
+
+
Denominazione: {{ $banca->denominazione }}
+
+
+ @if($banca->filiale)
+
Filiale: {{ $banca->filiale }}
+ @endif
+
+
+
+
+
+
Codice ABI: {{ $banca->codice_abi }}
+
+
+
Codice CAB: {{ $banca->codice_cab }}
+
+
+
IBAN: {{ $banca->iban }}
+
+
+
+
+
+
Saldo Corrente:
+
+ € {{ number_format($banca->saldo_corrente, 2, ',', '.') }}
+
+
+
+
+
+ @if($banca->indirizzo || $banca->citta || $banca->cap)
+
+
Indirizzo
+
+
+ @if($banca->indirizzo)
+
Indirizzo: {{ $banca->indirizzo }}
+ @endif
+
+
+ @if($banca->citta)
+
Città: {{ $banca->citta }}
+ @endif
+
+
+ @if($banca->cap)
+
CAP: {{ $banca->cap }}
+ @endif
+
+
+ @endif
+
+ @if($banca->telefono || $banca->email)
+
+
Contatti
+
+ @endif
+
+ @if($banca->note)
+
+
Note
+
{{ $banca->note }}
+ @endif
+
+
+
+
+
+
+
+ {{-- Qui potrebbero essere visualizzati i movimenti recenti se esiste la relazione --}}
+
+
+
Nessun movimento recente
+
+
+ Nuovo Movimento
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Creato il:
+ {{ $banca->created_at?->format('d/m/Y \a\l\l\e H:i') ?? 'N/D' }}
+
+
+ Ultima modifica:
+ {{ $banca->updated_at?->format('d/m/Y \a\l\l\e H:i') ?? 'N/D' }}
+
+ @if($banca->updated_at && $banca->created_at)
+
+ Ultima modifica fa:
+ {{ $banca->updated_at->diffForHumans() }}
+
+ @endif
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/resources/views/admin/comunicazioni/index.blade.php b/resources/views/admin/comunicazioni/index.blade.php
new file mode 100644
index 00000000..1ac3f29c
--- /dev/null
+++ b/resources/views/admin/comunicazioni/index.blade.php
@@ -0,0 +1,53 @@
+@extends('layouts.app')
+
+@section('content')
+
+
+
+
+
+ {{-- Dashboard Comunicazioni --}}
+
+
+
+
+
+
Funzionalità in fase di implementazione...
+
+
+
+
+
+@endsection
diff --git a/resources/views/admin/condomini/index-ajax.blade.php b/resources/views/admin/condomini/index-ajax.blade.php
new file mode 100644
index 00000000..d47f0e62
--- /dev/null
+++ b/resources/views/admin/condomini/index-ajax.blade.php
@@ -0,0 +1,54 @@
+{{-- Vista lista condomini per caricamento AJAX --}}
+
+
+
+
+
+ Sezione in Sviluppo: La gestione condomini sarà disponibile nella prossima versione.
+ Per ora gestisci i condomini tramite la sezione "Stabili".
+
+
+
+
+
Gestione Condomini
+
Questa sezione permetterà di gestire l'anagrafica dei condomini.
+
+
+
+
+
+
+
Nuovi Condomini
+
Registra nuovi condomini nel sistema
+
+
+
+
+
+
+
+
Anagrafica
+
Gestisci dati anagrafici e contatti
+
+
+
+
+
+
+
+
Unità Abitative
+
Collega condomini alle unità immobiliari
+
+
+
+
+
+
+
diff --git a/resources/views/admin/condomini/index.blade.php b/resources/views/admin/condomini/index.blade.php
new file mode 100644
index 00000000..377ea2b7
--- /dev/null
+++ b/resources/views/admin/condomini/index.blade.php
@@ -0,0 +1,86 @@
+@extends('layouts.app')
+
+@section('content')
+
+
+
+
+
+ {{-- Dashboard Condomini --}}
+
+
+
+
+
Condomini Totali
+ {{ $stats['totali'] ?? 248 }}
+
+
+
+
+
+
+
Attivi
+ {{ $stats['attivi'] ?? 235 }}
+
+
+
+
+
+
+
Morosi
+ {{ $stats['morosi'] ?? 8 }}
+
+
+
+
+
+
+
Sospesi
+ {{ $stats['sospesi'] ?? 5 }}
+
+
+
+
+
+ {{-- Lista Condomini --}}
+
+
+
+
+
+
+
+ Nome
+ Codice
+ Stabile
+ Stato
+ Azioni
+
+
+
+
+ Mario Rossi
+ CDM001
+ Milano Centro
+ Attivo
+
+ Modifica
+ Dettagli
+
+
+
+
+
+
+
+
+
+
+@endsection
diff --git a/resources/views/admin/consumi/index.blade.php b/resources/views/admin/consumi/index.blade.php
new file mode 100644
index 00000000..2f757c15
--- /dev/null
+++ b/resources/views/admin/consumi/index.blade.php
@@ -0,0 +1,53 @@
+@extends('layouts.app')
+
+@section('content')
+
+
+
+
+
+ {{-- Dashboard Consumi --}}
+
+
+
+
+
Letture Mese
+ 248
+
+
+
+
+
+
+
Consumo Medio
+ 125 m³
+
+
+
+
+
+
+
Costo Totale
+ € 4.580
+
+
+
+
+
+
+
+
+
Funzionalità in fase di implementazione...
+
+
+
+
+
+@endsection
diff --git a/resources/views/admin/contratti-locazione/create.blade.php b/resources/views/admin/contratti-locazione/create.blade.php
new file mode 100644
index 00000000..2037db7c
--- /dev/null
+++ b/resources/views/admin/contratti-locazione/create.blade.php
@@ -0,0 +1,198 @@
+
+
+
+
+
+
+
+
+
+ Funzionalità in sviluppo
+ Questa sezione conterrà il modulo di creazione per i contratti di locazione.
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/resources/views/admin/contratti-locazione/index.blade.php b/resources/views/admin/contratti-locazione/index.blade.php
new file mode 100644
index 00000000..2308feec
--- /dev/null
+++ b/resources/views/admin/contratti-locazione/index.blade.php
@@ -0,0 +1,128 @@
+
+
+
+
+
+
+
+
+
+ Funzionalità in sviluppo
+ Questa sezione conterrà la gestione completa dei contratti di locazione.
+
+
+
+
+
+
+
+
+ Contratti Attivi
+
+
Gestisci i contratti di locazione attualmente attivi
+
Visualizza Elenco
+
+
+
+
+
+
+
+
+ Scadenze Imminenti
+
+
Monitora i contratti in scadenza nei prossimi 60 giorni
+
Visualizza Scadenze
+
+
+
+
+
+
+
+
+
+
+
+ Statistiche e Report
+
+
Analizza le statistiche dei contratti e genera report
+
Visualizza Statistiche
+
+
+
+
+
+
+
+
+ Archivio Storico
+
+
Consulta l'archivio dei contratti cessati
+
Visualizza Archivio
+
+
+
+
+
+
+
+
+
+
+
+ Strumenti di Gestione
+
+
+
+
+
+
+ Genera Contratto
+
+
+
+
+
+
+
+ Invio Comunicazioni
+
+
+
+
+
+
+
+ Calcolo Canoni
+
+
+
+
+
+
+
+ Esporta Dati
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/resources/views/admin/dashboard-test.blade.php b/resources/views/admin/dashboard-test.blade.php
new file mode 100644
index 00000000..384f44f8
--- /dev/null
+++ b/resources/views/admin/dashboard-test.blade.php
@@ -0,0 +1,52 @@
+@extends('layouts.app-clean')
+
+@section('content')
+
+
+
+
+
+
+ Dashboard Test Allineamento
+
+
+ Benvenuto {{ auth()->user()->name }} - Test Layout
+
+
+
+
+
+
+
+
+
+
+
+
Test Pannello
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
Pannello di Test
+
Questo è un semplice pannello per testare l'allineamento con la sidebar.
+
Se questo si visualizza correttamente allineato con la sidebar, allora il problema è negli altri elementi.
+
+
+
+
+
+
+
+
Test Layout
+
Questa è una versione semplificata per testare l'allineamento. Se vedi questo contenuto correttamente allineato con la sidebar, il layout base funziona.
+
+
+@endsection
diff --git a/resources/views/admin/diritti-reali/index.blade.php b/resources/views/admin/diritti-reali/index.blade.php
new file mode 100644
index 00000000..f3ca05b0
--- /dev/null
+++ b/resources/views/admin/diritti-reali/index.blade.php
@@ -0,0 +1,54 @@
+
+
+
+
+
+
+
+
+
+ Funzionalità in sviluppo
+ Questa sezione conterrà la gestione dei diritti reali.
+
+
+
+
+
+
+
+
+ Proprietà
+
+
Gestisci i diritti di proprietà
+
Visualizza
+
+
+
+
+
+
+
+
+ Usufrutto
+
+
Gestisci i diritti di usufrutto
+
Visualizza
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/resources/views/admin/documenti/print-list.blade.php b/resources/views/admin/documenti/print-list.blade.php
new file mode 100644
index 00000000..df10a73d
--- /dev/null
+++ b/resources/views/admin/documenti/print-list.blade.php
@@ -0,0 +1,379 @@
+
+
+
+
+
+
Elenco Documenti - {{ $stabile->denominazione }}
+
+
+
+
+
+
+
+
+
Informazioni Stabile
+
+
+ Codice:
+ {{ $stabile->codice_stabile ?? 'N/D' }}
+
+
+ Indirizzo:
+ {{ $stabile->indirizzo ?? 'N/D' }}
+
+
+ Città:
+ {{ $stabile->citta ?? 'N/D' }} ({{ $stabile->provincia ?? 'N/D' }})
+
+
+ Amministratore:
+ {{ $stabile->amministratore_nome ?? 'N/D' }}
+
+
+
+
+ @php
+ $totalDocuments = $documenti->flatten()->count();
+ $totalSize = $documenti->flatten()->sum('dimensione');
+ $categorieAttive = $documenti->count();
+ @endphp
+
+ @if($totalDocuments > 0)
+
+ @foreach(\App\Models\DocumentoStabile::categorie() as $codiceCategoria => $nomeCategoria)
+ @if(isset($documenti[$codiceCategoria]) && $documenti[$codiceCategoria]->count() > 0)
+
+
+
+
+
+
+ Nome Documento
+ Descrizione
+ Dimensione
+ Data Caricamento
+ Scadenza
+ Downloads
+
+
+
+ @foreach($documenti[$codiceCategoria] as $documento)
+
+
+ {{ $documento->nome_originale }}
+ {{ $documento->nome_file }}
+
+
+
+ {{ $documento->descrizione ?: 'Nessuna descrizione' }}
+
+ @if($documento->tags)
+
+ Tags: {{ $documento->tags }}
+
+ @endif
+
+
+ {{ $documento->dimensione_formattata }}
+
+
+ {{ $documento->created_at->format('d/m/Y H:i') }}
+ @if($documento->caricatore)
+ da {{ $documento->caricatore->name }}
+ @endif
+
+
+ @if($documento->data_scadenza)
+ @php
+ $statoScadenza = $documento->stato_scadenza;
+ @endphp
+
+ {{ $documento->data_scadenza->format('d/m/Y') }}
+ @if($statoScadenza['tipo'] === 'scaduto')
+ SCADUTO ({{ $statoScadenza['giorni'] }}gg fa)
+ @elseif($statoScadenza['tipo'] === 'in_scadenza_critica')
+ CRITICO ({{ $statoScadenza['giorni'] }}gg)
+ @elseif($statoScadenza['tipo'] === 'in_scadenza')
+ {{ $statoScadenza['giorni'] }} giorni
+ @endif
+
+ @else
+ -
+ @endif
+
+
+ {{ $documento->downloads }}
+
+
+ @endforeach
+
+
+
+ @endif
+ @endforeach
+
+
+
+
+
+
{{ $totalDocuments }}
+
Documenti Totali
+
+
+
{{ $categorieAttive }}
+
Categorie Attive
+
+
+
+ @if($totalSize > 1024*1024*1024)
+ {{ number_format($totalSize / (1024*1024*1024), 2) }} GB
+ @elseif($totalSize > 1024*1024)
+ {{ number_format($totalSize / (1024*1024), 2) }} MB
+ @else
+ {{ number_format($totalSize / 1024, 2) }} KB
+ @endif
+
+
Spazio Utilizzato
+
+
+
+ @else
+
+
Nessun documento caricato
+
Non sono stati caricati documenti per questo stabile.
+
+ @endif
+
+
+
+
+
+
+
+ 🖨️ Stampa
+
+
+ ✖️ Chiudi
+
+
+
+
+
+
diff --git a/resources/views/admin/fiscale/index.blade.php b/resources/views/admin/fiscale/index.blade.php
new file mode 100644
index 00000000..326265f7
--- /dev/null
+++ b/resources/views/admin/fiscale/index.blade.php
@@ -0,0 +1,53 @@
+@extends('layouts.app')
+
+@section('content')
+
+
+
+
+
+ {{-- Dashboard Fiscale --}}
+
+
+
+
+
Dichiarazioni
+ 12
+
+
+
+
+
+
+
F24 da Inviare
+ 3
+
+
+
+
+
+
+
+
+
+
Funzionalità in fase di implementazione...
+
+
+
+
+
+@endsection
diff --git a/resources/views/admin/gestioni/create.blade.php b/resources/views/admin/gestioni/create.blade.php
new file mode 100644
index 00000000..49ff4d76
--- /dev/null
+++ b/resources/views/admin/gestioni/create.blade.php
@@ -0,0 +1,232 @@
+
+
+
+
+
+
+
+
+
+ Funzionalità in sviluppo
+ Questa sezione conterrà il modulo di creazione per le gestioni amministrative.
+
+
+
+ @csrf
+
+
+
+
+ Nome Gestione
+
+
+
+
+
+
+
+ Codice Gestione
+
+
+
+
+
+
+
+ Tipo di Gestione
+
+
+ Seleziona tipo...
+ Manutenzione
+ Amministrativa
+ Contabile
+ Legale
+ Sicurezza
+ Emergenza
+ Ordinaria
+ Straordinaria
+
+
+
+
+
+
+ Categoria
+
+
+ Seleziona categoria...
+ Impianti
+ Parti Comuni
+ Facciata
+ Copertura
+ Ascensore
+ Riscaldamento
+ Impianto Elettrico
+ Impianto Idraulico
+ Condizionamento
+ Giardino
+ Pulizie
+ Vigilanza
+ Assicurazioni
+ Tributi
+ Contenziosi
+
+
+
+
+
+
+ Data Inizio
+
+
+
+
+
+
+
+ Data Scadenza
+
+
+
+
+
+
+
+ Data Completamento
+
+
+
+
+
+
+
+ Priorità
+
+
+ Seleziona priorità...
+ Bassa
+ Media
+ Alta
+ Urgente
+ Critica
+ Emergenza
+
+
+
+
+
+
+ Stato
+
+
+ Seleziona stato...
+ Pianificata
+ In Corso
+ Sospesa
+ Completata
+ Annullata
+ Rimandata
+
+
+
+
+
+
+ Responsabile
+
+
+
+
+
+
+
+ Costo Previsto (€)
+
+
+
+
+
+
+
+ Costo Effettivo (€)
+
+
+
+
+
+
+
+ Descrizione Dettagliata
+
+
+
+
+
+
+
+ Note Aggiuntive
+
+
+
+
+
+
+
+
+
+
+
+ Richiede approvazione assemblea
+
+
+
+
+
+
+
+
+ Gestione ricorrente
+
+
+
+
+
+
+
+
+ Notifica scadenza
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/resources/views/admin/gestioni/index.blade.php b/resources/views/admin/gestioni/index.blade.php
new file mode 100644
index 00000000..059a8808
--- /dev/null
+++ b/resources/views/admin/gestioni/index.blade.php
@@ -0,0 +1,131 @@
+
+
+
+
+
+
+
+
+ Funzionalità in sviluppo
+ Questa sezione conterrà la gestione completa delle attività amministrative.
+
+
+
+
+
+
+
+
+ Gestioni Attive
+
+
Visualizza e gestisci le attività amministrative in corso
+
Visualizza Attive
+
+
+
+
+
+
+
+
+ Scadenze Prossime
+
+
Gestioni con scadenze nei prossimi 30 giorni
+
Visualizza Scadenze
+
+
+
+
+
+
+
+
+
+
+
+ Gestioni Completate
+
+
Attività amministrative completate con successo
+
Visualizza Completate
+
+
+
+
+
+
+
+
+ Report e Statistiche
+
+
Analisi delle performance e report delle gestioni
+
Visualizza Report
+
+
+
+
+
+
+
+
+
+
+
+ Categorie di Gestione
+
+
+
+
+
+
+
+
Manutenzione
+
Interventi di manutenzione ordinaria e straordinaria
+
+
+
+
+
+
+
+
Amministrativa
+
Pratiche amministrative e burocratiche
+
+
+
+
+
+
+
+
Contabile
+
Gestione contabile e finanziaria
+
+
+
+
+
+
+
+
Legale
+
Questioni legali e contenziosi
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/resources/views/admin/pratiche/index.blade.php b/resources/views/admin/pratiche/index.blade.php
new file mode 100644
index 00000000..cedff4f6
--- /dev/null
+++ b/resources/views/admin/pratiche/index.blade.php
@@ -0,0 +1,53 @@
+@extends('layouts.app')
+
+@section('content')
+
+
+
+
+
+ {{-- Dashboard Pratiche --}}
+
+
+
+
+
+
Funzionalità in fase di implementazione...
+
+
+
+
+
+@endsection
diff --git a/resources/views/admin/risorse-economiche/index.blade.php b/resources/views/admin/risorse-economiche/index.blade.php
new file mode 100644
index 00000000..94cffca5
--- /dev/null
+++ b/resources/views/admin/risorse-economiche/index.blade.php
@@ -0,0 +1,61 @@
+@extends('layouts.app')
+
+@section('content')
+
+
+
+
+
Risorse Economiche
+
+ Nuova Risorsa
+
+
+
+ {{-- Dashboard Risorse --}}
+
+
+
+
+
Budget Totale
+ € 150.000
+
+
+
+
+
+
+
Utilizzato
+ € 89.500
+
+
+
+
+
+
+
Disponibile
+ € 60.500
+
+
+
+
+
+
+
Investimenti
+ € 25.000
+
+
+
+
+
+
+
+
+
Funzionalità in fase di implementazione...
+
+
+
+
+
+@endsection
diff --git a/resources/views/admin/stabili/_form-bootstrap.blade.php b/resources/views/admin/stabili/_form-bootstrap.blade.php
new file mode 100644
index 00000000..e24d0001
--- /dev/null
+++ b/resources/views/admin/stabili/_form-bootstrap.blade.php
@@ -0,0 +1,2083 @@
+
+
+
+
+ Nuovo Stabile
+
+
Compila tutti i campi per aggiungere un nuovo condominio al sistema
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{-- Sezione Informazioni Base --}}
+
+
+
+ Informazioni Base
+
+
+
+
+
+
+
+ Denominazione Stabile *
+
+
+ @error('denominazione')
+
{{ $message }}
+ @enderror
+
+
+
+
+ Codice Stabile *
+
+
+ @error('codice_stabile')
+
{{ $message }}
+ @enderror
+
+
+
+
+ Tipo Stabile
+
+
+ Seleziona tipo
+ tipo_stabile ?? '') == 'condominio' ? 'selected' : '' }}>Condominio
+ tipo_stabile ?? '') == 'palazzo' ? 'selected' : '' }}>Palazzo
+ tipo_stabile ?? '') == 'villetta' ? 'selected' : '' }}>Villetta
+ tipo_stabile ?? '') == 'complesso' ? 'selected' : '' }}>Complesso Residenziale
+
+ @error('tipo_stabile')
+
{{ $message }}
+ @enderror
+
+
+
+
+ Data Costruzione
+
+
+ @error('data_costruzione')
+
{{ $message }}
+ @enderror
+
+
+
+ {{-- Sezione Indirizzo --}}
+
+
+
+ Indirizzo e Localizzazione
+
+
+
+
+
+
+
+ Indirizzo *
+
+
+
+
+
+
+
+ @error('indirizzo')
+
{{ $message }}
+ @enderror
+
+
+
+
+ Città *
+
+
+
+
+
+
+
+ @error('citta')
+
{{ $message }}
+ @enderror
+
+
+
+
+ CAP *
+
+
+ @error('cap')
+
{{ $message }}
+ @enderror
+
+
+
+
+ Provincia
+
+
+ @error('provincia')
+
{{ $message }}
+ @enderror
+
+
+
+ {{-- Sezione Dati Catastali --}}
+
+
+
+
+
+ Foglio
+
+
+ @error('foglio')
+
{{ $message }}
+ @enderror
+
+
+
+
+ Mappale
+
+
+ @error('mappale')
+
{{ $message }}
+ @enderror
+
+
+
+
+ Subalterno
+
+
+ @error('subalterno')
+
{{ $message }}
+ @enderror
+
+
+
+
+ Categoria
+
+
+ @error('categoria')
+
{{ $message }}
+ @enderror
+
+
+
+
+ Rendita Catastale (€)
+
+
+ @error('rendita_catastale')
+
{{ $message }}
+ @enderror
+
+
+
+
+ Superficie Catastale (mq)
+
+
+ @error('superficie_catastale')
+
{{ $message }}
+ @enderror
+
+
+
+ {{-- Sezione Amministratore --}}
+
+
+
+
+
+ Nome e Cognome
+
+
+ @error('amministratore_nome')
+
{{ $message }}
+ @enderror
+
+
+
+
+ Email
+
+
+ @error('amministratore_email')
+
{{ $message }}
+ @enderror
+
+
+
+
+ Data Nomina
+
+
+ @error('data_nomina')
+
{{ $message }}
+ @enderror
+
+
+
+
+ Scadenza Mandato
+
+
+ @error('scadenza_mandato')
+
{{ $message }}
+ @enderror
+
+
+
+ {{-- Sezione Dati Catastali --}}
+
+
+
+ Dati Catastali
+
+
+
+
+
+
+
+
+
+
+ Foglio
+
+
+ @error('foglio')
+
{{ $message }}
+ @enderror
+
+
+
+
+ Mappale
+
+
+ @error('mappale')
+
{{ $message }}
+ @enderror
+
+
+
+
+ Subalterno
+
+
+ @error('subalterno')
+
{{ $message }}
+ @enderror
+
+
+
+
+ Categoria
+
+
+ @error('categoria')
+
{{ $message }}
+ @enderror
+
+
+
+
+ Rendita Catastale
+
+
+ €
+
+
+ @error('rendita_catastale')
+
{{ $message }}
+ @enderror
+
+
+
+
+ Superficie Catastale
+
+
+
+ mq
+
+ @error('superficie_catastale')
+
{{ $message }}
+ @enderror
+
+
+
+ {{-- Sezione Amministratore Completa --}}
+
+
+
+ Amministratore
+
+
+ Verbale
+
+
+ Assemblea
+
+
+ Ticket
+
+
+
+
+
+
+
+
+
+ Nome Amministratore
+
+
+ @error('amministratore_nome')
+
{{ $message }}
+ @enderror
+
+
+
+
+ Email Amministratore
+
+
+ @error('amministratore_email')
+
{{ $message }}
+ @enderror
+
+
+
+
+ Data Nomina
+
+
+ @error('data_nomina')
+
{{ $message }}
+ @enderror
+
+
+
+
+ Scadenza Mandato
+
+
+ @error('scadenza_mandato')
+
{{ $message }}
+ @enderror
+
+
+
+
+
+
+ Collegamenti Documentali
+
+
+
+
+ Documenti Stabile
+
+
+
+
+ Contratti Fornitori
+
+
+
+
+ Pagamenti/Fatture
+
+
+
+
+
+
+
+
+ {{-- Sezione Note Generali --}}
+
+
+
+ Note e Osservazioni
+
+
+
+
+
+
+
+ Note Generali
+
+
{{ old('note', $stabile->note ?? '') }}
+ @error('note')
+
{{ $message }}
+ @enderror
+
+
+
+
+
+
+
+
+
+ Indirizzo *
+
+
+ @error('indirizzo')
+
{{ $message }}
+ @enderror
+
+
+
+
+ Città *
+
+
+ @error('citta')
+
{{ $message }}
+ @enderror
+
+
+
+
+ CAP *
+
+
+ @error('cap')
+
{{ $message }}
+ @enderror
+
+
+
+
+ Provincia
+
+
+ @error('provincia')
+
{{ $message }}
+ @enderror
+
+
+
+
+ Regione
+
+
+ @error('regione')
+
{{ $message }}
+ @enderror
+
+
+
+
+
+
+
+
+ Gestione Multi-Palazzine
+
+
+ Aggiungi le palazzine che compongono il complesso condominiale
+
+
+
+
+
+ Aggiungi Palazzina
+
+
+
+
+
+
+
+ Denominazione Palazzina
+ Codice
+ Piani
+ Unità per Piano
+ Azioni
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Dati Catastali - Informazioni Chiave
+
+
+ Questi dati sono fondamentali per l'identificazione catastale del condominio
+
+
+
+
+
+
+ Sezione Catastale
+
+
+ @error('sezione_catastale')
+
{{ $message }}
+ @enderror
+
+
+
+
+ Foglio
+
+
+ @error('foglio')
+
{{ $message }}
+ @enderror
+
+
+
+
+ Particella
+
+
+ @error('particella')
+
{{ $message }}
+ @enderror
+
+
+
+
+ Subalterno
+
+
+ @error('subalterno')
+
{{ $message }}
+ @enderror
+
+
+
+
+ Zona Censuaria
+
+
+ @error('zona_censuaria')
+
{{ $message }}
+ @enderror
+
+
+
+
+ Categoria Catastale
+
+
+ @error('categoria_catastale')
+
{{ $message }}
+ @enderror
+
+
+
+
+
+
+
+
+ Gestione Conti Bancari
+
+
+ Aggiungi Banca
+
+
+
+
+
+
+
+ Banca #1
+
+
+
+
+
+
+
+
+
+ Denominazione Banca
+
+
+
+
+
+
+ IBAN
+
+
+
+
+
+
+ Intestazione Conto
+
+
+
+
+
+
+ Codice SWIFT/BIC
+
+
+
+
+
+
+ Tipo Conto
+
+
+ Seleziona tipo
+ Conto Ordinario
+ Conto Deposito
+ Conto Risparmio
+ Conto Corrente
+
+
+
+
+
+ Saldo Iniziale
+
+
+
+
+
+
+ Data Saldo
+
+
+
+
+
+
+ Saldo Verificato
+
+
+ Sì, Verificato
+ No, Da Verificare
+
+
+
+
+
+ Note
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Nome Amministratore
+
+
+ @error('amministratore_nome')
+
{{ $message }}
+ @enderror
+
+
+
+
+ Email Amministratore
+
+
+ @error('amministratore_email')
+
{{ $message }}
+ @enderror
+
+
+
+
+ Telefono Amministratore
+
+
+ @error('amministratore_telefono')
+
{{ $message }}
+ @enderror
+
+
+
+
+ Codice Fiscale Amministratore
+
+
+ @error('amministratore_codice_fiscale')
+
{{ $message }}
+ @enderror
+
+
+
+
+
+
+
+
+ Gestione Esercizi Contabili
+
+
+ Configura gli esercizi contabili per le diverse tipologie di gestione: Ordinarie, Riscaldamento e Straordinarie
+
+
+
+
+
+
+
+
+
+
+ Le gestioni ordinarie devono essere sequenziali. L'anno 2024 deve venire dopo il 2023 e prima del 2025.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Le gestioni riscaldamento sono tipicamente stagionali (es. Ottobre-Marzo).
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Le gestioni straordinarie richiedono una descrizione dettagliata del progetto o intervento.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Locali di Servizio e Comuni
+
+
+ Aggiungi i locali comuni e di servizio del condominio
+
+
+
+
+
+ Aggiungi Locale
+
+
+
+
+
+
+
+ Tipo Locale
+ Descrizione
+ Piano
+ Superficie (mq)
+ Azioni
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gestione Documenti dello Stabile
+ Carica e gestisci tutti i documenti e contratti relativi allo stabile.
+ Supporta PDF, DOC, DOCX, XLS, XLSX e immagini.
+
+
+
+
+
+
+
+
+ Carica Nuovi Documenti
+
+
+
+ File supportati: PDF, DOC, DOCX, XLS, XLSX, JPG, PNG. Max 10MB per file.
+
+
+
+ Categoria
+
+ Seleziona categoria...
+ Contratti
+ Documenti Amministrativi
+ Documenti Tecnici
+ Documenti Catastali
+ Documenti Bancari
+ Documenti Legali
+ Verbali Assemblee
+ Altri
+
+
+
+
+
+
+
+
+
+
+ Data Nomina Attuale
+
+
+
+ Data Scadenza Mandato
+
+
+
+ Numero Delibera Nomina
+
+
+
+ Note Registro
+ {{ old('registro_note', $stabile->registro_note ?? '') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
0 documenti selezionati
+
+
+ Scarica Selezionati
+
+
+ Elimina Selezionati
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/resources/views/admin/stabili/_form_new.blade.php b/resources/views/admin/stabili/_form_new.blade.php
new file mode 100644
index 00000000..9cbeb928
--- /dev/null
+++ b/resources/views/admin/stabili/_form_new.blade.php
@@ -0,0 +1,449 @@
+
+
+
+
+
+
+
diff --git a/resources/views/admin/stabili/chiavi/index.blade.php b/resources/views/admin/stabili/chiavi/index.blade.php
new file mode 100644
index 00000000..99502c39
--- /dev/null
+++ b/resources/views/admin/stabili/chiavi/index.blade.php
@@ -0,0 +1,318 @@
+
+
+
+ {{ __('Gestione Chiavi') }} - {{ $stabile->denominazione }}
+
+
+
+
+
+
+ {{-- Breadcrumb --}}
+
+
+
+
+ Stabili
+
+
+
+
+
+
+
+
+ Gestione Chiavi
+
+
+
+
+
+ {{-- Header con statistiche --}}
+
+
+
+
Archivio Chiavi
+
+ Nuova Chiave
+
+
+
+ {{-- Statistiche Rapide --}}
+
+
+
+
+
+
Disponibili
+
{{ $chiavi->where('stato', 'disponibile')->count() }}
+
+
+
+
+
+
+
+
In Uso
+
{{ $chiavi->where('stato', 'in_uso')->count() }}
+
+
+
+
+
+
+
+
Smarrite
+
{{ $chiavi->where('stato', 'smarrita')->count() }}
+
+
+
+
+
+
+
+
Totali
+
{{ $chiavi->count() }}
+
+
+
+
+
+
+
+ {{-- Lista Chiavi --}}
+
+
+ @if($chiavi->count() > 0)
+
+
+
+
+
+ Chiave
+
+
+ Tipo
+
+
+ Stato
+
+
+ QR Code
+
+
+ Ultimo Movimento
+
+
+ Azioni
+
+
+
+
+ @foreach($chiavi as $chiave)
+
+
+
+
+ {{ $chiave->nome }}
+
+
+ {{ $chiave->codice_identificativo }}
+
+ @if($chiave->descrizione)
+
+ {{ Str::limit($chiave->descrizione, 50) }}
+
+ @endif
+
+
+
+
+
+ {{ $chiave->tipo_nome }}
+
+
+
+
+ {{ $chiave->stato_nome }}
+
+
+
+
+ {{ Str::limit($chiave->qr_code, 20) }}
+
+
+ Mostra QR
+
+
+
+ @if($chiave->movimenti->count() > 0)
+ @php $ultimo = $chiave->movimenti->first() @endphp
+
+ {{ $ultimo->tipo_movimento }}
+
+
+ {{ $ultimo->data_movimento->format('d/m/Y H:i') }}
+
+
+ {{ Str::limit($ultimo->soggetto_riferimento, 30) }}
+
+ @else
+ Nessun movimento
+ @endif
+
+
+
+
+
+
+
+
+
+
+ @endforeach
+
+
+
+
+ {{-- Paginazione --}}
+
+ {{ $chiavi->links() }}
+
+ @else
+
+
+
Nessuna chiave registrata
+
Inizia creando la prima chiave per questo stabile
+
+ Crea Prima Chiave
+
+
+ @endif
+
+
+
+
+
+ {{-- Modal Nuova Chiave --}}
+
+
+
+
Nuova Chiave
+
+ @csrf
+
+
+ Nome Chiave
+
+
+
+ Tipo
+
+ Seleziona tipo...
+ Unità Immobiliare
+ Spazio Comune
+ Locale Tecnico
+ Emergenza
+ Master
+
+
+
+ Descrizione (opzionale)
+
+
+
+ Codice Identificativo (opzionale)
+
+
+
+
+
+ Annulla
+
+
+ Crea Chiave
+
+
+
+
+
+
+
+ {{-- Modal Movimento Chiave --}}
+
+
+
+
Movimento Chiave:
+
+ @csrf
+
+
+ Tipo Movimento
+
+ Seleziona movimento...
+ Consegna
+ Restituzione
+ Smarrimento
+ Duplicazione
+
+
+
+ Soggetto di Riferimento
+
+
+
+ Note (opzionali)
+
+
+
+
+
+ Annulla
+
+
+ Registra Movimento
+
+
+
+
+
+
+
+
+
diff --git a/resources/views/admin/stabili/fondi/index.blade.php b/resources/views/admin/stabili/fondi/index.blade.php
new file mode 100644
index 00000000..2715d840
--- /dev/null
+++ b/resources/views/admin/stabili/fondi/index.blade.php
@@ -0,0 +1,321 @@
+
+
+
+ {{ __('Fondi Condominiali') }} - {{ $stabile->denominazione }}
+
+
+
+
+
+
+ {{-- Breadcrumb --}}
+
+
+
+
+ Stabili
+
+
+
+
+
+
+
+
+ Fondi Condominiali
+
+
+
+
+
+ {{-- Header con sommario finanziario --}}
+
+
+
+
Gestione Fondi Condominiali
+
+ Nuovo Fondo
+
+
+
+ {{-- Riepilogo Finanziario --}}
+
+
+
+
+
+
Fondo Ordinario
+
+ € {{ number_format($fondi->where('tipo', 'ordinario')->sum('saldo_attuale'), 2, ',', '.') }}
+
+
+
+
+
+
+
+
+
Fondo Riserva
+
+ € {{ number_format($fondi->where('tipo', 'riserva')->sum('saldo_attuale'), 2, ',', '.') }}
+
+
+
+
+
+
+
+
+
Fondi Specifici
+
+ € {{ number_format($fondi->where('tipo', 'specifico')->sum('saldo_attuale'), 2, ',', '.') }}
+
+
+
+
+
+
+
+
+
Totale Disponibile
+
+ € {{ number_format($fondi->sum('saldo_attuale'), 2, ',', '.') }}
+
+
+
+
+
+
+
+
+ {{-- Lista Fondi --}}
+
+
+ @if($fondi->count() > 0)
+ {{-- Fondi Ordinari --}}
+ @php $fondiOrdinari = $fondi->where('tipo', 'ordinario') @endphp
+ @if($fondiOrdinari->count() > 0)
+
+
+
+ Fondi Ordinari ({{ $fondiOrdinari->count() }})
+
+
+ @foreach($fondiOrdinari as $fondo)
+
+
+
+
{{ $fondo->nome }}
+
+ {{ $fondo->tipo_nome }}
+
+
+
+
+ € {{ number_format($fondo->saldo_attuale, 2, ',', '.') }}
+
+
Priorità {{ $fondo->priorita }}
+
+
+ @if($fondo->descrizione)
+
{{ $fondo->descrizione }}
+ @endif
+
+
+ {{ $fondo->stato_nome }}
+
+
+
+ Versamento
+
+
+ Prelievo
+
+
+
+
+ @endforeach
+
+
+ @endif
+
+ {{-- Fondi Riserva --}}
+ @php $fondiRiserva = $fondi->where('tipo', 'riserva') @endphp
+ @if($fondiRiserva->count() > 0)
+
+
+
+ Fondi Riserva ({{ $fondiRiserva->count() }})
+
+
+ @foreach($fondiRiserva as $fondo)
+
+
+
+
{{ $fondo->nome }}
+
+ {{ $fondo->tipo_nome }}
+
+
+
+
+ € {{ number_format($fondo->saldo_attuale, 2, ',', '.') }}
+
+
Priorità {{ $fondo->priorita }}
+
+
+ @if($fondo->descrizione)
+
{{ $fondo->descrizione }}
+ @endif
+
+
+ {{ $fondo->stato_nome }}
+
+
+
+ Accumulo
+
+
+ Storico
+
+
+
+
+ @endforeach
+
+
+ @endif
+
+ {{-- Fondi Specifici --}}
+ @php $fondiSpecifici = $fondi->where('tipo', 'specifico') @endphp
+ @if($fondiSpecifici->count() > 0)
+
+
+
+ Fondi Specifici ({{ $fondiSpecifici->count() }})
+
+
+ @foreach($fondiSpecifici as $fondo)
+
+
+
+
{{ $fondo->nome }}
+
+ {{ $fondo->tipo_nome }}
+
+
+
+
+ € {{ number_format($fondo->saldo_attuale, 2, ',', '.') }}
+
+
Priorità {{ $fondo->priorita }}
+
+
+ @if($fondo->descrizione)
+
{{ $fondo->descrizione }}
+ @endif
+
+
+ {{ $fondo->stato_nome }}
+
+
+
+ Alimenta
+
+
+ Gestisci
+
+
+
+
+ @endforeach
+
+
+ @endif
+
+ {{-- Paginazione --}}
+
+ {{ $fondi->links() }}
+
+ @else
+
+
+
Nessun fondo configurato
+
Crea il primo fondo condominiale per questo stabile
+
+ Crea Primo Fondo
+
+
+ @endif
+
+
+
+
+
+ {{-- Modal Nuovo Fondo --}}
+
+
+
+
Nuovo Fondo Condominiale
+
+ @csrf
+
+
+ Nome Fondo
+
+
+
+ Tipo Fondo
+
+ Seleziona tipo...
+ Ordinario (spese correnti)
+ Straordinario (opere speciali)
+ Riserva (accantonamenti)
+ Specifico (finalizzato)
+
+
+
+
Priorità
+
+
1 = Priorità massima, 100 = Priorità minima
+
+
+ Saldo Iniziale (€)
+
+
+
+ Descrizione
+
+
+
+
+
+ Annulla
+
+
+ Crea Fondo
+
+
+
+
+
+
+
diff --git a/resources/views/admin/stabili/index-ajax.blade.php b/resources/views/admin/stabili/index-ajax.blade.php
new file mode 100644
index 00000000..96f21cb0
--- /dev/null
+++ b/resources/views/admin/stabili/index-ajax.blade.php
@@ -0,0 +1,90 @@
+{{-- Vista lista stabili per caricamento AJAX --}}
+
+
+
+ @if(isset($stabili) && $stabili->count() > 0)
+
+
+
+
+ Denominazione
+ Codice
+ Indirizzo
+ Città
+ Azioni
+
+
+
+ @foreach($stabili as $stabile)
+
+
+ {{ $stabile->denominazione }}
+ @if($stabile->note)
+ {{ Str::limit($stabile->note, 50) }}
+ @endif
+
+
+ {{ $stabile->codice_stabile ?? 'N/D' }}
+
+ {{ $stabile->indirizzo ?? 'N/D' }}
+ {{ $stabile->citta ?? 'N/D' }}
+
+
+
+
+ @endforeach
+
+
+
+
+ @if(method_exists($stabili, 'links'))
+
+ {{ $stabili->links() }}
+
+ @endif
+ @else
+
+
+
Nessuno stabile presente
+
Inizia creando il primo stabile del sistema.
+
+ Crea Primo Stabile
+
+
+ @endif
+
+
+
+{{-- Script per gestione azioni --}}
+
diff --git a/resources/views/admin/stabili/modals/chiave.blade.php b/resources/views/admin/stabili/modals/chiave.blade.php
new file mode 100644
index 00000000..6343762e
--- /dev/null
+++ b/resources/views/admin/stabili/modals/chiave.blade.php
@@ -0,0 +1,111 @@
+{{-- Modal Chiave --}}
+
diff --git a/resources/views/admin/stabili/modals/contatore.blade.php b/resources/views/admin/stabili/modals/contatore.blade.php
new file mode 100644
index 00000000..082b7f87
--- /dev/null
+++ b/resources/views/admin/stabili/modals/contatore.blade.php
@@ -0,0 +1,103 @@
+{{-- Modal Contatore --}}
+
+
+
+
+
+
+
+
+
+ Nuovo Contatore
+
+
+
+
+
+
+
diff --git a/resources/views/admin/stabili/modals/fondo.blade.php b/resources/views/admin/stabili/modals/fondo.blade.php
new file mode 100644
index 00000000..93a6d62e
--- /dev/null
+++ b/resources/views/admin/stabili/modals/fondo.blade.php
@@ -0,0 +1,111 @@
+{{-- Modal Fondo Condominiale --}}
+
+
+
+
+
+
+
+
+
+ Nuovo Fondo Condominiale
+
+
+
+
+
+
+
diff --git a/resources/views/admin/stabili/modals/tabella-millesimale.blade.php b/resources/views/admin/stabili/modals/tabella-millesimale.blade.php
new file mode 100644
index 00000000..983c9a53
--- /dev/null
+++ b/resources/views/admin/stabili/modals/tabella-millesimale.blade.php
@@ -0,0 +1,58 @@
+{{-- Modal Tabella Millesimale --}}
+
+
+
+
+
+
+
+
+
+ Nuova Tabella Millesimale
+
+
+
+
+
+
+
+
+ Nome Tabella *
+
+
+
+
+
+
+ Descrizione
+
+
+
+
+
+
+ Annulla
+
+
+ Salva
+
+
+
+
+
+
+
+
diff --git a/resources/views/admin/stabili/struttura/index.blade.php b/resources/views/admin/stabili/struttura/index.blade.php
new file mode 100644
index 00000000..9323ccbf
--- /dev/null
+++ b/resources/views/admin/stabili/struttura/index.blade.php
@@ -0,0 +1,316 @@
+
+
+
+ {{ __('Struttura Fisica') }} - {{ $stabile->denominazione }}
+
+
+
+
+
+
+ {{-- Breadcrumb --}}
+
+
+
+
+ Stabili
+
+
+
+
+
+
+
+
+ Struttura Fisica
+
+
+
+
+
+ {{-- Panel Auto-Generazione --}}
+
+
+
+
Configurazione Automatica
+
+
+ Auto-Genera Struttura
+
+
+ Auto-Genera Unità
+
+
+
+
+ Utilizza gli strumenti di auto-generazione per creare rapidamente la struttura fisica del condominio
+ (palazzine, scale, piani) e le relative unità immobiliari.
+
+
+
+
+ {{-- Riepilogo Struttura --}}
+ @if($strutture->count() > 0)
+
+
+
Riepilogo Struttura
+
+
+
+
+
+
Palazzine
+
+ {{ $strutture->has('palazzina') ? $strutture['palazzina']->count() : 0 }}
+
+
+
+
+
+
+
+
+
Scale
+
+ {{ $strutture->has('scala') ? $strutture['scala']->count() : 0 }}
+
+
+
+
+
+
+
+
+
Piani
+
+ {{ $strutture->has('piano') ? $strutture['piano']->count() : 0 }}
+
+
+
+
+
+
+
+
+
Locali Tecnici
+
+ {{ $strutture->has('locale') ? $strutture['locale']->count() : 0 }}
+
+
+
+
+
+
+
+
+ {{-- Visualizzazione Struttura ad Albero --}}
+
+
+
Struttura Gerarchica
+
+ @if($strutture->has('palazzina'))
+ @foreach($strutture['palazzina'] as $palazzina)
+
+ {{-- Palazzina --}}
+
+
+
+ {{ $palazzina->nome }} ({{ $palazzina->codice }})
+
+ @if($palazzina->descrizione)
+ {{ $palazzina->descrizione }}
+ @endif
+
+
+ {{-- Scale di questa palazzina --}}
+ @php
+ $scaleDelPalazzo = $strutture->has('scala') ?
+ $strutture['scala']->where('parent_id', $palazzina->id) : collect()
+ @endphp
+
+ @if($scaleDelPalazzo->count() > 0)
+
+ @foreach($scaleDelPalazzo as $scala)
+
+ {{-- Scala --}}
+
+
+
+ {{ $scala->nome }} ({{ $scala->codice }})
+
+ @if($scala->descrizione)
+ {{ $scala->descrizione }}
+ @endif
+
+
+ {{-- Piani di questa scala --}}
+ @php
+ $pianiDellaScala = $strutture->has('piano') ?
+ $strutture['piano']->where('parent_id', $scala->id) : collect()
+ @endphp
+
+ @if($pianiDellaScala->count() > 0)
+
+ @foreach($pianiDellaScala->sortBy('codice') as $piano)
+
+
+
+ {{ $piano->nome }}
+
+
+ @endforeach
+
+ @endif
+
+ @endforeach
+
+ @endif
+
+ @endforeach
+ @endif
+
+ {{-- Locali Tecnici (non gerarchici) --}}
+ @if($strutture->has('locale'))
+
+
Locali Tecnici
+
+ @foreach($strutture['locale'] as $locale)
+
+
+
+ {{ $locale->nome }}
+
+
+ @endforeach
+
+
+ @endif
+
+
+ @else
+
+
+
+
Struttura fisica non configurata
+
+ Utilizza l'auto-generazione per creare rapidamente la struttura del condominio
+
+
+ Inizia Configurazione
+
+
+
+ @endif
+
+
+
+ {{-- Modal Auto-Generazione Struttura --}}
+
+
+
+
Auto-Generazione Struttura Fisica
+
+ @csrf
+
+
+ Numero Palazzine
+
+
+
+ Scale per Palazzina
+
+
+
+
Piani per Scala
+
+
Include automaticamente il piano terra (Piano 0)
+
+
+
Unità per Piano
+
+
Sarà utilizzato per l'auto-generazione unità
+
+
+
+
+ Sostituisci struttura esistente
+
+
+
+
+
+ Annulla
+
+
+ Genera Struttura
+
+
+
+
+
+
+
+ {{-- Modal Auto-Generazione Unità --}}
+
+
+
+
Auto-Generazione Unità Immobiliari
+
+ @csrf
+
+
+
Template Nome Unità
+
+
+ Usa {piano}, {numero}, {codice} come placeholder
+
+
+
+
Millesimi Default
+
+
Millesimi per unità (verranno ricalcolati)
+
+
+ Unità per Piano
+
+
+
+
+
+ Annulla
+
+
+ Genera Unità
+
+
+
+
+
+
+
diff --git a/resources/views/admin/tabelle-millesimali/index.blade.php b/resources/views/admin/tabelle-millesimali/index.blade.php
new file mode 100644
index 00000000..4d603d26
--- /dev/null
+++ b/resources/views/admin/tabelle-millesimali/index.blade.php
@@ -0,0 +1,66 @@
+
+
+
+
+
+
+
+
+
+ Funzionalità in sviluppo
+ Questa sezione conterrà la gestione delle tabelle millesimali.
+
+
+
+
+
+
+
+
+ Millesimi Generali
+
+
Gestisci i millesimi di proprietà generale
+
Visualizza
+
+
+
+
+
+
+
+
+ Millesimi Riscaldamento
+
+
Gestisci i millesimi per il riscaldamento
+
Visualizza
+
+
+
+
+
+
+
+
+ Millesimi Personalizzati
+
+
Tabelle millesimali personalizzate
+
Visualizza
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/resources/views/admin/theme/index.blade.php b/resources/views/admin/theme/index.blade.php
new file mode 100644
index 00000000..068326fd
--- /dev/null
+++ b/resources/views/admin/theme/index.blade.php
@@ -0,0 +1,518 @@
+@extends('layouts.admin')
+
+@section('title', 'Personalizzazione Tema - NetGesCon')
+
+@section('content')
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Colori Principali
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Sidebar e Layout
+
+
+
Sfondo Sidebar
+
+
+
+
+
+
+
+
Testo Sidebar
+
+
+
+
+
+
+
+
Sfondo Header
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Modalità Tema
+
+ Chiaro
+ Scuro
+
+
+
+
+
+
+
+
+ Salva Tema
+
+
+ Anteprima
+
+
+ Ripristina Default
+
+
+
+
+
+
+
+
+
+ @foreach($presetThemes as $key => $preset)
+
+
+
+
+
{{ $preset['description'] }}
+
+
+ Applica
+
+
+
+
+ @endforeach
+
+
+
+
+
+
+
+
Esporta Tema Corrente
+
Salva le tue impostazioni di tema in un file JSON per backup o condivisione.
+
+ Esporta Tema
+
+
+
+
Importa Tema
+
Carica un file JSON di tema precedentemente esportato.
+
+
+
+
+
+ Importa Tema
+
+
+
+
+
+
+
+
+
+
+
+@endsection
+
+@push('styles')
+
+@endpush
+
+@push('scripts')
+
+@endpush
diff --git a/resources/views/admin/tickets/index-ajax.blade.php b/resources/views/admin/tickets/index-ajax.blade.php
new file mode 100644
index 00000000..b3dc460d
--- /dev/null
+++ b/resources/views/admin/tickets/index-ajax.blade.php
@@ -0,0 +1,149 @@
+{{-- Vista lista tickets per caricamento AJAX --}}
+
+
+
+
+
+ 3 Tickets Urgenti! Richiede attenzione immediata.
+
+
+
+
+
+
+
+
+ ID
+ Titolo
+ Stabile
+ Stato
+ Priorità
+ Data
+ Azioni
+
+
+
+
+ #001
+
+ Perdita acqua ascensore
+ Segnalazione infiltrazione piano terra
+
+ Condominio Via Roma 123
+ Urgente
+ Alta
+ 16/07/2025
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ #002
+
+ Riparazione citofono
+ Citofono appartamento 5A non funzionante
+
+ Condominio Via Roma 123
+ In Corso
+ Media
+ 15/07/2025
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ #003
+
+ Pulizia scale condominiali
+ Richiesta pulizia straordinaria
+
+ Condominio Via Roma 123
+ In Attesa
+ Bassa
+ 14/07/2025
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{{-- Script per funzioni placeholder --}}
+
diff --git a/resources/views/components/dashboard/admin/quick-actions.blade.php b/resources/views/components/dashboard/admin/quick-actions.blade.php
new file mode 100644
index 00000000..695734b8
--- /dev/null
+++ b/resources/views/components/dashboard/admin/quick-actions.blade.php
@@ -0,0 +1,68 @@
+{{--
+ Dashboard Admin - Azioni Rapide
+ Modulo per le azioni rapide dell'amministratore
+--}}
+
+
+
+
Azioni Rapide
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/resources/views/components/dashboard/admin/recent-activity.blade.php b/resources/views/components/dashboard/admin/recent-activity.blade.php
new file mode 100644
index 00000000..929bce03
--- /dev/null
+++ b/resources/views/components/dashboard/admin/recent-activity.blade.php
@@ -0,0 +1,90 @@
+{{--
+ Dashboard Admin - Attività Recenti
+ Modulo per le attività recenti dell'amministratore
+--}}
+
+
+
+
+
+
+ {{-- Attività fittizie per ora, da sostituire con dati reali --}}
+
+
+
+
+
+
+ Nuovo ticket ricevuto
+
+
+ Stabile A - Problema ascensore - 30 min fa
+
+
+
+
+
+
+
+
+
+ Pagamento ricevuto
+
+
+ Mario Rossi - €500,00 - 2 ore fa
+
+
+
+
+
+
+
+
+
+ Nuovo condomino registrato
+
+
+ Giulia Bianchi - Appartamento 12 - 1 giorno fa
+
+
+
+
+
+
+
+
+
+ Assemblea programmata
+
+
+ 15 Marzo 2024 - Bilancio annuale - 2 giorni fa
+
+
+
+
+
+
+
+
diff --git a/resources/views/components/dashboard/admin/stats.blade.php b/resources/views/components/dashboard/admin/stats.blade.php
new file mode 100644
index 00000000..7a54e234
--- /dev/null
+++ b/resources/views/components/dashboard/admin/stats.blade.php
@@ -0,0 +1,50 @@
+{{--
+ Dashboard Admin - Statistiche Principali
+ Modulo per le statistiche dell'amministratore
+--}}
+
+@props(['stats' => []])
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/resources/views/components/dashboard/condomino/quick-actions.blade.php b/resources/views/components/dashboard/condomino/quick-actions.blade.php
new file mode 100644
index 00000000..be8fb239
--- /dev/null
+++ b/resources/views/components/dashboard/condomino/quick-actions.blade.php
@@ -0,0 +1,68 @@
+{{--
+ Dashboard Condomino - Azioni Rapide
+ Modulo per le azioni rapide del condomino
+--}}
+
+
+
+
Azioni Rapide
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/resources/views/components/dashboard/condomino/recent-communications.blade.php b/resources/views/components/dashboard/condomino/recent-communications.blade.php
new file mode 100644
index 00000000..9ac36ffc
--- /dev/null
+++ b/resources/views/components/dashboard/condomino/recent-communications.blade.php
@@ -0,0 +1,90 @@
+{{--
+ Dashboard Condomino - Comunicazioni Recenti
+ Modulo per le comunicazioni recenti
+--}}
+
+
+
+
+
+
+ {{-- Comunicazioni fittizie per ora, da sostituire con dati reali --}}
+
+
+
+
+
+
+ Assemblea Straordinaria
+
+
+ Convocazione per il 15 Marzo 2024 - Lavori di ristrutturazione
+
+
2 giorni fa
+
+
+
+ Nuovo
+
+
+
+
+
+
+
+
+
+ Rata Marzo 2024
+
+
+ Scadenza 31 Marzo 2024 - Importo €450,00
+
+
5 giorni fa
+
+
+
+
+
+
+
+
+ Manutenzione Ascensore
+
+
+ Interruzione servizio 10 Marzo dalle 9:00 alle 17:00
+
+
1 settimana fa
+
+
+
+
+
+ @if(false) {{-- Quando non ci sono comunicazioni --}}
+
+
+
+
+
Nessuna comunicazione recente
+
+ @endif
+
+
+
diff --git a/resources/views/components/dashboard/condomino/stats.blade.php b/resources/views/components/dashboard/condomino/stats.blade.php
new file mode 100644
index 00000000..c7c671c7
--- /dev/null
+++ b/resources/views/components/dashboard/condomino/stats.blade.php
@@ -0,0 +1,50 @@
+{{--
+ Dashboard Condomino - Statistiche Principali
+ Modulo per le statistiche del condomino
+--}}
+
+@props(['stats' => []])
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/resources/views/components/dashboard/condomino/welcome-banner.blade.php b/resources/views/components/dashboard/condomino/welcome-banner.blade.php
new file mode 100644
index 00000000..e109082f
--- /dev/null
+++ b/resources/views/components/dashboard/condomino/welcome-banner.blade.php
@@ -0,0 +1,55 @@
+{{--
+ Dashboard Condomino - Banner Benvenuto
+ Banner personalizzato per dare il benvenuto al condomino
+--}}
+
+
+
+
+
+
Benvenuto, {{ Auth::user()->name }}!
+
+ Gestisci le tue proprietà e rimani aggiornato su tutto quello che riguarda il tuo condominio.
+
+
+
+
+
+
+
+
+
+
+
+
Il tuo condominio
+
Via Roma, 123
+
+
+
+
+
+
+
+
+
Amministratore
+
Dott. Mario Bianchi
+
+
+
+
+
+
+
+
+
Ultimo accesso
+
{{ Auth::user()->last_login_at?->format('d/m/Y H:i') ?? 'Primo accesso' }}
+
+
+
+
+
+
diff --git a/resources/views/components/dashboard/shared/action-card.blade.php b/resources/views/components/dashboard/shared/action-card.blade.php
new file mode 100644
index 00000000..872a7be2
--- /dev/null
+++ b/resources/views/components/dashboard/shared/action-card.blade.php
@@ -0,0 +1,78 @@
+{{--
+ Componente Card Azione Rapida
+ Card per azioni rapide nella dashboard con icona, titolo e descrizione
+
+ Parametri:
+ - title: Titolo dell'azione
+ - description: Descrizione dell'azione
+ - icon: Icona dell'azione
+ - link: Link di destinazione
+ - color: Colore del tema (primary, success, warning, danger, info)
+ - badge: Testo del badge opzionale (es: "Nuovo", "3")
+ - badgeColor: Colore del badge
+--}}
+
+@props([
+ 'title' => 'Azione',
+ 'description' => 'Descrizione dell\'azione',
+ 'icon' => 'fas fa-cog',
+ 'link' => '#',
+ 'color' => 'primary',
+ 'badge' => null,
+ 'badgeColor' => 'red'
+])
+
+@php
+ $colorClasses = [
+ 'primary' => 'hover:bg-blue-50 dark:hover:bg-blue-900/20 border-blue-200',
+ 'success' => 'hover:bg-green-50 dark:hover:bg-green-900/20 border-green-200',
+ 'warning' => 'hover:bg-yellow-50 dark:hover:bg-yellow-900/20 border-yellow-200',
+ 'danger' => 'hover:bg-red-50 dark:hover:bg-red-900/20 border-red-200',
+ 'info' => 'hover:bg-indigo-50 dark:hover:bg-indigo-900/20 border-indigo-200',
+ ];
+
+ $badgeColors = [
+ 'red' => 'bg-red-100 text-red-800',
+ 'green' => 'bg-green-100 text-green-800',
+ 'blue' => 'bg-blue-100 text-blue-800',
+ 'yellow' => 'bg-yellow-100 text-yellow-800',
+ ];
+
+ $hoverClass = $colorClasses[$color] ?? $colorClasses['primary'];
+ $badgeClass = $badgeColors[$badgeColor] ?? $badgeColors['red'];
+@endphp
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $title }}
+
+
+
+ @if($badge)
+
+ {{ $badge }}
+
+ @endif
+
+
+
+ {{ $description }}
+
+
+
+
+
+
+
+
+
diff --git a/resources/views/components/dashboard/shared/header.blade.php b/resources/views/components/dashboard/shared/header.blade.php
new file mode 100644
index 00000000..6f90bbda
--- /dev/null
+++ b/resources/views/components/dashboard/shared/header.blade.php
@@ -0,0 +1,45 @@
+{{--
+ Componente Header Dashboard
+ Header standard per tutte le dashboard con titolo, sottotitolo e icona ruolo
+
+ Parametri:
+ - title: Titolo principale della dashboard
+ - subtitle: Sottotitolo/descrizione
+ - icon: Icona del ruolo (es: 'fas fa-crown' per superadmin)
+ - iconColor: Colore dell'icona (es: 'text-red-500')
+--}}
+
+@props([
+ 'title' => 'Dashboard',
+ 'subtitle' => 'Benvenuto nel pannello di controllo',
+ 'icon' => 'fas fa-tachometer-alt',
+ 'iconColor' => 'text-blue-500'
+])
+
+
+
+
+
+
+
+
+
+ {{ $title }}
+
+
+ {{ $subtitle }}
+
+
+
+
+
+
+ Benvenuto, {{ Auth::user()->name }}
+
+
+ {{ now()->format('d/m/Y H:i') }}
+
+
+
+
+
diff --git a/resources/views/components/dashboard/shared/stat-card.blade.php b/resources/views/components/dashboard/shared/stat-card.blade.php
new file mode 100644
index 00000000..6de88014
--- /dev/null
+++ b/resources/views/components/dashboard/shared/stat-card.blade.php
@@ -0,0 +1,72 @@
+{{--
+ Componente Card Statistica
+ Componente riutilizzabile per visualizzare statistiche numeriche con icona
+
+ Parametri:
+ - title: Titolo della statistica
+ - value: Valore numerico da visualizzare
+ - icon: Classe CSS dell'icona (es: 'fas fa-building')
+ - color: Colore del tema (primary, success, warning, danger, info)
+ - subtitle: Sottotitolo opzionale
+ - link: Link opzionale per rendere la card cliccabile
+--}}
+
+@props([
+ 'title' => 'Statistica',
+ 'value' => '0',
+ 'icon' => 'fas fa-chart-bar',
+ 'color' => 'primary',
+ 'subtitle' => null,
+ 'link' => null
+])
+
+@php
+ $colorClasses = [
+ 'primary' => 'text-blue-500 bg-blue-100',
+ 'success' => 'text-green-500 bg-green-100',
+ 'warning' => 'text-yellow-500 bg-yellow-100',
+ 'danger' => 'text-red-500 bg-red-100',
+ 'info' => 'text-indigo-500 bg-indigo-100',
+ ];
+
+ $cardClass = $link ? 'cursor-pointer hover:shadow-lg transition-shadow' : '';
+ $iconColor = $colorClasses[$color] ?? $colorClasses['primary'];
+@endphp
+
+
+
+
+
+
+
+
+
+
+
+ {{ $title }}
+
+
+ {{ $value }}
+
+ @if($subtitle)
+
+ {{ $subtitle }}
+
+ @endif
+
+
+
+
+ @if($link)
+
+
+
+ @endif
+
+
+
diff --git a/resources/views/components/dashboard/superadmin/quick-actions.blade.php b/resources/views/components/dashboard/superadmin/quick-actions.blade.php
new file mode 100644
index 00000000..c2fdea45
--- /dev/null
+++ b/resources/views/components/dashboard/superadmin/quick-actions.blade.php
@@ -0,0 +1,68 @@
+{{--
+ Dashboard Super Admin - Azioni Rapide
+ Modulo per le azioni rapide del super amministratore
+--}}
+
+
+
+
Azioni Rapide
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/resources/views/components/dashboard/superadmin/recent-activity.blade.php b/resources/views/components/dashboard/superadmin/recent-activity.blade.php
new file mode 100644
index 00000000..10df9b77
--- /dev/null
+++ b/resources/views/components/dashboard/superadmin/recent-activity.blade.php
@@ -0,0 +1,99 @@
+{{--
+ Dashboard Super Admin - Attività Recenti
+ Modulo per le attività recenti del sistema
+--}}
+
+
+
+
+
+
+ {{-- Attività fittizie per ora, da sostituire con dati reali --}}
+
+
+
+
+
+
+ Nuovo utente registrato
+
+
+ mario.rossi@email.com - 2 ore fa
+
+
+
+
+
+
+
+
+
+ Configurazione aggiornata
+
+
+ Impostazioni email - 5 ore fa
+
+
+
+
+
+
+
+
+
+ Backup automatico completato
+
+
+ Database backup - 1 giorno fa
+
+
+
+
+
+
+
+
+
+ Errore di sistema rilevato
+
+
+ Controllare log errori - 2 giorni fa
+
+
+
+
+
+
+ @if(false) {{-- Quando non ci sono attività --}}
+
+
+
+
+
Nessuna attività recente
+
+ @endif
+
+
+
diff --git a/resources/views/components/dashboard/superadmin/stats.blade.php b/resources/views/components/dashboard/superadmin/stats.blade.php
new file mode 100644
index 00000000..fecd7788
--- /dev/null
+++ b/resources/views/components/dashboard/superadmin/stats.blade.php
@@ -0,0 +1,48 @@
+{{--
+ Dashboard Super Admin - Statistiche Principali
+ Modulo per le statistiche del super amministratore
+--}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/resources/views/components/layout/alerts.blade.php b/resources/views/components/layout/alerts.blade.php
new file mode 100644
index 00000000..62cc7b3a
--- /dev/null
+++ b/resources/views/components/layout/alerts.blade.php
@@ -0,0 +1,320 @@
+{{--
+========================================
+ALERT E MESSAGGI MODULARI
+========================================
+Sistema completo di messaggi flash, validazione
+e notifiche con auto-dismiss e stack.
+
+Props:
+- $showValidation (bool): Mostra errori di validazione
+- $showFlash (bool): Mostra messaggi flash
+- $autoDismiss (int): Secondi per auto-dismiss (0 = mai)
+- $position (string): Posizione (top, bottom)
+
+Autore: NetGesCon Development Team
+Data: 2024
+========================================
+--}}
+
+@props([
+ 'showValidation' => true,
+ 'showFlash' => true,
+ 'autoDismiss' => 5,
+ 'position' => 'top'
+])
+
+
+
+ {{-- Errori di Validazione --}}
+ @if($showValidation && $errors->any())
+
+
+
+
+
Errori di validazione
+
+ @foreach ($errors->all() as $error)
+ {{ $error }}
+ @endforeach
+
+
+
+
+
+ @endif
+
+ {{-- Messaggi Flash di Successo --}}
+ @if($showFlash && session('success'))
+
0) data-auto-dismiss="{{ $autoDismiss }}" @endif>
+
+
+
+
Successo!
+
{{ session('success') }}
+
+
+
+
+ @endif
+
+ {{-- Messaggi Flash di Errore --}}
+ @if($showFlash && session('error'))
+
+
+
+
+
Errore!
+
{{ session('error') }}
+
+
+
+
+ @endif
+
+ {{-- Messaggi Flash di Warning --}}
+ @if($showFlash && session('warning'))
+
0) data-auto-dismiss="{{ $autoDismiss }}" @endif>
+
+
+
+
Attenzione!
+
{{ session('warning') }}
+
+
+
+
+ @endif
+
+ {{-- Messaggi Flash Informativi --}}
+ @if($showFlash && session('info'))
+
0) data-auto-dismiss="{{ $autoDismiss }}" @endif>
+
+
+
+
Informazione
+
{{ session('info') }}
+
+
+
+
+ @endif
+
+ {{-- Messaggi Flash Generici (con tipo personalizzato) --}}
+ @if($showFlash && session('message'))
+ @php
+ $messageType = session('message_type', 'info');
+ $icons = [
+ 'success' => 'fas fa-check-circle',
+ 'error' => 'fas fa-times-circle',
+ 'warning' => 'fas fa-exclamation-triangle',
+ 'info' => 'fas fa-info-circle',
+ 'primary' => 'fas fa-star',
+ 'secondary' => 'fas fa-bell'
+ ];
+ $icon = $icons[$messageType] ?? 'fas fa-info-circle';
+ @endphp
+
+
0) data-auto-dismiss="{{ $autoDismiss }}" @endif>
+
+
+
+ {{ session('message') }}
+
+
+
+
+ @endif
+
+ {{-- Container per alert dinamici (JavaScript) --}}
+
+
+
+
+{{-- CSS per alert --}}
+@push('styles')
+
+@endpush
+
+{{-- JavaScript per funzionalità alert --}}
+@push('scripts')
+
+@endpush
diff --git a/resources/views/components/layout/breadcrumb.blade.php b/resources/views/components/layout/breadcrumb.blade.php
new file mode 100644
index 00000000..c5d33485
--- /dev/null
+++ b/resources/views/components/layout/breadcrumb.blade.php
@@ -0,0 +1,234 @@
+{{--
+========================================
+BREADCRUMB MODULARE
+========================================
+Breadcrumb intelligente con auto-generazione basata su route
+e personalizzazione manuale.
+
+Props:
+- $items (array): Items personalizzati del breadcrumb
+- $showHome (bool): Mostra link Home
+- $separator (string): Separatore custom
+- $autoGenerate (bool): Auto-genera da route corrente
+
+Autore: NetGesCon Development Team
+Data: 2024
+========================================
+--}}
+
+@props([
+ 'items' => [],
+ 'showHome' => true,
+ 'separator' => null,
+ 'autoGenerate' => true
+])
+
+@php
+// Auto-genera breadcrumb se non fornito manualmente
+if (empty($items) && $autoGenerate) {
+ $items = generateBreadcrumbFromRoute();
+}
+
+// Funzione helper per generare breadcrumb dalla route corrente
+function generateBreadcrumbFromRoute() {
+ $routeName = request()->route()->getName();
+ $segments = explode('.', $routeName);
+ $breadcrumb = [];
+
+ // Mapping delle route ai nomi visualizzati
+ $routeNames = [
+ 'dashboard' => 'Dashboard',
+ 'admin' => 'Amministrazione',
+ 'superadmin' => 'Super Admin',
+ 'condomino' => 'Area Condomino',
+ 'stabili' => 'Stabili',
+ 'condomini' => 'Condomini',
+ 'tickets' => 'Tickets',
+ 'contabilita' => 'Contabilità',
+ 'fiscale' => 'Fiscale',
+ 'assemblee' => 'Assemblee',
+ 'comunicazioni' => 'Comunicazioni',
+ 'documenti' => 'Documenti',
+ 'fornitori' => 'Fornitori',
+ 'manutentori' => 'Manutentori',
+ 'users' => 'Utenti',
+ 'settings' => 'Impostazioni',
+ 'index' => 'Lista',
+ 'create' => 'Nuovo',
+ 'edit' => 'Modifica',
+ 'show' => 'Dettagli'
+ ];
+
+ $path = '';
+ foreach ($segments as $index => $segment) {
+ $path .= ($index > 0 ? '.' : '') . $segment;
+
+ // Skip alcuni segmenti finali
+ if (in_array($segment, ['index']) && $index === count($segments) - 1) {
+ continue;
+ }
+
+ $name = $routeNames[$segment] ?? ucfirst($segment);
+
+ // Costruisci URL se possibile
+ $url = '#';
+ try {
+ if ($index < count($segments) - 1) {
+ $testRoute = implode('.', array_slice($segments, 0, $index + 1)) . '.index';
+ if (Route::has($testRoute)) {
+ $url = route($testRoute);
+ }
+ }
+ } catch (Exception $e) {
+ // Route non esistente, usa #
+ }
+
+ $breadcrumb[] = [
+ 'name' => $name,
+ 'url' => $url,
+ 'active' => $index === count($segments) - 1
+ ];
+ }
+
+ return $breadcrumb;
+}
+@endphp
+
+@if(!empty($items) || $showHome)
+
+
+
+ {{-- Home link --}}
+ @if($showHome)
+
+
+ Home
+
+
+ @endif
+
+ {{-- Breadcrumb items --}}
+ @foreach($items as $item)
+
+ @if(isset($item['active']) && $item['active'])
+ {{ $item['name'] }}
+ @else
+
+ @if(isset($item['icon']))
+
+ @endif
+ {{ $item['name'] }}
+
+ @endif
+
+ @endforeach
+
+
+
+@endif
+
+{{-- CSS per breadcrumb --}}
+@push('styles')
+
+@endpush
+
+{{-- JavaScript per funzionalità aggiuntive --}}
+@push('scripts')
+
+@endpush
diff --git a/resources/views/components/layout/footer/main.blade.php b/resources/views/components/layout/footer/main.blade.php
new file mode 100644
index 00000000..3635943d
--- /dev/null
+++ b/resources/views/components/layout/footer/main.blade.php
@@ -0,0 +1,95 @@
+{{--
+========================================
+FOOTER FISSO MINIMALE
+========================================
+Footer fisso in basso con pulsanti notifiche e info essenziali.
+--}}
+
+
+
+{{-- CSS Footer --}}
+@push('styles')
+
+@endpush
+
+{{-- Script Footer --}}
+@push('scripts')
+
+@endpush
diff --git a/resources/views/components/layout/footer/public.blade.php b/resources/views/components/layout/footer/public.blade.php
new file mode 100644
index 00000000..72baf887
--- /dev/null
+++ b/resources/views/components/layout/footer/public.blade.php
@@ -0,0 +1,190 @@
+{{--
+========================================
+FOOTER PUBBLICO NETGESCON
+========================================
+Footer informativo e professionale per le pagine pubbliche
+con informazioni aziendali, contatti e link utili.
+
+Utilizzo: Per pagine login, guest, pubbliche
+Autore: NetGesCon Development Team
+Data: 2025-07-13
+========================================
+--}}
+
+
+
+{{-- JavaScript per i link --}}
+
+
+{{-- CSS Specifico --}}
+
diff --git a/resources/views/components/layout/footer/stats.blade.php b/resources/views/components/layout/footer/stats.blade.php
new file mode 100644
index 00000000..8d43e3f6
--- /dev/null
+++ b/resources/views/components/layout/footer/stats.blade.php
@@ -0,0 +1,172 @@
+{{--
+========================================
+STATISTICHE FOOTER
+========================================
+Componente per mostrare statistiche sistema nel footer.
+Solo per amministratori e super-admin.
+
+Autore: NetGesCon Development Team
+Data: 2024
+========================================
+--}}
+
+@php
+// Recupera statistiche di base (sostituire con logica reale)
+$stats = [
+ 'users_online' => 12, // TODO: Implementare conteggio utenti online
+ 'total_stabili' => \App\Models\Stabile::count(),
+ 'tickets_aperti' => 5, // TODO: Implementare conteggio ticket aperti
+ 'system_uptime' => '99.9%' // TODO: Implementare uptime reale
+];
+@endphp
+
+
+
+{{-- CSS per statistiche --}}
+@push('styles')
+
+@endpush
+
+{{-- JavaScript per aggiornamento stats --}}
+@push('scripts')
+
+@endpush
diff --git a/resources/views/components/layout/header/guest-actions.blade.php b/resources/views/components/layout/header/guest-actions.blade.php
new file mode 100644
index 00000000..69ce4fe5
--- /dev/null
+++ b/resources/views/components/layout/header/guest-actions.blade.php
@@ -0,0 +1,83 @@
+{{--
+========================================
+AZIONI GUEST HEADER
+========================================
+Pulsanti per utenti non autenticati (Login/Registrazione).
+
+Autore: NetGesCon Development Team
+Data: 2024
+========================================
+--}}
+
+
+
+ {{-- Pulsante Login --}}
+
+
+ Login
+
+
+ {{-- Pulsante Registrazione --}}
+ @if(Route::has('register'))
+
+
+ Registrati
+
+ @endif
+
+ {{-- Informazioni di contatto --}}
+
+
+
+
+
+
+
+
+
+
+{{-- CSS per azioni guest --}}
+@push('styles')
+
+@endpush
diff --git a/resources/views/components/layout/header/logo.blade.php b/resources/views/components/layout/header/logo.blade.php
new file mode 100644
index 00000000..a4da33d9
--- /dev/null
+++ b/resources/views/components/layout/header/logo.blade.php
@@ -0,0 +1,127 @@
+{{--
+========================================
+LOGO E BRAND MODULARE
+========================================
+Componente logo con dimensioni configurabili
+e toggle per sidebar mobile.
+
+Props:
+- $size (string): sm, md, lg, xl
+- $showToggle (bool): Mostra toggle sidebar
+- $variant (string): normal, compact, icon-only
+
+Autore: NetGesCon Development Team
+Data: 2024
+========================================
+--}}
+
+@props([
+ 'size' => 'md',
+ 'showToggle' => true,
+ 'variant' => 'normal'
+])
+
+@php
+$logoSizes = [
+ 'sm' => ['height' => '32px', 'fontSize' => '1rem'],
+ 'md' => ['height' => '40px', 'fontSize' => '1.25rem'],
+ 'lg' => ['height' => '48px', 'fontSize' => '1.5rem'],
+ 'xl' => ['height' => '56px', 'fontSize' => '1.75rem']
+];
+
+$currentSize = $logoSizes[$size] ?? $logoSizes['md'];
+@endphp
+
+
+
+{{-- CSS specifico per logo --}}
+@push('styles')
+
+@endpush
diff --git a/resources/views/components/layout/header/main.blade.php b/resources/views/components/layout/header/main.blade.php
new file mode 100644
index 00000000..9cd4916f
--- /dev/null
+++ b/resources/views/components/layout/header/main.blade.php
@@ -0,0 +1,170 @@
+{{--
+========================================
+HEADER PRINCIPALE MODULARE
+========================================
+Header principale con logo, barra di ricerca, notifiche e menu utente.
+Completamente configurabile e responsivo.
+
+Props disponibili:
+- $showSearch (bool): Mostra barra di ricerca
+- $showNotifications (bool): Mostra icona notifiche
+- $showUserMenu (bool): Mostra menu utente
+- $logoSize (string): Dimensione logo (sm, md, lg)
+- $variant (string): Variante header (default, minimal, compact)
+
+Autore: NetGesCon Development Team
+Data: 2024
+========================================
+--}}
+
+@props([
+ 'showSearch' => true,
+ 'showNotifications' => true,
+ 'showUserMenu' => true,
+ 'logoSize' => 'md',
+ 'variant' => 'fixed'
+])
+
+
+
+
+
+ {{-- Mobile Menu + Logo --}}
+
+
+ {{-- Ricerca Centrale - Inizia dopo sidebar, 1/3 dello spazio rimanente --}}
+ @if($showSearch)
+
+ @endif
+
+ {{-- Azioni Rapide + Menu Utente --}}
+
+
+
+ {{-- Azioni Rapide --}}
+
+
+
+
+
+
+
+
+
+
+
+
+ {{-- Notifiche --}}
+ @if($showNotifications)
+
+
+
+ 3
+
+
+ @endif
+
+ {{-- Dark Mode --}}
+
+
+
+
+ {{-- Menu Utente --}}
+ @if($showUserMenu && Auth::check())
+
+
+
+ @endif
+
+
+
+
+
+
+
+{{-- CSS per pulsanti uniformi --}}
+@push('styles')
+
+@endpush
diff --git a/resources/views/components/layout/header/notifications.blade.php b/resources/views/components/layout/header/notifications.blade.php
new file mode 100644
index 00000000..f8a69298
--- /dev/null
+++ b/resources/views/components/layout/header/notifications.blade.php
@@ -0,0 +1,314 @@
+{{--
+========================================
+NOTIFICHE HEADER
+========================================
+Componente notifiche con badge contatore,
+dropdown e gestione real-time.
+
+Props:
+- $maxVisible (int): Max notifiche visibili nel dropdown
+- $showBadge (bool): Mostra badge contatore
+- $realTime (bool): Abilita aggiornamenti real-time
+
+Autore: NetGesCon Development Team
+Data: 2024
+========================================
+--}}
+
+@props([
+ 'maxVisible' => 10,
+ 'showBadge' => true,
+ 'realTime' => true
+])
+
+@php
+// Recupera notifiche utente (sostituire con logica reale)
+$notifications = collect([
+ (object)[
+ 'id' => 1,
+ 'type' => 'ticket',
+ 'title' => 'Nuovo ticket aperto',
+ 'message' => 'Ticket #123 - Problema ascensore',
+ 'icon' => 'fas fa-ticket-alt',
+ 'color' => 'warning',
+ 'time' => '2 min fa',
+ 'read' => false,
+ 'url' => '#'
+ ],
+ (object)[
+ 'id' => 2,
+ 'type' => 'system',
+ 'title' => 'Backup completato',
+ 'message' => 'Backup automatico database eseguito con successo',
+ 'icon' => 'fas fa-database',
+ 'color' => 'success',
+ 'time' => '1 ora fa',
+ 'read' => false,
+ 'url' => '#'
+ ]
+]);
+
+$unreadCount = $notifications->where('read', false)->count();
+@endphp
+
+
+
+ {{-- Pulsante notifiche --}}
+
+
+
+
+ {{-- Badge contatore --}}
+ @if($showBadge && $unreadCount > 0)
+
+ {{ $unreadCount > 99 ? '99+' : $unreadCount }}
+ notifiche non lette
+
+ @endif
+
+
+
+ {{-- Dropdown notifiche --}}
+
+
+
+
+{{-- CSS per notifiche --}}
+@push('styles')
+
+@endpush
+
+{{-- JavaScript per notifiche --}}
+@push('scripts')
+
+@endpush
diff --git a/resources/views/components/layout/header/quick-actions.blade.php b/resources/views/components/layout/header/quick-actions.blade.php
new file mode 100644
index 00000000..1cfe1da0
--- /dev/null
+++ b/resources/views/components/layout/header/quick-actions.blade.php
@@ -0,0 +1,124 @@
+{{--
+========================================
+AZIONI RAPIDE HEADER
+========================================
+Componente per le azioni rapide da posizionare nell'header
+tra la barra di ricerca e le notifiche.
+
+Props:
+- $size (string): sm, md, lg
+- $variant (string): buttons, dropdown, mixed
+
+Autore: NetGesCon Development Team
+Data: 2025-07-13
+========================================
+--}}
+
+@props([
+ 'size' => 'md',
+ 'variant' => 'buttons'
+])
+
+
+
+ {{-- Nuovo Condomino --}}
+
+
+ Soggetto
+
+
+ {{-- Nuovo Stabile --}}
+
+
+ Stabile
+
+
+ {{-- Nuovo Ticket --}}
+
+
+ Ticket
+
+
+ {{-- Nuova Gestione --}}
+
+
+ Gestione
+
+
+
+
+{{-- JavaScript per azioni rapide --}}
+@push('scripts')
+
+@endpush
+
+{{-- CSS per azioni rapide --}}
+@push('styles')
+
+@endpush
diff --git a/resources/views/components/layout/header/search-mobile.blade.php b/resources/views/components/layout/header/search-mobile.blade.php
new file mode 100644
index 00000000..d5297d66
--- /dev/null
+++ b/resources/views/components/layout/header/search-mobile.blade.php
@@ -0,0 +1,131 @@
+{{--
+========================================
+RICERCA MOBILE
+========================================
+Versione mobile della ricerca con modal fullscreen.
+
+Autore: NetGesCon Development Team
+Data: 2024
+========================================
+--}}
+
+{{-- Pulsante trigger --}}
+
+
+
+
+{{-- Modal ricerca mobile --}}
+
+
+
+
+
+
+
+
+
+
+ {{-- Filtri rapidi --}}
+
+
Filtri rapidi:
+
+
+ Stabili
+
+
+ Condomini
+
+
+ Documenti
+
+
+ Tickets
+
+
+
+
+ {{-- Pulsante ricerca --}}
+
+ Cerca
+
+
+
+ {{-- Risultati recenti --}}
+
+
+
+
+
+
+{{-- JavaScript per filtri mobili --}}
+@push('scripts')
+
+@endpush
+
+{{-- CSS per filtri mobile --}}
+@push('styles')
+
+@endpush
diff --git a/resources/views/components/layout/header/search.blade.php b/resources/views/components/layout/header/search.blade.php
new file mode 100644
index 00000000..3399ee80
--- /dev/null
+++ b/resources/views/components/layout/header/search.blade.php
@@ -0,0 +1,216 @@
+{{--
+========================================
+BARRA DI RICERCA HEADER
+========================================
+Componente di ricerca globale con autocompletamento
+e filtri intelligenti.
+
+Props:
+- $placeholder (string): Testo placeholder
+- $showFilters (bool): Mostra filtri avanzati
+- $autoFocus (bool): Focus automatico su caricamento
+
+Autore: NetGesCon Development Team
+Data: 2024
+========================================
+--}}
+
+@props([
+ 'placeholder' => 'Cerca in NetGesCon...',
+ 'showFilters' => false,
+ 'autoFocus' => false
+])
+
+
+
+
+ {{-- Input principale compatto --}}
+
+
+
+
+
+
+
+ {{-- Pulsante filtri --}}
+ @if($showFilters)
+
+
+
+ @endif
+
+
+ {{-- Dropdown Filtri --}}
+ @if($showFilters)
+
+ @endif
+
+
+
+ {{-- Risultati in tempo reale (AJAX) --}}
+
+
+
+
+{{-- CSS per ricerca --}}
+@push('styles')
+
+@endpush
+
+{{-- JavaScript per funzionalità ricerca --}}
+@push('scripts')
+
+@endpush
diff --git a/resources/views/components/layout/header/user-dropdown.blade.php b/resources/views/components/layout/header/user-dropdown.blade.php
new file mode 100644
index 00000000..4af597ce
--- /dev/null
+++ b/resources/views/components/layout/header/user-dropdown.blade.php
@@ -0,0 +1,246 @@
+{{--
+========================================
+USER DROPDOWN MENU
+========================================
+Menu dropdown utente con avatar, informazioni utente,
+link di navigazione e logout.
+
+Props:
+- $user: Oggetto utente corrente
+- $showAvatar: Mostra avatar utente
+- $avatarSize: Dimensione avatar (sm, md, lg)
+
+Autore: NetGesCon Development Team
+Data: 2024
+========================================
+--}}
+
+@props([
+ 'user' => null,
+ 'showAvatar' => true,
+ 'avatarSize' => 'sm'
+])
+
+@php
+$currentUser = $user ?? auth()->user();
+$userName = $currentUser ? $currentUser->name : 'Utente';
+$userEmail = $currentUser ? $currentUser->email : '';
+$userRole = $currentUser ? ($currentUser->role ?? 'user') : 'guest';
+
+// Determina dimensioni avatar
+$avatarSizes = [
+ 'sm' => '32px',
+ 'md' => '40px',
+ 'lg' => '48px'
+];
+$avatarDimension = $avatarSizes[$avatarSize] ?? $avatarSizes['sm'];
+@endphp
+
+
+
+
+ {{-- Avatar Utente --}}
+ @if($showAvatar)
+
+ @if($currentUser && $currentUser->avatar)
+
+ @else
+
+ {{ strtoupper(substr($userName, 0, 1)) }}
+
+ @endif
+
+ @endif
+
+ {{-- Nome Utente --}}
+ {{ Str::limit($userName, 15) }}
+
+ {{-- Icona per mobile --}}
+
+
+
+
+
+
+
+
+
diff --git a/resources/views/components/layout/header/user-menu.blade.php b/resources/views/components/layout/header/user-menu.blade.php
new file mode 100644
index 00000000..1fd3a293
--- /dev/null
+++ b/resources/views/components/layout/header/user-menu.blade.php
@@ -0,0 +1,306 @@
+{{--
+========================================
+MENU UTENTE HEADER
+========================================
+Dropdown menu utente con profile, impostazioni, logout.
+
+Props:
+- $showAvatar (bool): Mostra avatar utente
+- $showStatus (bool): Mostra stato online/offline
+- $avatarSize (string): Dimensione avatar (sm, md, lg)
+
+Autore: NetGesCon Development Team
+Data: 2024
+========================================
+--}}
+
+@props([
+ 'showAvatar' => true,
+ 'showStatus' => true,
+ 'avatarSize' => 'md'
+])
+
+@php
+$user = Auth::user();
+$avatarSizes = [
+ 'sm' => '32px',
+ 'md' => '40px',
+ 'lg' => '48px'
+];
+$currentSize = $avatarSizes[$avatarSize] ?? $avatarSizes['md'];
+@endphp
+
+
+
+{{-- CSS per menu utente --}}
+@push('styles')
+
+@endpush
+
+{{-- JavaScript per menu utente --}}
+@push('scripts')
+
+@endpush
diff --git a/resources/views/components/layout/loading-screen.blade.php b/resources/views/components/layout/loading-screen.blade.php
new file mode 100644
index 00000000..c20ec2da
--- /dev/null
+++ b/resources/views/components/layout/loading-screen.blade.php
@@ -0,0 +1,151 @@
+{{--
+========================================
+LOADING SCREEN MODULARE
+========================================
+Schermata di caricamento con animazioni e messaggi.
+
+Autore: NetGesCon Development Team
+Data: 2024
+========================================
+--}}
+
+
+
+
+
+
+
+
+
NetGesCon
+
Caricamento in corso...
+
+
+
+
+{{-- CSS per loader --}}
+@push('styles')
+
+@endpush
+
+{{-- JavaScript per loader --}}
+@push('scripts')
+
+@endpush
diff --git a/resources/views/components/layout/modals.blade.php b/resources/views/components/layout/modals.blade.php
new file mode 100644
index 00000000..b6cd576f
--- /dev/null
+++ b/resources/views/components/layout/modals.blade.php
@@ -0,0 +1,350 @@
+{{--
+========================================
+MODALI GLOBALI
+========================================
+Modali di sistema riutilizzabili in tutta l'applicazione.
+
+Autore: NetGesCon Development Team
+Data: 2024
+========================================
+--}}
+
+{{-- Modal di Conferma Generica --}}
+
+
+
+
+
+
+
+
+
Sei sicuro di voler procedere?
+
+
+
+
+
+
+
+
+{{-- Modal di Eliminazione --}}
+
+
+
+
+
+
+
+
+
Attenzione!
+
Questa azione non può essere annullata.
+
+
+
+ Ho compreso che questa azione è irreversibile
+
+
+
+
+
+
+
+
+
+
+{{-- Modal di Loading --}}
+
+
+
+
+
+ Caricamento...
+
+
Operazione in corso...
+
+
+
+
+
+{{-- Modal Informazioni --}}
+
+
+{{-- Modal Aiuto/Documentazione --}}
+
+
+
+
+
+
+
+
+ Caricamento...
+
+
Caricamento contenuto aiuto...
+
+
+
+
+
+
+
+
+{{-- CSS per modali --}}
+@push('styles')
+
+@endpush
+
+{{-- JavaScript per modali --}}
+@push('scripts')
+
+@endpush
diff --git a/resources/views/components/layout/original.blade.php b/resources/views/components/layout/original.blade.php
new file mode 100644
index 00000000..8e38e2d7
--- /dev/null
+++ b/resources/views/components/layout/original.blade.php
@@ -0,0 +1,386 @@
+{{--
+ LAYOUT ORIGINALE NETGESCON
+ Replica del layout originale semplice e pulito
+--}}
+
+
+
+
+
+
+
{{ $pageTitle ?? 'NetGesCon' }} - Sistema Gestione Condominiale
+
+ {{-- CSS Framework --}}
+
+
+
+
+
+ @stack('styles')
+
+
+ {{-- Header --}}
+
+
+ {{-- Layout principale --}}
+
+ {{-- Sidebar --}}
+
+
+ {{-- Area contenuto --}}
+
+ {{ $slot }}
+
+
+
+ {{-- Footer --}}
+
+
+ {{-- JavaScript --}}
+
+ @stack('scripts')
+
+
diff --git a/resources/views/components/layout/universal-clean.blade.php b/resources/views/components/layout/universal-clean.blade.php
new file mode 100644
index 00000000..06f11744
--- /dev/null
+++ b/resources/views/components/layout/universal-clean.blade.php
@@ -0,0 +1,271 @@
+{{--
+========================================
+LAYOUT UNIVERSALE NETGESCON - VERSIONE PULITA
+========================================
+Layout grid semplificato per NetGesCon con header fisso, sidebar fissa,
+contenuto scrollabile e footer fisso.
+
+Autore: NetGesCon Development Team
+Data: 2025
+========================================
+--}}
+
+
+
+
+
+
+
+
+
{{ $pageTitle ?? 'NetGesCon' }} - Sistema Gestione Condominiale
+
+ {{-- Favicon e Icons --}}
+
+
+
+ {{-- CSS Framework --}}
+
+
+
+ {{-- Layout CSS Pulito --}}
+
+
+ {{-- CSS Specifico per Pagina --}}
+ @stack('styles')
+
+ {{-- Variabili CSS Dinamiche --}}
+
+
+
+
+
+ {{-- Container principale --}}
+
+
+ {{-- Header Modulare --}}
+ @include('components.layout.header.main', [
+ 'showSearch' => $showSearch ?? true,
+ 'showNotifications' => $showNotifications ?? true,
+ 'showUserMenu' => $showUserMenu ?? true
+ ])
+
+ {{-- Sidebar Modulare (solo se necessaria) --}}
+ @if(($showSidebar ?? true) && auth()->check())
+
+ @endif
+
+ {{-- Area Content Principale --}}
+
+
+ {{-- Breadcrumb Modulare --}}
+ @if($showBreadcrumb ?? true)
+ @include('components.layout.breadcrumb')
+ @endif
+
+ {{-- Alert e Messaggi --}}
+ @include('components.layout.alerts')
+
+ {{-- Contenuto Specifico della Pagina --}}
+
+ {{ $slot }}
+
+
+
+
+ {{-- Footer Modulare --}}
+ @include('components.layout.footer.main', [
+ 'showVersion' => $showVersion ?? true,
+ 'showLinks' => $showLinks ?? true,
+ 'showStats' => $showStats ?? false
+ ])
+
+
+
+ {{-- JavaScript Framework --}}
+
+
+
+ {{-- JavaScript Specifico per Pagina --}}
+ @stack('scripts')
+
+ {{-- Toggle sidebar function --}}
+
+
+
+
diff --git a/resources/views/components/layout/universal.blade.php b/resources/views/components/layout/universal.blade.php
new file mode 100644
index 00000000..b7d939ce
--- /dev/null
+++ b/resources/views/components/layout/universal.blade.php
@@ -0,0 +1,481 @@
+{{--
+========================================
+LAYOUT UNIVERSALE NETGESCON
+========================================
+Layout modulare e atomizzato /* Content area scrollabile */
+ .netgescon-content {
+ grid-area: content;
+ padding: 0;
+ margin: 0;
+ background-color: #f8f9fa;
+ overflow-y: auto;
+ overflow-x: hidden;
+ display: flex;
+ flex-direction: column;
+ height: 100%;
+ }
+
+ .content-wrapper {
+ flex: 1;
+ width: 100%;
+ max-width: 100%;
+ padding: 1rem;
+ }
+
+ /* FIX ALLINEAMENTO BOOTSTRAP CONTAINER */
+ .netgescon-content .container-fluid {
+ padding-left: 0 !important;
+ padding-right: 0 !important;
+ margin: 0 !important;
+ max-width: 100% !important;
+ width: 100% !important;
+ }
+
+ /* Fix Bootstrap rows per perfetto allineamento */
+ .netgescon-content .row {
+ margin-left: 0 !important;
+ margin-right: 0 !important;
+ }
+
+ /* Fix Bootstrap columns */
+ .netgescon-content .col,
+ .netgescon-content [class*="col-"] {
+ padding-left: 0.75rem;
+ padding-right: 0.75rem;
+ }
+
+ /* Ensures perfect content alignment */
+ .netgescon-content h1,
+ .netgescon-content h2,
+ .netgescon-content h3 {
+ margin-left: 0;
+ padding-left: 0;
+ }ente.
+Ogni componente è indipendente e configurabile.
+
+Struttura:
+- Header modulare (logo, user info, settings)
+- Sidebar dinamica (basata su ruoli e permessi)
+- Content area modulare
+- Footer modulare
+- Widget system
+
+Autore: NetGesCon Development Team
+Data: 2024
+========================================
+--}}
+
+
+
+
+
+
+
+
+
{{ $pageTitle ?? 'NetGesCon' }} - Sistema Gestione Condominiale
+
+ {{-- Favicon e Icons --}}
+
+
+
+ {{-- CSS Framework --}}
+
+
+
+ {{-- Stili CSS per layout ottimizzato --}}
+
+
+ {{-- CSS Specifico per Pagina --}}
+ @stack('styles')
+
+ {{-- Variabili CSS Dinamiche --}}
+
+
+
+
+
+ {{-- Loading Screen --}}
+ {{-- @include("components.layout.loading-screen") --}}
+
+ {{-- Container principale --}}
+
+
+ {{-- Header Modulare --}}
+ @include('components.layout.header.main', [
+ 'showSearch' => $showSearch ?? true,
+ 'showNotifications' => $showNotifications ?? true,
+ 'showUserMenu' => $showUserMenu ?? true
+ ])
+
+ {{-- Corpo principale con sidebar e content --}}
+
+
+ {{-- Sidebar Modulare (solo se necessaria) --}}
+ @if(($showSidebar ?? true) && auth()->check())
+
+ @endif
+
+ {{-- Area Content Principale --}}
+
+
+ {{-- Breadcrumb Modulare --}}
+ @if($showBreadcrumb ?? true)
+ @include('components.layout.breadcrumb')
+ @endif
+
+ {{-- Alert e Messaggi --}}
+ @include('components.layout.alerts')
+
+ {{-- Contenuto Specifico della Pagina --}}
+
+ {{ $slot ?? '' }}
+ @yield('content')
+
+
+
+
+
+
+ {{-- Footer Modulare --}}
+ @include('components.layout.footer.main', [
+ 'showVersion' => $showVersion ?? true,
+ 'showLinks' => $showLinks ?? true,
+ 'showStats' => $showStats ?? false
+ ])
+
+
+
+ {{-- Modali Globali --}}
+ @include('components.layout.modals')
+
+ {{-- JavaScript Framework --}}
+
+
+
+ {{-- Script per pulizia layout --}}
+
+
+ {{-- JavaScript Specifico per Pagina --}}
+ @stack('scripts')
+
+ {{-- Toggle sidebar function --}}
+
+
+ {{-- Dark mode toggle --}}
+
+
+
+
diff --git a/resources/views/components/menu/sections/condomini.blade.php b/resources/views/components/menu/sections/condomini.blade.php
new file mode 100644
index 00000000..c4b0b0fa
--- /dev/null
+++ b/resources/views/components/menu/sections/condomini.blade.php
@@ -0,0 +1,75 @@
+{{-- Menu Condomini con route reali e contatori --}}
+@php
+ $stats = App\Helpers\SidebarStatsHelper::getStats();
+ $condominiStats = $stats['condomini'] ?? ['totale' => 0, 'proprietari' => 0, 'inquilini' => 0];
+@endphp
+
+
+
+
+
+ Condomini
+ {!! App\Helpers\SidebarStatsHelper::getBadge($condominiStats['totale'], 'info') !!}
+
+
+
+
+
+
+
+
+
+ Tabelle Millesimi
+
+
+
+
+ Rubrica Completa
+
+
+
+
+
+
+
diff --git a/resources/views/components/menu/sections/contabilita.blade.php b/resources/views/components/menu/sections/contabilita.blade.php
new file mode 100644
index 00000000..aa8c1b8d
--- /dev/null
+++ b/resources/views/components/menu/sections/contabilita.blade.php
@@ -0,0 +1,182 @@
+{{--
+========================================
+MENU CONTABILITÀ AVANZATO NETGESCON
+Sistema completo partita doppia multi-gestione
+========================================
+--}}
+@php
+ $stats = App\Helpers\SidebarStatsHelper::getStats();
+ $contabilitaStats = $stats['contabilita'] ?? [
+ 'rate_scadute' => 0,
+ 'incassi_mese' => 0,
+ 'movimenti_mese' => 0,
+ 'saldi_non_quadrati' => 0,
+ 'f24_in_scadenza' => 0,
+ 'riconciliazioni_pending' => 0
+ ];
+@endphp
+
+
+
+ {{-- Header con Logo, Data e News --}}
+ @include('components.menu.sections.header')
+
+ {{-- Notifiche e Quick Actions --}}
+ @include('components.menu.sections.notifications')
+
+ {{-- Menu Navigation principale --}}
+
+
+ {{-- Footer con info utente e versione --}}
+ @include('components.menu.sections.footer')
+
+
+
+{{-- Include CSS e JS esterni per la sidebar --}}
+@push('styles')
+