@props([ 'currentPage' => 1, 'totalPages' => 10, 'showFirstLast' => true, 'maxVisible' => 5, ]) @php $hasPrevious = $currentPage > 1; $hasNext = $currentPage < $totalPages; // Berechne sichtbare Seitenzahlen $visiblePages = []; if ($totalPages <= $maxVisible) { // Zeige alle Seiten wenn weniger als maxVisible $visiblePages = range(1, $totalPages); } else { // Berechne dynamischen Bereich $start = max(1, $currentPage - floor($maxVisible / 2)); $end = min($totalPages, $start + $maxVisible - 1); // Korrigiere Start wenn am Ende if ($end - $start < $maxVisible - 1) { $start = max(1, $end - $maxVisible + 1); } $visiblePages = range($start, $end); } $showStartEllipsis = $visiblePages[0] > 1; $showEndEllipsis = end($visiblePages) < $totalPages; @endphp