{{-- resources/views/components/admin/back-to-list-button.blade.php --}} @props([ 'route' => null, 'params' => [], 'text' => 'Back to List', 'class' => 'btn btn-sm btn-secondary', 'icon' => null ]) @php // If no route provided, try to determine from current request if (!$route) { $currentRoute = request()->route()->getName(); // Convert show route to index route (e.g., admin.enquiries.show -> admin.enquiries.index) $route = str_replace('.show', '.index', $currentRoute); } // Preserve query parameters for enquiries and similar filtered lists $queryParams = []; if (str_contains($route, 'enquiries') || str_contains($route, 'applications')) { // Use session-stored filters for enquiries if (str_contains($route, 'enquiries')) { $queryParams = session('enquiries_filters', []); } else { // Fallback to request parameters for other modules $queryParams = request()->only(['source', 'q', 'from_date', 'to_date']); } // Remove empty values to keep URLs clean $queryParams = array_filter($queryParams, function($value) { return !empty($value) && $value !== ''; }); } // Merge with any additional params $allParams = array_merge($queryParams, $params); @endphp @if($icon) @endif {{ $text }}