107 lines
5.5 KiB
PHP
107 lines
5.5 KiB
PHP
@extends('admin.layouts.netgescon')
|
|
|
|
@section('title', 'Palazzine dello stabile')
|
|
|
|
@section('content')
|
|
<div class="container-fluid">
|
|
<div class="d-flex flex-column flex-md-row justify-content-between align-items-md-center mb-4">
|
|
<div class="mb-3 mb-md-0">
|
|
<h1 class="h2 mb-2">
|
|
<i class="fas fa-city me-3 text-primary"></i>
|
|
Palazzine dello stabile
|
|
<span class="text-muted">{{ $stabile->denominazione ?? $stabile->codice_stabile }}</span>
|
|
</h1>
|
|
<p class="text-muted mb-0">
|
|
<i class="fas fa-map-marker-alt me-2"></i>
|
|
{{ $stabile->indirizzo ?? 'Indirizzo non disponibile' }}
|
|
</p>
|
|
</div>
|
|
<div class="d-flex gap-2">
|
|
<a href="{{ route('admin.stabili.show', ['stabile' => $stabile->id]) }}" class="btn btn-outline-secondary">
|
|
<i class="fas fa-arrow-left me-2"></i>
|
|
Torna allo stabile
|
|
</a>
|
|
<a href="{{ route('admin.palazzine.create', ['stabile_id' => $stabile->id]) }}" class="btn btn-netgescon-primary">
|
|
<i class="fas fa-plus me-2"></i>
|
|
Nuova Palazzina
|
|
</a>
|
|
</div>
|
|
</div>
|
|
|
|
@if($palazzine->isEmpty())
|
|
<div class="card shadow-sm border-0">
|
|
<div class="card-body py-5 text-center text-muted">
|
|
<i class="fas fa-building fa-3x mb-3"></i>
|
|
<p class="mb-2">Non ci sono ancora palazzine censite per questo stabile.</p>
|
|
<p class="small">Usa il pulsante "Nuova Palazzina" per iniziare oppure importa i dati dallo strumento Gescon.</p>
|
|
</div>
|
|
</div>
|
|
@else
|
|
<div class="row g-4">
|
|
@foreach($palazzine as $palazzina)
|
|
@php
|
|
$totaleUnita = $palazzina->unitaImmobiliari->count();
|
|
$unitaOccupate = $palazzina->unitaImmobiliari->whereIn('stato_occupazione', ['occupata_proprietario', 'occupata_inquilino'])->count();
|
|
$unitaLibere = $palazzina->unitaImmobiliari->where('stato_occupazione', 'libera')->count();
|
|
@endphp
|
|
<div class="col-12 col-md-6 col-xl-4">
|
|
<div class="card h-100 shadow-sm border-0">
|
|
<div class="card-body d-flex flex-column">
|
|
<div class="d-flex justify-content-between align-items-start mb-3">
|
|
<div>
|
|
<h2 class="h5 mb-1">
|
|
<i class="fas fa-building me-2 text-primary"></i>
|
|
Palazzina {{ $palazzina->codice_palazzina ?? '-' }}
|
|
</h2>
|
|
<p class="text-muted mb-0">{{ $palazzina->denominazione ?? 'Senza denominazione' }}</p>
|
|
</div>
|
|
<span class="badge bg-primary-subtle text-primary">{{ $totaleUnita }} unità</span>
|
|
</div>
|
|
|
|
<div class="row text-center mb-3 g-2">
|
|
<div class="col">
|
|
<div class="p-2 bg-light rounded">
|
|
<p class="text-muted small mb-1">Occupate</p>
|
|
<p class="fw-semibold text-success mb-0">{{ $unitaOccupate }}</p>
|
|
</div>
|
|
</div>
|
|
<div class="col">
|
|
<div class="p-2 bg-light rounded">
|
|
<p class="text-muted small mb-1">Libere</p>
|
|
<p class="fw-semibold text-warning mb-0">{{ $unitaLibere }}</p>
|
|
</div>
|
|
</div>
|
|
<div class="col">
|
|
<div class="p-2 bg-light rounded">
|
|
<p class="text-muted small mb-1">Scale</p>
|
|
<p class="fw-semibold text-info mb-0">{{ $palazzina->numero_scale ?? '-' }}</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="mt-auto d-flex justify-content-between align-items-center">
|
|
<span class="text-muted small">
|
|
Aggiornata {{ optional($palazzina->updated_at)->diffForHumans() ?? 'N/D' }}
|
|
</span>
|
|
<div class="btn-group">
|
|
<a href="{{ route('admin.palazzine.show', $palazzina) }}" class="btn btn-sm btn-outline-primary">
|
|
<i class="fas fa-eye me-1"></i>Dettagli
|
|
</a>
|
|
<a href="{{ route('admin.palazzine.edit', $palazzina) }}" class="btn btn-sm btn-outline-secondary">
|
|
<i class="fas fa-edit me-1"></i>Modifica
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@endforeach
|
|
</div>
|
|
|
|
<div class="mt-4">
|
|
{{ $palazzine->withQueryString()->links() }}
|
|
</div>
|
|
@endif
|
|
</div>
|
|
@endsection
|