@extends('layout.layout') @section('content') @php $availabilityDays = (int) ($filters['availability_days'] ?? 14); $activeAudience = collect($filters['audience'] ?? [])->map(fn($value) => (string) $value)->all(); $activeTime = $filters['time_preference'] ?? ''; $activeAvailability = collect($filters['availability'] ?? [])->map(fn($value) => (string) $value)->all(); $activeGender = collect($filters['gender_id'] ?? [])->map(fn($value) => (string) $value)->all(); $activeAccent = collect($filters['accent'] ?? [])->map(fn($value) => (string) $value)->all(); $activeTrack = collect($filters['track_id'] ?? [])->map(fn($value) => (string) $value)->all(); $chipUrl = function (array $changes = [], array $forget = []) { $query = request()->query(); foreach ($forget as $key) { unset($query[$key]); } foreach ($changes as $key => $value) { if ($value === null || $value === '') { unset($query[$key]); } else { $query[$key] = $value; } } return route('student.tutors.index', $query); }; $toggleUrl = function (string $key, $value) { $query = request()->query(); $values = collect((array) ($query[$key] ?? [])) ->map(fn($item) => (string) $item) ->filter() ->values(); $value = (string) $value; $values = $values->contains($value) ? $values->reject(fn($item) => $item === $value)->values() : $values->push($value)->unique()->values(); if ($values->isEmpty()) { unset($query[$key]); } else { $query[$key] = $values->all(); } return route('student.tutors.index', $query); }; $audienceLabels = [ 'Kids' => 'Kids', 'Teens' => 'Teens', 'Adults' => 'Adults', ]; @endphp
Choose Your Tutor

Start booking by choosing the tutor first. Pick the tutor you prefer, then choose the course and available times from their schedule.

Availability
Category
Preferred Study Time
Gender
All @foreach($filterOptions['genders'] as $gender) {{ $gender['name'] }} @endforeach
@if($filterOptions['accents']->isNotEmpty())
Accent
All @foreach($filterOptions['accents'] as $accent) {{ $accent }} @endforeach
@endif @if($filterOptions['tracks']->isNotEmpty())
Program
All Programs @foreach($filterOptions['tracks'] as $track) {{ $track['name'] }} @endforeach
@endif
{{ $tutors->count() }} tutors available now @if(request()->query()) Clear filters @endif
@for($i = 0; $i < 6; $i++)
@endfor
@if($tutors->isEmpty())
No matching tutors found.

Try changing the filters or check again after more tutor slots are added.

@else
@foreach($tutors as $tutor) @php $availability = $tutor['availability_summary']; $initial = mb_substr(trim($tutor['name']), 0, 1, 'UTF-8'); $tags = collect($tutor['audience']) ->map(fn($audience) => $audienceLabels[$audience] ?? $audience) ->values(); if (($tutor['accent'] ?? '-') !== '-') { $tags->push($tutor['accent']); } @endphp
@if($tutor['has_photo']) {{ $tutor['name'] }} @else {{ $initial }} @endif
{{ $tutor['name'] }} {{ $tutor['teacher_type_label'] ?? 'Native-like' }}
{{ number_format((float) $tutor['rating'], 1) }} {{ $tutor['current_schedules_count'] }} reviews
@foreach($tags as $tag) {{ $tag }} @endforeach
@if(!empty($tutor['tracks']))
@foreach($tutor['tracks'] as $track) {{ $track }} @endforeach
@endif
@if(($tutor['nationality'] ?? '-') !== '-')
Nationality {{ $tutor['nationality'] }}
@endif @if(($tutor['accent'] ?? '-') !== '-')
Accent {{ $tutor['accent'] }}
@endif
{{ $tutor['experience_years'] }} years teaching experience
@if($availability['has_availability']) {{ $availability['available_classes'] }} weekly available slots {{ $availability['period_label'] ?? 'This week' }} @if(!empty($availability['period_range'])) ({{ $availability['period_range'] }}) @endif @if(!empty($availability['first_available_date']))
Weekly Total {{ $availability['total_classes'] }}, Weekly Booked / Active {{ $availability['booked_classes'] }}, Weekly Available {{ $availability['available_classes'] }}
Nearest available Time: {{ $availability['first_available_day'] }}, {{ $availability['first_available_label'] }} at {{ $availability['first_available_time'] }} @else Available within {{ $availabilityDays }} days @endif @else No weekly available slots {{ $availability['period_label'] ?? 'This week' }} @if(!empty($availability['period_range'])) ({{ $availability['period_range'] }}) @endif · Try another tutor or change the filters @endif
View Calendar and Book
@endforeach
@endif
@endsection @push('styles') @endpush