{{-- BARRA PULSANTINI ICONICI COMPATTI UNIFICATA --}}
@if($selectedAffittoId) @if($selectedAffittoObsoleto) @else @endif @endif
{{-- KPI SUMMARY CARDS --}} @php($kpi = $this->kpiStats)
🏢 Locazioni Attive: {{ $kpi['totale_attivi'] }}
{{ $kpi['totale_locazioni'] }}
Totale unità gestite
💶 Canoni Dovuti 📈
€ {{ number_format($kpi['canoni_dovuti'], 2, ',', '.') }}
Importo complessivo emesso
💳 Canoni Incassati 💰
€ {{ number_format($kpi['canoni_incassati'], 2, ',', '.') }}
Totale quote riscosse
⚖️ Saldo Pendenze {{ $kpi['saldo_pendenze'] > 0.01 ? '⚠️' : '✅' }}
€ {{ number_format($kpi['saldo_pendenze'], 2, ',', '.') }}
{{ $kpi['saldo_pendenze'] > 0.01 ? 'Canoni arretrati residui' : 'Nessun arretrato' }}
🔔 Scadenze / Avvisi {{ $kpi['avvisi_scadenze'] > 0 ? '🔴' : '⚪' }}
{{ $kpi['avvisi_scadenze'] }}
{{ $kpi['avvisi_scadenze'] > 0 ? 'Rinnovi o AdE urgenti' : 'Tutti i contratti in regola' }}
{{-- SELETTORE STABILE & IMMOBILE CORRENTE --}}
🏢 Stabile:
@if(!empty($affittiOptions))
📑 Immobile:
@endif
@if($selectedAffittoId)
@if(!empty($form['unita_immobiliare_id'])) 🏠 Scheda Unità @endif @php($resolvedPersonaId = $this->resolvePersonaIdForSelected()) @if($resolvedPersonaId) 🪪 Anagrafica Conduttore @endif
@endif
{{-- PILL TAB BAR --}}
@php $tabs = [ 'elenco' => ['label' => 'Elenco Immobili a Reddito', 'icon' => '🏢'], 'anagrafica' => ['label' => 'Anagrafica & Catasto Unità', 'icon' => '🏠'], 'banca' => ['label' => 'Banca & Incassi', 'icon' => '🏦'], 'scadenze' => ['label' => 'Contratto & Clausole', 'icon' => '📜'], 'canoni' => ['label' => 'Canoni & Rate', 'icon' => '💶'], 'documenti' => ['label' => 'Documenti & Allegati', 'icon' => '📁'], ]; @endphp @foreach($tabs as $key => $tabData) @endforeach
{{-- TAB 1: ELENCO IMMOBILI A REDDITO --}} @if($tab === 'elenco') @php $rows = collect($affittiList); if (!empty($stabileFilterId)) { $rows = $rows->filter(fn($r) => (int)($r['stabile_id'] ?? 0) === (int)$stabileFilterId); } if (($elencoTipoFiltro ?? 'tutti') === 'ade') { $rows = $rows->filter(function ($row) { $tipoRiga = strtoupper((string)($row['tipo_riga'] ?? '')); $isInternal = str_contains($tipoRiga, 'INT') || str_contains($tipoRiga, 'RIMB') || str_contains($tipoRiga, 'SERV'); if ($isInternal) { return false; } return !empty($row['inizio_contratto']) || !empty($row['prossima_registrazione']); }); } if (($elencoTipoFiltro ?? 'tutti') === 'interni') { $rows = $rows->reject(function ($row) { $tipoRiga = strtoupper((string)($row['tipo_riga'] ?? '')); $isInternal = str_contains($tipoRiga, 'INT') || str_contains($tipoRiga, 'RIMB') || str_contains($tipoRiga, 'SERV'); if ($isInternal) { return false; } return !empty($row['inizio_contratto']) || !empty($row['prossima_registrazione']); }); } if (($elencoStatoContrattoFiltro ?? 'attivi') === 'attivi') { $rows = $rows->reject(fn($row) => (bool)($row['obsoleto'] ?? false)); } if (($elencoStatoContrattoFiltro ?? 'attivi') === 'obsoleti') { $rows = $rows->filter(fn($row) => (bool)($row['obsoleto'] ?? false)); } @endphp
Totale contratti: {{ $rows->count() }}
@forelse($rows as $row) @empty @endforelse
Codice Descrizione Immobile Proprietario / Ente Conduttore / Inquilino Stabile Dovuti Incassati Saldo Avvisi & Scadenze Stato Azioni
{{ $row['codice_appartamento'] ?? '—' }} {{ $row['descrizione_immobile'] ?? '—' }} {{ $row['proprietario_nome'] ?? '—' }} {{ $row['nome_inquilino'] ?? '—' }}
{{ $row['stabile'] ?? '—' }}
{{ $row['stabile_nome'] ?? '' }}
€ {{ number_format((float)($row['dovuti_totale'] ?? 0), 2, ',', '.') }} € {{ number_format((float)($row['pagati_totale'] ?? 0), 2, ',', '.') }} € {{ number_format((float)($row['saldo_totale'] ?? 0), 2, ',', '.') }} @if(!empty($row['warnings'])) @foreach($row['warnings'] as $warning)
⚠️ {{ $warning }}
@endforeach @else Regolare @endif
@if(!empty($row['obsoleto'])) Obsoleto @else Attivo @endif
Nessun immobile a reddito o locazione trovata per i criteri selezionati.
{{-- TAB 2: ANAGRAFICA & CATASTO UNITA --}} @elseif($tab === 'anagrafica')
@php $subTabs = ['anagrafica' => '🏠 Dati Immobile', 'catasto' => '🏛️ Dati Catastali', 'inquilini' => '👥 Inquilini & Conduttori']; @endphp @foreach($subTabs as $key => $label) @endforeach
@if($anagraficaSection === 'catasto')
@endif
@if($anagraficaSection === 'anagrafica')

