@extends('layouts.admin') @php $label = fn (string $group, ?string $value): string => $value === null ? '' : (trans()->has("scheduling.{$group}.{$value}") ? __("scheduling.{$group}.{$value}") : (string) str($value)->headline()); @endphp @section('title', __('scheduling.title')) @section('content') @if($canManage) {{ __('scheduling.actions.booking') }} @endif {{-- 1. KPI Summary Cards --}}
{{ app()->isLocale('ar') ? 'إجمالي المواعيد' : 'Total Meetings' }} {{ number_format($meetings->total()) }}
{{ app()->isLocale('ar') ? 'المواعيد المؤكدة/القادمة' : 'Scheduled' }} {{ $meetings->where('status.value', 'scheduled')->count() }}
{{ app()->isLocale('ar') ? 'أنواع الاجتماعات' : 'Meeting Types' }} {{ $types->count() }}
{{ app()->isLocale('ar') ? 'المسؤولون النشطون' : 'Active Assignees' }} {{ $assignees->where('is_active', true)->count() }}
{{-- 2. Meetings Filter & List --}}

{{ __('scheduling.dashboard') }}

{{ __('scheduling.heading') }}

@if($canManage)@endif @forelse($meetings as $meeting) @if($canManage) @endif @empty @endforelse
{{ __('scheduling.fields.when') }} {{ __('scheduling.fields.customer') }} {{ __('scheduling.fields.type') }} {{ __('scheduling.fields.assignee') }} {{ __('scheduling.fields.state') }}{{ __('scheduling.fields.workflow') }}
{{ $meeting->scheduled_start_at->format('Y-m-d H:i') }} UTC
{{ $meeting->scheduled_start_at->setTimezone($meeting->customer_timezone)->format('Y-m-d H:i') }} ({{ $meeting->customer_timezone }})
{{ $meeting->customer_name }}
{{ $meeting->customer_email }}
{{ $meeting->type->name }} {{ $meeting->assignee_name_snapshot }}
{{ $label('kinds', $meeting->assignee_kind->value) }}
{{ $label('statuses', $meeting->status->value) }}
{{ $label('confirmations', $meeting->confirmation_status) }}
@if($meeting->status->value==='scheduled')
{{ __('scheduling.actions.reschedule') }}
@csrf @method('PUT')
@csrf @method('PUT')
@endif
@csrf @method('PUT') @if($meeting->status->value==='scheduled') @endif
{{ __('scheduling.empty') }}
{{ $meetings->links() }}
@if($canManage) {{-- 3. Create New Booking Card --}}

{{ __('scheduling.actions.booking') }}

{{ __('scheduling.actions.create_booking_heading') }}

@csrf
{{-- 4. Setup Meeting Types & Assignees --}}

{{ __('scheduling.actions.add_meeting_type') }}

@csrf

{{ __('scheduling.actions.register_assignee') }}

@csrf
{{-- 5. Assignees Availability & Exceptions --}} @if($assignees->isNotEmpty())

{{ app()->isLocale('ar') ? 'إعدادات جداول المواعيد والاستثناءات' : 'Assignees Availability & Exceptions' }}

@foreach($assignees as $a)

{{ $a->display_name }}

{{ $label('kinds', $a->kind->value) }} · {{ $a->timezone }}
{{ __('scheduling.rule_summary', ['rules' => $a->rules->count(), 'exceptions' => $a->exceptions->count()]) }}
@csrf

{{ __('scheduling.actions.add_weekly') }}

@csrf

{{ __('scheduling.actions.add_exception') }}

@endforeach
@endif @endif @endsection