@extends('layouts.admin') @section('title', __('ui.dashboard.overview.title')) @section('content') @if ($overview === null)
{{ __('ui.dashboard.overview.no_access') }}
@else @php $journey = collect($overview['journey'])->keyBy('key'); $journeyOrder = ['visit', 'service_view', 'order_started', 'order_completed']; $journeyIcons = ['visit' => 'globe', 'service_view' => 'eye', 'order_started' => 'check', 'order_completed' => 'check']; $projectTotal = collect($overview['project_statuses'])->sum('value'); @endphp

{{ __('ui.dashboard.overview.eyebrow') }}

{{ __('ui.dashboard.overview.title') }}

{{ __('ui.dashboard.overview.subtitle') }}

{{ $overview['period']['label'] }}
@foreach ($overview['kpis'] as $kpi)
{{ __('ui.dashboard.overview.kpis.'.$kpi['key']) }}
{{ $kpi['formatted'] }}{{ $kpi['change_percent'] === null ? '—' : (($kpi['change_percent'] >= 0 ? '+' : '').number_format($kpi['change_percent'], 1).'%') }}{{ __('ui.dashboard.overview.comparison') }}
@endforeach

{{ __('ui.dashboard.overview.journey.title') }}

{{ __('ui.dashboard.overview.journey.subtitle') }}

@php $firstStage = $journey->get('visit'); $finalStage = $journey->get('order_completed'); $initialVal = max(1, $firstStage['value'] ?? 1); $finalVal = $finalStage['value'] ?? 0; $funnelYield = round(($finalVal / $initialVal) * 100, 1); @endphp
{{ __('ui.dashboard.overview.journey.overall') }} {{ number_format($funnelYield, 1) }}%
@foreach ($journeyOrder as $index => $stageKey) @php $stage = $journey->get($stageKey); $isFirst = $loop->first; $isLast = $loop->last; $volumePct = max(8, min(100, $stage['share'] ?? 100)); @endphp
{{ __('ui.dashboard.overview.journey.stage_label', ['num' => '0' . ($index + 1)]) }}

{{ __('ui.dashboard.overview.journey.stages.'.$stageKey) }}

{{ __('ui.dashboard.overview.journey.descriptions.'.$stageKey) }}

{{ $stage['formatted'] }} {{ __('ui.dashboard.overview.journey.users') }}
@unless ($loop->last) @php $nextStageKey = $journeyOrder[$index + 1]; $nextStage = $journey->get($nextStageKey); $dropOffVal = $nextStage['drop_off'] ?? 0; @endphp @endunless @endforeach
contains(fn ($item) => $item['value'] > 0)) hidden @endif>{{ __('ui.dashboard.overview.empty.journey') }}

{{ __('ui.dashboard.overview.traffic.title') }}

{{ __('ui.dashboard.overview.traffic.subtitle') }}

@foreach ($overview['traffic_sources'] as $source)
{{ __('ui.dashboard.overview.traffic.sources.'.$source['key']) }}{{ $source['formatted'] }}{{ number_format($source['percentage'], 1) }}%
@endforeach
sum('value') > 0) hidden @endif>{{ __('ui.dashboard.overview.empty.traffic') }}

{{ __('ui.dashboard.overview.meetings.title') }}

{{ __('ui.dashboard.overview.meetings.subtitle') }}

{{ __('ui.dashboard.overview.meetings.period', ['days' => $overview['period']['days']]) }}
sum('value') > 0) hidden @endif>{{ __('ui.dashboard.overview.empty.meetings') }}

{{ __('ui.dashboard.overview.projects.title') }}

{{ __('ui.dashboard.overview.projects.subtitle') }}

{{ __('ui.dashboard.overview.projects.total') }}{{ number_format($projectTotal) }}
@foreach ($overview['project_statuses'] as $status)
{{ __('ui.dashboard.overview.projects.statuses.'.$status['key']) }}{{ number_format($status['value']) }}{{ number_format($status['percentage'], 1) }}%
@endforeach
0) hidden @endif>{{ __('ui.dashboard.overview.empty.projects') }}

{{ __('ui.dashboard.overview.activities.title') }}

{{ __('ui.dashboard.overview.activities.subtitle') }}

@foreach (array_slice($overview['recent_activities'], 0, 4) as $activity)
{{ $activity['title'] }}{{ $activity['description'] }}
@endforeach
{{ ($overview['meta']['is_demo'] ?? false) ? __('ui.dashboard.overview.demo_source_note') : __('ui.dashboard.overview.source_note') }}{{ __('ui.dashboard.overview.generated', ['time' => \Carbon\CarbonImmutable::parse($overview['meta']['generated_at'])->locale(app()->getLocale())->diffForHumans()]) }}
@endif @endsection