This commit is contained in:
Laucha1312
2026-06-04 15:20:26 -03:00
parent fdd0fef3f0
commit cc049c6cb6
64 changed files with 8914 additions and 0 deletions
@@ -0,0 +1,103 @@
@extends('admin.layout')
@section('title', ($promocion ? 'Editar' : 'Nueva') . ' Promoción - Admin OnAPB')
@section('content')
<div class="page-header">
<h2><i class="bi bi-geo-alt-fill"></i> {{ $promocion ? 'Editar Promoción' : 'Nueva Promoción' }}</h2>
<a href="{{ route('admin.promociones.index') }}" class="btn-admin-outline">
<i class="bi bi-arrow-left"></i> Volver
</a>
</div>
<div class="admin-card">
<div class="card-body">
<form method="POST" action="{{ $promocion ? route('admin.promociones.update', $promocion->id) : route('admin.promociones.store') }}" class="admin-form" enctype="multipart/form-data">
@csrf
@if($promocion) @method('PUT') @endif
<div class="row">
<div class="col-md-6">
<div class="mb-3">
<label class="form-label">Nombre *</label>
<input type="text" name="nombre" class="form-control" value="{{ old('nombre', $promocion->nombre ?? '') }}" required>
@error('nombre')
<div class="text-danger small mt-1">{{ $message }}</div>
@enderror
</div>
</div>
<div class="col-md-6">
<div class="mb-3">
<label class="form-label">Dirección *</label>
<input type="text" name="direccion" class="form-control" value="{{ old('direccion', $promocion->direccion ?? '') }}" required>
@error('direccion')
<div class="text-danger small mt-1">{{ $message }}</div>
@enderror
</div>
</div>
</div>
<div class="row">
<div class="col-md-3">
<div class="mb-3">
<label class="form-label">Latitud</label>
<input type="number" step="any" name="lat" class="form-control" value="{{ old('lat', $promocion->lat ?? '') }}">
</div>
</div>
<div class="col-md-3">
<div class="mb-3">
<label class="form-label">Longitud</label>
<input type="number" step="any" name="lng" class="form-control" value="{{ old('lng', $promocion->lng ?? '') }}">
</div>
</div>
<div class="col-md-3">
<div class="mb-3">
<label class="form-label">Contacto</label>
<input type="text" name="contacto" class="form-control" value="{{ old('contacto', $promocion->contacto ?? '') }}">
</div>
</div>
<div class="col-md-3">
<div class="mb-3">
<label class="form-label">Categoría</label>
<input type="text" name="categoria" class="form-control" value="{{ old('categoria', $promocion->categoria ?? '') }}" placeholder="Ej: Gastronomía, Deportes...">
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="mb-3">
<label class="form-label">Descripción del beneficio</label>
<textarea name="descripcion" class="form-control" rows="3">{{ old('descripcion', $promocion->descripcion ?? '') }}</textarea>
</div>
</div>
<div class="col-md-6">
<div class="mb-3">
<label class="form-label">Descripción del lugar</label>
<textarea name="descripcion_lugar" class="form-control" rows="3">{{ old('descripcion_lugar', $promocion->descripcion_lugar ?? '') }}</textarea>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="mb-3">
<label class="form-label">Imagen</label>
<input type="file" name="imagen_file" class="form-control" accept="image/*">
@if($promocion && $promocion->imagen)
<div class="mt-2">
<img src="{{ asset($promocion->imagen) }}" alt="" style="max-height: 80px; border-radius: 6px;">
<small class="text-muted d-block mt-1">Imagen actual: {{ $promocion->imagen }}</small>
</div>
@endif
</div>
</div>
</div>
<button type="submit" class="btn-admin">
<i class="bi bi-check-lg"></i> {{ $promocion ? 'Actualizar' : 'Crear Promoción' }}
</button>
</form>
</div>
</div>
@endsection
@@ -0,0 +1,70 @@
@extends('admin.layout')
@section('title', 'Promociones - Admin OnAPB')
@section('content')
<div class="page-header">
<h2><i class="bi bi-geo-alt-fill"></i> Promociones / Lugares</h2>
<a href="{{ route('admin.promociones.create') }}" class="btn-admin-primary">
<i class="bi bi-plus-lg me-2"></i> NUEVA PROMOCIÓN
</a>
</div>
<div class="admin-card">
<div class="card-body">
@if($promociones->isEmpty())
<div class="empty-state">
<i class="bi bi-geo-alt"></i>
<p>No hay promociones registradas.</p>
</div>
@else
<div class="table-responsive">
<table class="admin-table">
<thead>
<tr>
<th>ID</th>
<th>Nombre</th>
<th>Dirección</th>
<th>Categoría</th>
<th>QRs</th>
<th>Acciones</th>
</tr>
</thead>
<tbody>
@foreach($promociones as $p)
<tr>
<td data-label="ID">{{ $p->id }}</td>
<td data-label="Nombre">
<strong>{{ $p->nombre }}</strong>
@if($p->imagen)
<br><img src="{{ asset($p->imagen) }}" alt="" style="max-height: 40px; border-radius: 4px; margin-top: 4px;">
@endif
</td>
<td data-label="Dirección">{{ $p->direccion }}</td>
<td data-label="Categoría">
<span class="badge bg-info">{{ $p->categoria ?? 'Sin categoría' }}</span>
</td>
<td data-label="QRs">
<span class="badge bg-secondary">{{ $p->promo_qrs_count }}</span>
</td>
<td data-label="Acciones">
<a href="{{ route('admin.promociones.edit', $p->id) }}" class="btn-action edit">
<i class="bi bi-pencil"></i> Editar
</a>
<form action="{{ route('admin.promociones.destroy', $p->id) }}" method="POST" class="delete-form confirm-submit" data-confirm-text="¿Eliminar esta promoción?">
@csrf
@method('DELETE')
<button type="submit" class="btn-action delete">
<i class="bi bi-trash"></i>
</button>
</form>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
@endif
</div>
</div>
@endsection