@extends('admin.layouts.app') @section('title', 'Proses Tiket') @section('content')
Kembali ke Daftar Tiket
Tiket #{{ $ticket->ticket_number }} {{ $ticket->status === 'open' ? 'Dibuka' : ($ticket->status === 'in_progress' ? 'Dalam Proses' : ($ticket->status === 'pending' ? 'Menunggu' : ($ticket->status === 'closed' ? 'Ditutup' : 'Selesai'))) }} Prioritas {{ $ticket->priority === 'low' ? 'Rendah' : ($ticket->priority === 'medium' ? 'Sedang' : 'Tinggi') }}
{{ $ticket->created_at->format('d M Y H:i') }}

Kategori

{{ ucfirst($ticket->category) }}

Departemen

{{ $ticket->department }}

Gedung

{{ $ticket->building }}

Lokasi

{{ $ticket->location }}

Foto Tiket

@if($ticket->initialPhoto) @php $photoPath = $ticket->initialPhoto->photo_path; $fullPath = storage_path('app/public/' . $photoPath); $publicPath = public_path('storage/' . $photoPath); @endphp @if(file_exists($fullPath) || file_exists($publicPath)) Foto Tiket @else

File foto tidak ditemukan

@endif @else

Tidak ada foto

@endif

Deskripsi

{{ $ticket->description }}

Riwayat Status Tiket

Dibuat

{{ $ticket->created_at->format('d M Y H:i') }}

@if($ticket->in_progress_at || $ticket->closed_at || $ticket->user_confirmed_at)
@endif
@if($ticket->in_progress_at)

Dalam Proses

{{ $ticket->in_progress_at->format('d M Y H:i') }}

@if($ticket->closed_at || $ticket->user_confirmed_at)
@endif
@endif @if($ticket->closed_at)

Ditutup

{{ $ticket->closed_at->format('d M Y H:i') }}

@if($ticket->user_confirmed_at)
@endif
@endif @if($ticket->user_confirmed_at)

Dikonfirmasi

{{ $ticket->user_confirmed_at->format('d M Y H:i') }}

@endif

Riwayat Percakapan

@php $adminResponses = is_array($ticket->admin_responses) ? $ticket->admin_responses : (json_decode($ticket->admin_responses, true) ?? []); $userReplies = is_array($ticket->user_replies) ? $ticket->user_replies : (json_decode($ticket->user_replies, true) ?? []); $allResponses = []; foreach($adminResponses as $response) { $response['type'] = 'admin'; $allResponses[] = $response; } foreach($userReplies as $reply) { $reply['type'] = 'user'; $allResponses[] = $reply; } usort($allResponses, function($a, $b) { return strtotime($b['timestamp']) - strtotime($a['timestamp']); }); @endphp @if(count($allResponses) > 0) @foreach($allResponses as $response)
@if($response['type'] === 'admin')
Admin
{{ \Carbon\Carbon::parse($response['timestamp'])->format('d M Y H:i') }}

{{ $response['notes'] ?? '' }}

@if(isset($response['photo'])) @endif
@else
{{ $ticket->user->name }}
{{ \Carbon\Carbon::parse($response['timestamp'])->format('d M Y H:i') }}

{{ $response['message'] ?? $response['notes'] ?? '' }}

@if(isset($response['photo'])) @endif
@endif
@endforeach @else

Belum Ada Respon

Tiket ini belum memiliki balasan

@endif

@if($ticket->status === 'in_progress') Balasan Admin @else Tanggapan Admin @endif

@csrf @method('PUT')
@if($ticket->status === 'in_progress') @else @endif
@endsection