netgescon-day0/resources/views/filament/pages/fornitore/rubrica-clienti.blade.php

97 lines
7.4 KiB
PHP

<x-filament-panels::page>
<div class="space-y-4">
<div class="rounded-xl border bg-white p-4">
<div class="flex flex-wrap items-center justify-between gap-3">
<div>
<div class="text-lg font-semibold">Rubrica clienti fornitore</div>
<div class="text-sm text-gray-600">
@if($this->fornitoreLabel)
Contatti emersi dai ticket e dalle lavorazioni di {{ $this->fornitoreLabel }}, agganciati quando possibile all'anagrafica unica.
@else
Seleziona un fornitore per aprire la rubrica clienti.
@endif
</div>
</div>
<div class="flex flex-wrap gap-2">
<a href="{{ $this->getLavorazioniUrl() }}" class="inline-flex items-center rounded-md bg-gray-800 px-3 py-1.5 text-xs font-medium text-white hover:bg-gray-700">Lavorazioni</a>
<a href="{{ $this->getProdottiUrl() }}" class="inline-flex items-center rounded-md bg-white px-3 py-1.5 text-xs font-medium text-gray-700 ring-1 ring-inset ring-gray-300 hover:bg-gray-50">Prodotti</a>
</div>
</div>
</div>
<div class="rounded-xl border border-slate-200 bg-slate-50 px-4 py-3 text-sm text-slate-700">
Questa vista resta stretta sui contatti del singolo fornitore, ma il punto di verità anagrafico rimane la scheda dell'anagrafica unica. Da qui puoi filtrare i contatti operativi e saltare direttamente sulla scheda condivisa quando il legame esiste gia.
</div>
@if($this->missingAdminContext)
<div class="rounded-xl border border-amber-300 bg-amber-50 p-4 text-sm text-amber-800">
Questa vista richiede un fornitore selezionato.
</div>
@else
<div class="grid gap-4 xl:grid-cols-[2fr,1fr]">
<div class="rounded-xl border bg-white p-4">
<label class="block text-sm">
<span class="mb-1 block font-medium">Cerca contatto</span>
<input type="text" wire:model.live.debounce.300ms="search" class="w-full rounded-lg border-gray-300" placeholder="Nome, telefono, email, stabile" />
</label>
<div class="mt-4 space-y-3">
@forelse($rows as $row)
<div class="rounded-xl border p-4 text-sm shadow-sm">
<div class="flex flex-wrap items-start justify-between gap-3">
<div>
<div class="font-semibold">{{ $row['contatto'] }}</div>
<div class="mt-1 text-xs text-gray-500">Origine: {{ $row['origine'] }} · Interventi: {{ $row['totale_interventi'] }}</div>
@if($row['rubrica_url'])
<div class="mt-1 text-xs text-indigo-700">Anagrafica unica collegata{{ $row['rubrica_label'] !== '' ? ' · ' . $row['rubrica_label'] : '' }}</div>
@endif
<div class="mt-2 text-xs text-gray-500">Stabile: {{ $row['stabile'] }}</div>
<div class="mt-1 text-xs text-gray-500">Ultimo aggiornamento: {{ $row['updated_at'] }}</div>
</div>
<div class="flex flex-wrap gap-2">
@if($row['rubrica_url'])
<a href="{{ $row['rubrica_url'] }}" class="inline-flex items-center rounded-md bg-white px-3 py-1.5 text-xs font-medium text-indigo-700 ring-1 ring-inset ring-indigo-300 hover:bg-indigo-50">Scheda anagrafica</a>
@endif
@if($row['telefono'] !== '')
<a href="tel:{{ preg_replace('/\s+/', '', (string) $row['telefono']) }}" class="inline-flex items-center rounded-md bg-emerald-600 px-3 py-1.5 text-xs font-medium text-white hover:bg-emerald-500">Chiama</a>
@endif
@if($row['email'] !== '')
<a href="mailto:{{ $row['email'] }}" class="inline-flex items-center rounded-md bg-white px-3 py-1.5 text-xs font-medium text-gray-700 ring-1 ring-inset ring-gray-300 hover:bg-gray-50">Email</a>
@endif
<a href="{{ $row['ultima_scheda_url'] }}" class="inline-flex items-center rounded-md bg-primary-600 px-3 py-1.5 text-xs font-medium text-white hover:bg-primary-500">Ultima scheda</a>
</div>
</div>
</div>
@empty
<div class="rounded-xl border border-dashed p-6 text-sm text-gray-500">Nessun contatto disponibile per il filtro corrente.</div>
@endforelse
</div>
</div>
<div class="rounded-xl border bg-white p-4">
<div class="text-sm font-semibold">Google workspace</div>
@if($googleWorkspaceStatus)
<div class="mt-3 space-y-2 text-sm">
<div><span class="font-medium">Stato:</span> {{ $googleWorkspaceStatus['connected'] ? 'Collegato' : 'Non collegato' }}</div>
<div><span class="font-medium">Account:</span> {{ $googleWorkspaceStatus['email'] !== '' ? $googleWorkspaceStatus['email'] : '-' }}</div>
<div><span class="font-medium">Nome:</span> {{ $googleWorkspaceStatus['name'] !== '' ? $googleWorkspaceStatus['name'] : '-' }}</div>
<div><span class="font-medium">Ultimo collegamento:</span> {{ $googleWorkspaceStatus['connected_at'] !== '' ? $googleWorkspaceStatus['connected_at'] : '-' }}</div>
</div>
<div class="mt-3 flex flex-wrap gap-2">
<a href="{{ $this->getGoogleConnectUrl() }}" class="inline-flex items-center rounded-md bg-white px-3 py-1.5 text-xs font-medium text-gray-700 ring-1 ring-inset ring-gray-300 hover:bg-gray-50">Collega / aggiorna Google</a>
@if($googleWorkspaceStatus['connected'])
<form method="POST" action="{{ $this->getGoogleDisconnectUrl() }}">
@csrf
<button type="submit" class="inline-flex items-center rounded-md bg-rose-600 px-3 py-1.5 text-xs font-medium text-white hover:bg-rose-500">Scollega</button>
</form>
@endif
</div>
<div class="mt-3 text-xs text-gray-500">Questo blocco prepara l'uso fornitore di rubrica, calendario e Drive sullo stesso backend Google gia presente nel progetto.</div>
@else
<div class="mt-3 text-sm text-gray-500">Fornitore senza amministratore collegato: stato Google non disponibile.</div>
@endif
</div>
</div>
@endif
</div>
</x-filament-panels::page>