@extends('frontend.layout.dashboard-master') @section('site_title', __('My Orders')) @section('content') {{-- Page Header --}}

{{ __('My Orders') }}

{{ __('Stay updated with your project progress and client interactions') }}

{{-- Tabs --}}
@php $totalOrders = $orders->count(); @endphp
{{-- Order Cards --}}
@forelse($orders as $order) @php $statusMap = match($order->status) { 0 => 'queue', 1, 2 => 'active', 3 => 'complete', default => 'cancelled', }; $orderTitle = match($order->is_project_job) { 'project' => $order->project?->title ?? __('N/A'), 'job' => $order->job?->title ?? __('N/A'), default => __('Custom Order'), }; $isHourly = $order->is_fixed_hourly === 'hourly'; $budget = $isHourly ? float_amount_with_currency_symbol($order->job?->hourly_rate ?? 0) : float_amount_with_currency_symbol($order->price); $clientReview = \App\Models\Rating::where('order_id', $order->id)->where('sender_type', 1)->first(); $freelancerReply = \App\Models\Rating::where('order_id', $order->id)->where('sender_type', 2)->where('sender_id', auth()->id())->first(); if ($order->user?->image) { if (cloudStorageExist() && in_array(\Illuminate\Support\Facades\Storage::getDefaultDriver(), ['s3','cloudFlareR2','wasabi'])) { $clientImage = render_frontend_cloud_image_if_module_exists('profile/'.$order->user->image, load_from: $order->user->load_from ?? ''); } else { $clientImage = asset('assets/uploads/profile/'.$order->user->image); } } else { $clientImage = asset('assets/static/img/author/author.jpg'); } @endphp
{{-- Top row: ID + time --}}
{{ __('Order ID') }}: #{{ str_pad($order->id, 6, '0', STR_PAD_LEFT) }} {{ $order->created_at->diffForHumans() }}
{{-- Title --}}

{{ $orderTitle }}

{{-- Badges + meta --}}
{{-- Status badge --}} @if($order->status === 0) {{ __('Queue Order') }} @elseif($order->status === 1) {{ __('Active Order') }} @elseif($order->status === 2) {{ __('Deliver Order') }} @elseif($order->status === 3) {{ __('Complete Order') }} @elseif($order->status === 4) {{ __('Cancelled') }} @elseif($order->status === 5) {{ __('Declined') }} @elseif($order->status === 6) {{ __('Suspended') }} @elseif($order->status === 7) {{ __('On Hold') }} @endif {{-- Fixed / Hourly badge --}} @if($isHourly) {{ __('Hourly') }} @else {{ __('Fixed') }} @endif {{-- Custom order badge --}} @if($order->is_project_job === 'offer') {{ __('Custom Order') }} @endif {{-- Budget --}}
{{ __('Budget') }}: {{ $budget }}
{{-- Delivery --}} @if($order->delivery_time)
{{ __('Delivery') }}: {{ $order->delivery_time }}
@endif {{-- Review indicator --}} @if($clientReview && !$freelancerReply) {{ __('New Review') }} @elseif($clientReview && $freelancerReply) {{ __('Reviewed') }} @endif

{{-- Client info + Actions --}}
{{-- Client avatar --}}
{{ $order->user?->first_name }}
{{ $order->user?->first_name }} {{ $order->user?->last_name }} @if($order->user?->user_verified_status) @endif

{{ __('Customer') }}

{{-- Action buttons --}}
{{-- Queue: Decline + Accept --}} @if($order->status === 0) {{ __('Decline Order') }} {{ __('Accept Order') }} @endif {{-- Active / Deliver: Cancel --}} @if(in_array($order->status, [1, 2])) {{ __('Cancel Order') }} @endif {{-- Complete: Invoice only (freelancers don't submit reviews) --}} @if($order->status === 3) @if($order->freelancer?->is_suspend != 1) {{ __('Invoice') }} @endif @endif {{-- Reply to Review --}} @if($clientReview && !$freelancerReply) {{ __('Reply to Review') }} @endif {{-- View Order (always) --}} {{ __('View Order') }}
@empty

{{ __('No orders yet') }}

{{ __('Your orders will appear here once clients place them.') }}

@endforelse
{{-- Empty state for filtered results --}} {{-- Pagination --}}
@endsection @section('script') @endsection