@extends('layouts.admin') @section('content')

Cupón: {{ $coupon->name }}

@php $isValid = $coupon->isValid(); $isExpired = now() > $coupon->valid_to; $isNotYetActive = now() < $coupon->valid_from; @endphp
$isValid, 'bg-red-700' => !$coupon->active || $isExpired, 'bg-yellow-500' => $coupon->active && $isNotYetActive ])>
@if(!$coupon->active) Inactivo @elseif($isExpired) Expirado @elseif($isNotYetActive) Pendiente @else Activo @endif

Información Básica

{{ $coupon->code }}

{{ $coupon->name }}

{{ $coupon->type === 'fixed_amount' ? 'Monto fijo' : 'Porcentaje' }}
@if($coupon->description)

{{ $coupon->description }}

@endif

Detalles del Descuento

@if($coupon->type === 'fixed_amount') ${{ number_format($coupon->value, 2) }} @else {{ $coupon->value }}% @endif

@switch($coupon->applies_to) @case('cart') Todo el carrito @break @case('product') Productos específicos @break @case('category') Categorías específicas @break @case('brand') Marcas específicas @break @case('vendor') Proveedores específicos @break @case('customer') Clientes específicos @break @case('customer_type') Tipos de cliente @break @default {{ $coupon->applies_to }} @endswitch

@if($coupon->minimum_amount) ${{ number_format($coupon->minimum_amount, 2) }} @else Sin límite @endif

$coupon->active, 'bg-red-100 text-red-800' => !$coupon->active ])> {{ $coupon->active ? 'Activo' : 'Inactivo' }}

Período de Validez

{{ $coupon->valid_from->format('d/m/Y H:i') }}

{{ $coupon->valid_to->format('d/m/Y H:i') }}

@php $now = now(); $total_duration = $coupon->valid_from->diffInDays($coupon->valid_to); $elapsed_days = $coupon->valid_from->diffInDays($now, false); $remaining_days = $now->diffInDays($coupon->valid_to, false); if ($now < $coupon->valid_from) { $progress = 0; $status_text = "Comenzará en " . $now->diffInDays($coupon->valid_from) . " días"; } elseif ($now > $coupon->valid_to) { $progress = 100; $status_text = "Expiró hace " . $coupon->valid_to->diffInDays($now) . " días"; } else { $progress = $total_duration > 0 ? min(100, ($elapsed_days / $total_duration) * 100) : 100; $status_text = "Expira en " . $remaining_days . " días"; } @endphp
Progreso de validez {{ $status_text }}
$progress < 75, 'bg-yellow-500' => $progress >= 75 && $progress < 90, 'bg-red-600' => $progress >= 90 ]) style="width: {{ $progress }}%">

Estadísticas de Uso

{{ $coupon->current_usage }}
Usos totales
{{ $coupon->total_usage_limit ? $coupon->total_usage_limit - $coupon->current_usage : '∞' }}
Usos restantes
{{ $coupon->usage_limit_per_customer ?? '∞' }}
Límite por cliente
@if($coupon->total_usage_limit)
Progreso de uso {{ $coupon->current_usage }}/{{ $coupon->total_usage_limit }}
@php $usage_percentage = ($coupon->current_usage / $coupon->total_usage_limit) * 100; @endphp
$usage_percentage < 50, 'bg-yellow-500' => $usage_percentage >= 50 && $usage_percentage < 80, 'bg-red-600' => $usage_percentage >= 80 ]) style="width: {{ min(100, $usage_percentage) }}%">
@endif
@if($coupon->usages->count() > 0)

Historial de Uso

@foreach($coupon->usages as $usage) @endforeach
Cliente Orden Descuento aplicado Fecha de uso
@if($usage->user)
{{ $usage->user->name }}
{{ $usage->user->email }}
@else Usuario eliminado @endif
@if($usage->order) #{{ $usage->order->id }} @else Orden eliminada @endif ${{ number_format($usage->discount_amount, 2) }} {{ $usage->created_at->format('d/m/Y H:i') }}
@else

Sin uso

Este cupón aún no ha sido utilizado por ningún cliente.

@endif
@endsection