netgescon-master/netgescon-laravel/resources/views/admin/tickets/index.blade.php

148 lines
8.6 KiB
PHP

<x-layout.universal pageTitle="NetGesCon" showBreadcrumb="true" showSidebar="true">
<div class="container-fluid">
<div class="row">
<div class="col-12">
<div class="card border-0 shadow-sm">
<div class="card-header bg-primary text-white">
<h4 class="mb-0">
<i class="fas fa-ticket-alt me-2"></i>
{{ __('Gestione Tickets') }}
</h4>
</div>
<div class="card-body">
<div class="d-flex justify-content-between align-items-center mb-4">
<h5 class="text-dark mb-0">Lista Tickets</h5>
<a href="{{ route('admin.tickets.create') }}"
class="btn btn-primary">
<i class="fas fa-plus me-1"></i>
Nuovo Ticket
</a>
</div>
<!-- Tabella Tickets -->
<div class="table-responsive">
<table class="table table-striped table-hover">
<thead class="table-dark">
<tr>
<th scope="col">ID</th>
<th scope="col">TITOLO</th>
<th scope="col">STABILE</th>
<th scope="col">STATO</th>
<th scope="col">PRIORITÀ</th>
<th scope="col">DATA APERTURA</th>
<th scope="col">AZIONI</th>
</tr>
</thead>
<tbody>
@forelse($tickets as $ticket)
<tr>
<td>{{ $ticket->id }}</td>
<td><strong>{{ $ticket->titolo }}</strong></td>
<td>{{ $ticket->stabile->denominazione ?? '-' }}</td>
<td>
<span class="badge
@switch($ticket->stato)
@case('Aperto')
bg-danger
@break
@case('Preso in Carico')
bg-warning
@break
@case('In Lavorazione')
bg-primary
@break
@case('Risolto')
bg-success
@break
@case('Chiuso')
bg-secondary
@break
@default
bg-secondary
@endswitch
">
{{ $ticket->stato }}
</span>
</td>
<td>
<span class="badge
@switch($ticket->priorita)
@case('Bassa')
bg-info
@break
@case('Media')
bg-warning
@break
@case('Alta')
bg-danger
@break
@case('Urgente')
bg-dark
@break
@default
bg-secondary
@endswitch
">
{{ $ticket->priorita }}
</span>
</td>
<td>{{ $ticket->data_apertura ? $ticket->data_apertura->format('d/m/Y H:i') : '-' }}</td>
<td>
<div class="btn-group" role="group">
<a href="{{ route('admin.tickets.show', $ticket) }}"
class="btn btn-sm btn-outline-primary"
title="Visualizza">
<i class="fas fa-eye"></i>
</a>
<a href="{{ route('admin.tickets.edit', $ticket) }}"
class="btn btn-sm btn-outline-secondary"
title="Modifica">
<i class="fas fa-edit"></i>
</a>
<form action="{{ route('admin.tickets.destroy', $ticket) }}"
method="POST"
class="d-inline"
onsubmit="return confirm('Sei sicuro di voler eliminare questo ticket?')">
@csrf
@method('DELETE')
<button type="submit"
class="btn btn-sm btn-outline-danger"
title="Elimina">
<i class="fas fa-trash"></i>
</button>
</form>
</div>
</td>
</tr>
@empty
<tr>
<td colspan="7" class="text-center py-4">
<div class="d-flex flex-column align-items-center">
<i class="fas fa-ticket-alt fa-3x text-muted mb-3"></i>
<h5 class="text-muted">Nessun ticket trovato</h5>
<p class="text-muted">Non ci sono ticket nel sistema al momento.</p>
<a href="{{ route('admin.tickets.create') }}"
class="btn btn-primary">
<i class="fas fa-plus me-1"></i>
Crea il primo ticket
</a>
</div>
</td>
</tr>
@endforelse
</tbody>
</table>
</div>
<!-- Paginazione -->
<div class="mt-4">
{{ $tickets->links() }}
</div>
</div>
</div>
</div>
</div>
</div>
</x-layout.universal>