191 lines
8.6 KiB
PHP
Executable File
191 lines
8.6 KiB
PHP
Executable File
@extends('admin.layouts.netgescon')
|
|
|
|
@section('page-title', 'Dashboard Stabili')
|
|
|
|
@section('content')
|
|
<div class="space-y-8 netgescon-fade-in">
|
|
<!-- Header -->
|
|
<div class="netgescon-card">
|
|
<div class="flex items-center justify-between">
|
|
<div>
|
|
<h2 class="netgescon-title">
|
|
<i class="fas fa-building text-green-500 mr-3"></i>
|
|
Dashboard Stabili
|
|
</h2>
|
|
<p class="netgescon-text mt-2">
|
|
Panoramica completa di tutti gli stabili e unità immobiliari
|
|
</p>
|
|
</div>
|
|
<div class="hidden md:block">
|
|
<a href="{{ route('admin.stabili.index') }}" class="netgescon-btn netgescon-btn-primary">
|
|
<i class="fas fa-list mr-2"></i>
|
|
Gestisci Stabili
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Statistiche principali -->
|
|
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6">
|
|
<!-- Totale Stabili -->
|
|
<div class="netgescon-card">
|
|
<div class="flex items-center">
|
|
<div class="flex-1">
|
|
<p class="text-sm font-medium text-gray-600">Totale Stabili</p>
|
|
<p class="text-3xl font-bold netgescon-text">{{ $statistiche['totale_stabili'] }}</p>
|
|
</div>
|
|
<div class="p-3 bg-green-100 rounded-full">
|
|
<i class="fas fa-building text-green-600 text-xl"></i>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Stabili Attivi -->
|
|
<div class="netgescon-card">
|
|
<div class="flex items-center">
|
|
<div class="flex-1">
|
|
<p class="text-sm font-medium text-gray-600">Stabili Attivi</p>
|
|
<p class="text-3xl font-bold netgescon-text">{{ $statistiche['stabili_attivi'] }}</p>
|
|
</div>
|
|
<div class="p-3 bg-blue-100 rounded-full">
|
|
<i class="fas fa-check-circle text-blue-600 text-xl"></i>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Totale Unità -->
|
|
<div class="netgescon-card">
|
|
<div class="flex items-center">
|
|
<div class="flex-1">
|
|
<p class="text-sm font-medium text-gray-600">Totale Unità</p>
|
|
<p class="text-3xl font-bold netgescon-text">{{ $statistiche['totale_unita'] }}</p>
|
|
</div>
|
|
<div class="p-3 bg-purple-100 rounded-full">
|
|
<i class="fas fa-home text-purple-600 text-xl"></i>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Unità Occupate -->
|
|
<div class="netgescon-card">
|
|
<div class="flex items-center">
|
|
<div class="flex-1">
|
|
<p class="text-sm font-medium text-gray-600">Unità Occupate</p>
|
|
<p class="text-3xl font-bold netgescon-text">{{ $statistiche['unita_occupate'] }}</p>
|
|
<p class="text-sm text-gray-500">{{ $statistiche['totale_unita'] > 0 ? round(($statistiche['unita_occupate'] / $statistiche['totale_unita']) * 100, 1) : 0 }}% del totale</p>
|
|
</div>
|
|
<div class="p-3 bg-yellow-100 rounded-full">
|
|
<i class="fas fa-users text-yellow-600 text-xl"></i>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="grid grid-cols-1 lg:grid-cols-2 gap-6">
|
|
<!-- Stabili Recenti -->
|
|
<div class="netgescon-card">
|
|
<div class="netgescon-card-header">
|
|
<h3 class="netgescon-card-title">
|
|
<i class="fas fa-plus-circle text-green-500 mr-2"></i>
|
|
Stabili Aggiunti di Recente
|
|
</h3>
|
|
</div>
|
|
<div class="netgescon-card-body">
|
|
@if($stabili_recenti->count())
|
|
<div class="space-y-3">
|
|
@foreach($stabili_recenti as $stabile)
|
|
<div class="flex items-center justify-between p-3 bg-gray-50 rounded-lg">
|
|
<div>
|
|
<h4 class="font-semibold netgescon-text">{{ $stabile->denominazione }}</h4>
|
|
<p class="text-sm text-gray-600">{{ $stabile->indirizzo }}</p>
|
|
<p class="text-xs text-gray-500">Aggiunto: {{ $stabile->created_at->format('d/m/Y') }}</p>
|
|
</div>
|
|
<div class="text-right">
|
|
<span class="netgescon-badge {{ $stabile->attivo ? 'netgescon-badge-green' : 'netgescon-badge-gray' }}">
|
|
{{ $stabile->attivo ? 'Attivo' : 'Non Attivo' }}
|
|
</span>
|
|
</div>
|
|
</div>
|
|
@endforeach
|
|
</div>
|
|
@else
|
|
<div class="text-center py-8">
|
|
<i class="fas fa-building text-gray-300 text-4xl mb-4"></i>
|
|
<p class="netgescon-text-muted">Nessun stabile disponibile</p>
|
|
</div>
|
|
@endif
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Unità Immobiliari Recenti -->
|
|
<div class="netgescon-card">
|
|
<div class="netgescon-card-header">
|
|
<h3 class="netgescon-card-title">
|
|
<i class="fas fa-home text-purple-500 mr-2"></i>
|
|
Unità Immobiliari Recenti
|
|
</h3>
|
|
</div>
|
|
<div class="netgescon-card-body">
|
|
@if($unita_recenti->count())
|
|
<div class="space-y-3">
|
|
@foreach($unita_recenti as $unita)
|
|
<div class="flex items-center justify-between p-3 bg-gray-50 rounded-lg">
|
|
<div>
|
|
<h4 class="font-semibold netgescon-text">{{ $unita->denominazione }}</h4>
|
|
<p class="text-sm text-gray-600">{{ $unita->stabile->denominazione ?? 'N/A' }}</p>
|
|
<p class="text-xs text-gray-500">Piano: {{ $unita->piano ?? 'N/A' }} - Int: {{ $unita->interno ?? 'N/A' }}</p>
|
|
</div>
|
|
<div class="text-right">
|
|
<span class="netgescon-badge {{ $unita->isOccupata() ? 'netgescon-badge-blue' : 'netgescon-badge-gray' }}">
|
|
{{ $unita->isOccupata() ? 'Occupata' : 'Libera' }}
|
|
</span>
|
|
</div>
|
|
</div>
|
|
@endforeach
|
|
</div>
|
|
@else
|
|
<div class="text-center py-8">
|
|
<i class="fas fa-home text-gray-300 text-4xl mb-4"></i>
|
|
<p class="netgescon-text-muted">Nessuna unità immobiliare disponibile</p>
|
|
</div>
|
|
@endif
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Azioni Rapide -->
|
|
<div class="netgescon-card">
|
|
<div class="netgescon-card-header">
|
|
<h3 class="netgescon-card-title">
|
|
<i class="fas fa-bolt text-yellow-500 mr-2"></i>
|
|
Azioni Rapide
|
|
</h3>
|
|
</div>
|
|
<div class="netgescon-card-body">
|
|
<div class="grid grid-cols-1 md:grid-cols-3 lg:grid-cols-5 gap-4">
|
|
<a href="{{ route('admin.stabili.index') }}" class="netgescon-btn netgescon-btn-outline flex flex-col items-center p-4">
|
|
<i class="fas fa-list text-2xl mb-2"></i>
|
|
<span>Elenco Stabili</span>
|
|
</a>
|
|
<a href="#" class="netgescon-btn netgescon-btn-outline flex flex-col items-center p-4">
|
|
<i class="fas fa-plus text-2xl mb-2"></i>
|
|
<span>Nuovo Stabile</span>
|
|
</a>
|
|
<a href="#" class="netgescon-btn netgescon-btn-outline flex flex-col items-center p-4">
|
|
<i class="fas fa-home text-2xl mb-2"></i>
|
|
<span>Gestisci Unità</span>
|
|
</a>
|
|
<a href="#" class="netgescon-btn netgescon-btn-outline flex flex-col items-center p-4">
|
|
<i class="fas fa-tools text-2xl mb-2"></i>
|
|
<span>Manutenzioni</span>
|
|
</a>
|
|
<a href="#" class="netgescon-btn netgescon-btn-outline flex flex-col items-center p-4">
|
|
<i class="fas fa-chart-bar text-2xl mb-2"></i>
|
|
<span>Statistiche</span>
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@endsection
|