{{-- resources/views/pro/itins/index.blade.php --}} @extends('layouts.base') @section('title', __('Itineraries')) @section('content') @php /** @var \Illuminate\Pagination\LengthAwarePaginator|\Illuminate\Support\Collection $itineraries */ $itineraries = $itineraries ?? collect(); $isAdmin = (int)(auth()->id() ?? 0) === 1; $baseName = $isAdmin ? 'admin.itins' : 'pro.itins'; $locale = app()->getLocale(); @endphp

{{ __('Itineraries') }}

{{-- Create button (admin not localized / pro localized) --}} + {{ __('Create itinerary') }}
{{-- Flash messages --}} @if(session('ok'))
{{ session('ok') }}
@endif @if($errors->any())
{{ __('Errors') }}:
@endif {{-- Empty state --}} @if(($itineraries instanceof \Illuminate\Contracts\Support\Htmlable) ? false : $itineraries->isEmpty())
{{ __('No itinerary yet.') }}
@else
@foreach($itineraries as $it) @php // Null-safe owner $ownerName = trim(($it->owner?->lastname ?? '—').' '.($it->owner?->firstname ?? '')); // Join assignees safely $assignees = collect($it->users ?? []) ->map(fn($u) => trim(($u->lastname ?? '').' '.($u->firstname ?? ''))) ->filter() ->join(', '); // Points count (if items eager-loaded, else fallback) $pointsCount = isset($it->items) ? $it->items->count() : ((int)($it->items_count ?? 0)); // Dates safe format $scheduled = $it->scheduled_date ? \Illuminate\Support\Carbon::parse($it->scheduled_date)->format('Y-m-d') : '—'; $created = $it->created_at ? $it->created_at->format('Y-m-d H:i') : '—'; // Route helpers per context (admin/pro) $editUrl = $isAdmin ? route('admin.itins.edit', ['itinerary'=>$it->id]) : route('pro.itins.edit', ['locale'=>$locale,'itinerary'=>$it->id]); $mapUrl = $isAdmin ? route('admin.itins.map', ['itinerary'=>$it->id]) : route('pro.itins.map', ['locale'=>$locale,'itinerary'=>$it->id]); $delAction = $isAdmin ? route('admin.itins.destroy', ['itinerary'=>$it->id]) : route('pro.itins.destroy', ['locale'=>$locale,'itinerary'=>$it->id]); @endphp @endforeach
{{ __('Name') }} {{ __('Organizer') }} {{ __('Assignees') }} {{ __('Points') }} {{ __('Scheduled date') }} {{ __('Created') }} {{ __('Actions') }}
{{ $it->name }} @if(!empty($it->society_id))
{{ __('Company ID') }}: {{ $it->society_id }}
@endif
{{ $ownerName }} @if(method_exists($it->owner ?? null, 'societies'))
{{-- First company name if available --}} {{ $it->owner?->societies?->first()?->name ?? __('No company') }}
@endif
{{ $assignees ?: __('No assignees') }} {{ $pointsCount > 0 ? $pointsCount : '—' }} {{ $scheduled }} {{ $created }} {{-- Edit --}} {{ __('Edit') }} {{-- Map (show itinerary path) --}} {{ __('Map') }} {{-- Delete (confirm) --}}
@csrf @method('DELETE')
{{-- Pagination --}}
{{ $itineraries->links() }}
@endif
@endsection