netgescon-day0/resources/views/filament/components/stabile-attivo.blade.php

53 lines
2.0 KiB
PHP

@php
/** @var \Illuminate\Support\Collection<int, \App\Models\Stabile> $stabili */
/** @var \App\Models\Stabile|null $stabileAttivo */
$activeId = $stabileAttivo?->id;
$stabileLabel = static function (?\App\Models\Stabile $stabile): string {
if (! $stabile) {
return '';
}
$primary = trim((string) ($stabile->codice_operatore ?: $stabile->codice_stabile));
$mnemo = trim((string) ($stabile->cod_stabile ?? ''));
if ($mnemo !== '' && $primary !== '' && $mnemo !== $primary) {
return $mnemo . ' · ' . $primary;
}
return $primary !== '' ? $primary : ($mnemo !== '' ? $mnemo : ('#' . (string) $stabile->id));
};
@endphp
<div class="flex items-center gap-3">
@if($stabileAttivo)
<div class="hidden md:flex flex-col leading-tight">
<div class="text-xs text-gray-500">Stabile attivo</div>
<div class="text-sm font-medium">
{{ $stabileLabel($stabileAttivo) }} {{ $stabileAttivo->denominazione }}
</div>
<div class="text-xs text-gray-500">
Ordinari: {{ ($stabileAttivo->numero_rate_ordinarie ?? 0) > 0 ? 'Sì' : 'No' }} ·
Riscaldamento: {{ (bool) ($stabileAttivo->riscaldamento_centralizzato ?? false) ? 'Sì' : 'No' }}
</div>
</div>
@endif
@if($stabili->count() > 1)
<form method="POST" action="{{ route('admin-filament.stabile-attivo') }}" class="flex items-center">
@csrf
<select
name="stabile_id"
class="fi-input block w-full min-w-[220px]"
onchange="this.form.submit()"
>
@foreach($stabili as $stabile)
<option value="{{ $stabile->id }}" @selected($activeId === $stabile->id)>
{{ $stabileLabel($stabile) }} {{ $stabile->denominazione }}
</option>
@endforeach
</select>
</form>
@endif
</div>