netgescon-day0/resources/views/filament/pages/condomini/stabile.blade.php

156 lines
11 KiB
PHP
Executable File

<x-filament-panels::page>
<div class="w-full max-w-full space-y-4 px-2 lg:px-6">
{{-- BARRA NAVIGAZIONE UNIFICATA E COMPATTA --}}
<div class="mb-2 flex flex-wrap items-center justify-between gap-2 rounded-xl border border-slate-200 bg-white/80 p-2 shadow-xs backdrop-blur-xs dark:border-slate-800 dark:bg-slate-900/80">
<div class="flex flex-wrap items-center gap-1.5">
<a href="{{ \App\Filament\Pages\Gescon\StabiliArchivio::getUrl(panel: 'admin-filament') }}"
class="inline-flex items-center gap-1.5 rounded-lg border border-slate-200 bg-slate-50 px-2.5 py-1.5 text-xs font-semibold text-slate-700 transition hover:bg-slate-100 hover:text-slate-900 dark:border-slate-700 dark:bg-slate-800 dark:text-slate-200">
<span>🏢</span>
<span>Elenco Stabili</span>
</a>
<a href="{{ \App\Filament\Pages\Condomini\NominativiStabile::getUrl(panel: 'admin-filament') }}"
class="inline-flex items-center gap-1.5 rounded-lg border border-slate-200 bg-slate-50 px-2.5 py-1.5 text-xs font-semibold text-slate-700 transition hover:bg-slate-100 hover:text-slate-900 dark:border-slate-700 dark:bg-slate-800 dark:text-slate-200">
<span>👥</span>
<span>Elenco Nominativi</span>
</a>
<a href="{{ \App\Filament\Pages\UnitaImmobiliarePage::getUrl(panel: 'admin-filament') }}"
class="inline-flex items-center gap-1.5 rounded-lg border border-slate-200 bg-slate-50 px-2.5 py-1.5 text-xs font-semibold text-slate-700 transition hover:bg-slate-100 hover:text-slate-900 dark:border-slate-700 dark:bg-slate-800 dark:text-slate-200">
<span>🏠</span>
<span>Unità Immobiliare</span>
</a>
<a href="{{ \App\Filament\Pages\Condomini\TabelleMillesimaliArchivio::getUrl(panel: 'admin-filament') }}"
class="inline-flex items-center gap-1.5 rounded-lg border border-slate-200 bg-slate-50 px-2.5 py-1.5 text-xs font-semibold text-slate-700 transition hover:bg-slate-100 hover:text-slate-900 dark:border-slate-700 dark:bg-slate-800 dark:text-slate-200">
<span>📐</span>
<span>Millesimi</span>
</a>
<a href="{{ \App\Filament\Pages\Condomini\CatastoHub::getUrl(panel: 'admin-filament') }}"
class="inline-flex items-center gap-1.5 rounded-lg border border-slate-200 bg-slate-50 px-2.5 py-1.5 text-xs font-semibold text-slate-700 transition hover:bg-slate-100 hover:text-slate-900 dark:border-slate-700 dark:bg-slate-800 dark:text-slate-200">
<span>🏛️</span>
<span>Catasto</span>
</a>
<span class="inline-flex items-center gap-1.5 rounded-lg border border-indigo-200 bg-indigo-50 px-2.5 py-1.5 text-xs font-semibold text-indigo-700 shadow-xs ring-2 ring-indigo-500/20 dark:border-indigo-800 dark:bg-indigo-900/30 dark:text-indigo-300">
<span>⚙️</span>
<span>Scheda Stabile</span>
</span>
</div>
@if($stabile)
<div class="flex items-center gap-2 text-xs">
<span class="inline-flex items-center gap-1 rounded-md bg-emerald-50 px-2.5 py-1 font-bold text-emerald-700 border border-emerald-200 dark:bg-emerald-950/40 dark:text-emerald-300 dark:border-emerald-800">
<span class="h-2 w-2 rounded-full bg-emerald-500 animate-pulse"></span>
Stabile {{ $stabile->codice_stabile ?: $stabile->id }}
</span>
</div>
@endif
</div>
@if(! $stabile)
<div class="rounded-xl border border-amber-200 bg-amber-50 p-6 text-amber-800 shadow-xs dark:border-amber-800 dark:bg-amber-950/40 dark:text-amber-300">
<div class="flex items-center gap-3">
<span class="text-2xl">⚠️</span>
<div>
<h3 class="font-bold text-base">Nessuno stabile attivo selezionato</h3>
<p class="text-sm mt-0.5">Seleziona uno stabile dall'elenco stabili o dal cruscotto per visualizzarne i dettagli di gestione.</p>
</div>
</div>
</div>
@else
{{-- HERO HEADER CARD DELLO STABILE --}}
<div class="rounded-2xl border border-slate-200 bg-gradient-to-r from-slate-900 via-slate-800 to-indigo-950 p-6 text-white shadow-sm dark:border-slate-800">
<div class="flex flex-col gap-4 md:flex-row md:items-center md:justify-between">
<div class="space-y-2">
<div class="flex flex-wrap items-center gap-2.5">
<h2 class="text-2xl font-black tracking-tight text-white">
{{ $stabile->denominazione ?: ('Stabile #' . $stabile->id) }}
</h2>
<span class="rounded-lg bg-white/10 px-2.5 py-1 text-xs font-mono font-bold text-amber-300 backdrop-blur-xs border border-white/10">
COD. {{ $stabile->codice_stabile ?: ($stabile->codice_operatore ?: '—') }}
</span>
@if($stabile->codice_fiscale)
<span class="rounded-lg bg-white/10 px-2.5 py-1 text-xs font-mono text-slate-200 backdrop-blur-xs border border-white/10">
CF: {{ $stabile->codice_fiscale }}
</span>
@endif
</div>
<div class="flex flex-wrap items-center gap-x-4 gap-y-1 text-xs text-slate-300">
@if($stabile->indirizzo)
<span class="flex items-center gap-1">
<span>📍</span>
<span>{{ $stabile->indirizzo }}</span>
</span>
@endif
@if($stabile->citta)
<span>· {{ $stabile->cap ? $stabile->cap . ' ' : '' }}{{ $stabile->citta }} ({{ $stabile->provincia ?? 'RM' }})</span>
@endif
@if($stabile->foglio && $stabile->particella_catasto)
<span class="rounded-md bg-indigo-500/20 px-2 py-0.5 text-indigo-200 border border-indigo-500/30">
Catasto: Fg. {{ $stabile->foglio }}, Part. {{ $stabile->particella_catasto }}
</span>
@endif
</div>
</div>
{{-- QUICK ACTIONS PILLS --}}
<div class="flex flex-wrap items-center gap-2">
<a href="{{ \App\Filament\Pages\Contabilita\RateEmesseArchivio::getUrl(panel: 'admin-filament') }}"
class="inline-flex items-center gap-1.5 rounded-xl border border-white/20 bg-white/10 px-3 py-2 text-xs font-bold text-white shadow-xs backdrop-blur-xs transition hover:bg-white/20">
<span>💶</span>
<span>Rate emesse</span>
</a>
<a href="{{ \App\Filament\Pages\Contabilita\CasseBancheMovimenti::getUrl(panel: 'admin-filament') }}"
class="inline-flex items-center gap-1.5 rounded-xl border border-white/20 bg-white/10 px-3 py-2 text-xs font-bold text-white shadow-xs backdrop-blur-xs transition hover:bg-white/20">
<span>🏦</span>
<span>Movimenti bancari</span>
</a>
<a href="{{ \App\Filament\Pages\Condomini\CatastoHub::getUrl(panel: 'admin-filament') }}"
class="inline-flex items-center gap-1.5 rounded-xl border border-amber-400/30 bg-amber-500/20 px-3 py-2 text-xs font-bold text-amber-200 shadow-xs backdrop-blur-xs transition hover:bg-amber-500/30">
<span>🏛️</span>
<span>HUB Catasto</span>
</a>
</div>
</div>
</div>
{{-- TAB NAVIGATION PILLS BAR --}}
@php
$tabIcons = [
'dati-generali' => '📋',
'unita-immobiliari' => '🏠',
'palazzine' => '🏢',
'assicurazioni' => '🛡️',
'tabelle-millesimali' => '📐',
'rate-emesse' => '💶',
'gestioni' => '📅',
'documentazione' => '📁',
'posta-ufficiale' => '✉️',
'protocollo-comunicazioni' => '📜',
'dati-bancari' => '🏦',
];
@endphp
<div class="rounded-2xl border border-slate-200 bg-white p-2 shadow-xs dark:border-slate-800 dark:bg-slate-900">
<nav class="flex flex-wrap gap-1.5" aria-label="Tabs">
@foreach($this->tabs() as $key => $label)
@php
$active = $this->tab === $key;
$icon = $tabIcons[$key] ?? '📌';
@endphp
<a
href="{{ \App\Filament\Pages\Condomini\StabilePage::getUrl(panel: 'admin-filament') . '?tab=' . urlencode($key) }}"
class="inline-flex items-center gap-1.5 rounded-xl px-3.5 py-2 text-xs font-bold transition {{ $active ? 'border border-indigo-300 bg-indigo-600 text-white shadow-xs dark:bg-indigo-600' : 'border border-slate-200/80 bg-slate-50 text-slate-700 hover:bg-slate-100 hover:text-slate-900 dark:border-slate-700 dark:bg-slate-800/80 dark:text-slate-300 dark:hover:bg-slate-800' }}"
>
<span>{{ $icon }}</span>
<span>{{ $label }}</span>
</a>
@endforeach
</nav>
</div>
{{-- TAB CONTENT CONTAINER --}}
<div class="rounded-2xl border border-slate-200 bg-white p-6 shadow-xs dark:border-slate-800 dark:bg-slate-900">
@include($this->tabView(), ['stabile' => $stabile])
</div>
@endif
</div>
</x-filament-panels::page>