@php $currentRoute = request()->livewireUrl(); $navigation = [ \App\Classes\Navigation::getLinks(), \App\Classes\Navigation::getAccountDropdownLinks(), \App\Classes\Navigation::getDashboardLinks(), ]; function findBreadcrumb($items, $currentRoute) { foreach ($items as $item) { if (isset($item['url']) && $item['url'] === $currentRoute) { return [$item]; } if (!empty($item['children'])) { $childTrail = findBreadcrumb($item['children'], $currentRoute); if (!empty($childTrail)) { return array_merge([$item], $childTrail); } } } return []; } $breadcrumbs = []; foreach ($navigation as $group) { $breadcrumbs = findBreadcrumb($group, $currentRoute); if (!empty($breadcrumbs)) { break; } } @endphp
@if (!empty($breadcrumbs)) @foreach ($breadcrumbs as $index => $breadcrumb) @if ($index > 0) @endif @if (count($breadcrumbs) === 1) {{ $breadcrumb['name'] ?? '' }} @elseif ($index === count($breadcrumbs) - 1) {{ $breadcrumb['name'] ?? '' }} @else {{ $breadcrumb['name'] ?? '' }} @endif @endforeach @else {{ __('navigation.home') }} @endif