@extends('admin.layouts.index-template', [ 'pageTitle' => $pageTitle, 'items' => $shippingZones, 'collection' => $shippingZones, 'icon' => 'map-pin', 'module' => 'Zonas de Envío', 'createRoute' => route('shipping-zones.create'), 'indexRoute' => route('shipping-zones.index'), 'searchPlaceholder' => 'Buscar por nombre o descripción...', 'emptyIcon' => 'map-marker-alt', 'emptyTitle' => 'No hay zonas de envío', 'emptyMessage' => 'Crea tu primera zona de envío para gestionar las tarifas de envío.', 'stats' => [ 'all' => [ 'label' => 'Total', 'count' => $shippingZones->total(), 'color' => 'primary', 'icon' => 'map-pin' ], 'active' => [ 'label' => 'Activas', 'count' => \App\Models\ShippingZone::where('is_active', true)->count(), 'color' => 'success', 'icon' => 'checkbox-circle' ], 'inactive' => [ 'label' => 'Inactivas', 'count' => \App\Models\ShippingZone::where('is_active', false)->count(), 'color' => 'secondary', 'icon' => 'pause-circle' ], 'fast_delivery' => [ 'label' => 'Envío Rápido', 'count' => \App\Models\ShippingZone::where('delivery_days_max', '<=', 3)->count(), 'color' => 'info', 'icon' => 'ship' ], 'slow_delivery' => [ 'label' => 'Envío Lento', 'count' => \App\Models\ShippingZone::where('delivery_days_min', '>', 7)->count(), 'color' => 'warning', 'icon' => 'time' ], 'no_rates' => [ 'label' => 'Sin Tarifas', 'count' => \App\Models\ShippingZone::doesntHave('shippingRates')->count(), 'color' => 'danger', 'icon' => 'error-warning' ] ] ]) @push('css') @endpush @section('filters')
@endsection @section('table_headers') Zona Descripción Días Entrega Tarifas Estado Acciones @endsection @section('table_content') @if($shippingZones->isNotEmpty()) @foreach($shippingZones as $zone) {{ $zone->name }} @if($zone->provinces)
{{ implode(', ', array_slice($zone->provinces, 0, 2)) }} @if(count($zone->provinces) > 2) +{{ count($zone->provinces) - 2 }} @endif @endif {{ $zone->description }} @if($zone->postal_codes)
{{ implode(', ', array_slice($zone->postal_codes, 0, 3)) }} @if(count($zone->postal_codes) > 3) +{{ count($zone->postal_codes) - 3 }} @endif @endif @if($zone->delivery_days_min == $zone->delivery_days_max) {{ $zone->delivery_days_min }} días @else {{ $zone->delivery_days_min }}-{{ $zone->delivery_days_max }} días @endif @if($zone->shipping_rates_count > 0) {{ $zone->shipping_rates_count }} tarifas
Ver Tarifas @else Sin tarifas
Agregar @endif @if($zone->is_active) Activa @else Inactiva @endif
@endforeach @else
No hay zonas de envío configuradas

Comienza creando tu primera zona de envío

Crear Zona de Envío @endif @endsection @section('pagination') {{ $shippingZones->appends(request()->query())->links() }} @endsection @section('customJs') @endsection