@extends('layouts.app') @section('title', 'Ticket ' . $ticket->ticket_number) @section('content')

{{ $ticket->ticket_number }}

@php $priorityColors = [ 'low' => 'bg-gray-100 text-gray-800 dark:bg-gray-700 dark:text-gray-200', 'medium' => 'bg-blue-100 text-blue-800 dark:bg-blue-900 dark:text-blue-200', 'high' => 'bg-orange-100 text-orange-800 dark:bg-orange-900 dark:text-orange-200', 'urgent' => 'bg-red-100 text-red-800 dark:bg-red-900 dark:text-red-200', ]; $statusColors = [ 'pending' => 'bg-yellow-100 text-yellow-800 dark:bg-yellow-900 dark:text-yellow-200', 'picked_up' => 'bg-indigo-100 text-indigo-800 dark:bg-indigo-900 dark:text-indigo-200', 'in_progress' => 'bg-blue-100 text-blue-800 dark:bg-blue-900 dark:text-blue-200', 'transferred' => 'bg-orange-100 text-orange-800 dark:bg-orange-900 dark:text-orange-200', 'resolved' => 'bg-green-100 text-green-800 dark:bg-green-900 dark:text-green-200', 'reopened' => 'bg-red-100 text-red-800 dark:bg-red-900 dark:text-red-200', ]; @endphp {{ ucfirst($ticket->priority) }} {{ $ticket->status_label }}

Created {{ $ticket->created_at->diffForHumans() }} by {{ $ticket->creator->name ?? 'Unknown' }}

@if($ticket->canBePickedUpBy(auth()->user())) @endif @if($ticket->status !== 'resolved') @else @endif

Customer Information

Name

{{ $ticket->customer_name }}

Email

{{ $ticket->customer_email }}

Phone

{{ $ticket->customer_phone }}

PID

{{ $ticket->customer_pid }}

Ticket Details

Product Types

@foreach($ticket->productTypes as $product) {{ $product->value }} @endforeach

Issue Types

@foreach($ticket->issueTypes as $issue) {{ $issue->value }} @endforeach

Issue Description

{{ $ticket->issue_explanation }}

@if($ticket->solution_explanation)

Solution

{{ $ticket->solution_explanation }}

@endif

Activity Timeline

    @foreach($ticket->histories as $index => $history) @php $colors = [ 'created' => ['bg-blue-500', 'bg-blue-100 dark:bg-blue-900/30'], 'assigned' => ['bg-purple-500', 'bg-purple-100 dark:bg-purple-900/30'], 'picked_up' => ['bg-indigo-500', 'bg-indigo-100 dark:bg-indigo-900/30'], 'note_added' => ['bg-gray-500', 'bg-gray-100 dark:bg-gray-700'], 'transferred' => ['bg-orange-500', 'bg-orange-100 dark:bg-orange-900/30'], 'resolved' => ['bg-green-500', 'bg-green-100 dark:bg-green-900/30'], 'reopened' => ['bg-red-500', 'bg-red-100 dark:bg-red-900/30'], ]; $color = $colors[$history->action] ?? ['bg-gray-500', 'bg-gray-100']; @endphp
  • @if(!$loop->last) @endif
    @switch($history->action) @case('created') @break @case('assigned') @case('transferred') @break @case('picked_up') @break @case('note_added') @break @case('resolved') @break @case('reopened') @break @default @endswitch

    {{ $history->action_label }} by {{ $history->performer->name ?? 'System' }}

    @if($history->toDepartment || $history->toUser)

    @if($history->fromDepartment || $history->fromUser) From: {{ $history->fromDepartment->name ?? '' }} {{ $history->fromUser->name ?? '' }} → @endif To: {{ $history->toDepartment->name ?? '' }} {{ $history->toUser->name ?? '' }}

    @endif @if($history->notes)

    {{ $history->notes }}

    @endif
  • @endforeach

Assignment

Department

{{ $ticket->assignedDepartment->name ?? 'Not assigned' }}

Assigned To

{{ $ticket->assignedUser->name ?? 'Not assigned' }}

@if($ticket->pickedUpByUser)

Picked Up By

{{ $ticket->pickedUpByUser->name }} ({{ $ticket->picked_up_at->diffForHumans() }})

@endif

Timestamps

Created {{ $ticket->created_at->format('M d, Y H:i') }}
@if($ticket->picked_up_at)
Picked Up {{ $ticket->picked_up_at->format('M d, Y H:i') }}
@endif @if($ticket->resolved_at)
Resolved {{ $ticket->resolved_at->format('M d, Y H:i') }}
@endif
Last Updated {{ $ticket->updated_at->format('M d, Y H:i') }}
@endsection