Unità & Identificativi

@if(!empty($form['unita_immobiliare_id'])) 🏠 Apri @endif

Indirizzo & Stabile

{{ $selectedStabileCode ?? '—' }} {{ $selectedStabileName ? '· ' . $selectedStabileName : '' }}
@elseif($anagraficaSection === 'catasto')

Dati Catasto Consolidati

Collegamento diretto ai dati dell'unità catastale
@else {{-- SEZIONE INQUILINI & CONDUTTORI --}}

Conduttore Principale & Anagrafica Unica

Sincronizzazione diretta con il database centrale delle persone

{{-- SELETTORE RAPIDO ANAGRAFICA UNICA --}}
@php($currentPId = $this->resolvePersonaIdForSelected()) @if($currentPId) 🪪 Apri Scheda Persona @endif
@forelse($inquilini as $i => $inq)
@empty
Nessun conduttore associato. Utilizza il pulsante in alto per aggiungere il primo conduttore.
@endforelse
@endif
{{-- TAB 3: BANCA & INCASSI --}} @elseif($tab === 'banca')

Coordinate Bancarie del Contratto

@if(!empty($form['conto_bancario_id'])) 🏦 Movimenti @endif

Parametri Contabili di Riferimento

{{-- TAB 4: CONTRATTO & CLAUSOLE --}} @elseif($tab === 'scadenze')

Durata Contratto & Adempimenti Fiscali

Bozza Contratto & Clausole

@if($contractDraftPreview) @endif
@forelse($clausoleContratto as $i => $c)
@empty
Nessuna clausola personalizzata impostata.
@endforelse
{{-- TAB 5: CANONI & RATE --}} @elseif($tab === 'canoni')

Canoni e Scadenziario Rate

Dovuti: € {{ number_format($totali['dovuti'] ?? 0, 2, ',', '.') }} · Incassati: € {{ number_format($totali['pagati'] ?? 0, 2, ',', '.') }} · Saldo Residuo: € {{ number_format($totali['saldo'] ?? 0, 2, ',', '.') }}
@forelse($canoniRighe as $r) @php($d = (float)($r['totale_dovuto'] ?? 0)) @php($p = (float)($r['totale_pagato'] ?? 0)) @empty @endforelse
Periodo / Mese Emissione / Scadenza Stato Dovuto Incassato Saldo Progressivo
{{ $r['mese_descrizione'] ?? ($r['mese'] ?? '') }} {{ $r['anno'] ?? '' }}
{{ $r['data_emissione'] ?? '—' }}
Scad: {{ $r['data_scadenza'] ?? '—' }}
@if(($r['stato'] ?? '') === 'scaduto') Scaduto @elseif(($r['stato'] ?? '') === 'da_pagare') Da pagare @elseif(($r['stato'] ?? '') === 'non_emesso') Non emesso @else In regola @endif € {{ number_format($d, 2, ',', '.') }}
€ {{ number_format($p, 2, ',', '.') }}
@if(!empty($r['data_pagamento']))
{{ $r['data_pagamento'] }}
@endif
€ {{ number_format((float)($r['saldo_progressivo'] ?? 0), 2, ',', '.') }}
Nessun canone generato per questo immobile.
{{-- TAB 6: DOCUMENTI & ALLEGATI --}} @elseif($tab === 'documenti')

Carica Documento di Locazione

Archivio Documentale Stabile

I documenti caricati (contratti registrati, ricevute telematiche, comunicazioni di recesso) vengono archiviati nel fascicolo dello stabile.

📁 Apri Documenti Collegati Stabile
@endif