@php $segments = collect(request()->segments())->filter(fn ($segment) => $segment !== 'admin')->values(); $pageTitle = trim($__env->yieldContent('page-title', 'Dashboard')); // Keep breadcrumbs user-facing: module + page title. Route actions and IDs // such as `create`, `edit`, or `/42/` are implementation details. $breadcrumbSegments = $segments->take(1)->map(fn ($segment) => [ 'label' => Str::of($segment)->replace('-', ' ')->title(), 'url' => null, ]); // On a plain index/root page (only one URL segment) the module label already // IS the current page — show the real page title there instead of appending // a second, near-duplicate crumb (e.g. "Amended / Amended Documents"). if ($segments->count() <= 1 && $breadcrumbSegments->isNotEmpty() && $pageTitle !== 'Dashboard') { $breadcrumbSegments = collect([['label' => $pageTitle, 'url' => null]]); } $crumbs = collect([['label' => 'Home', 'url' => route('dashboard')]])->merge($breadcrumbSegments); $lastCrumbLabel = (string) data_get($crumbs->last(), 'label', ''); $shouldAppendPageTitle = $segments->count() > 1 && $pageTitle !== 'Dashboard' && strcasecmp($lastCrumbLabel, $pageTitle) !== 0; if ($shouldAppendPageTitle) { $crumbs->push([ 'label' => $pageTitle, 'url' => null, ]); } @endphp