File: /var/www/vhost/disk-apps/alq-cali.bikenow.co/resources/views/web_experiences/enroll/index.blade.php
<?php
function cleanPlatformName($name)
{
// Quitar emojis usando una expresión regular
$name = preg_replace('/[\x{1F600}-\x{1F64F}' . // Emoticonos
'\x{1F300}-\x{1F5FF}' . // Símbolos y pictogramas
'\x{1F680}-\x{1F6FF}' . // Transporte y mapas
'\x{1F1E0}-\x{1F1FF}' . // Banderas
'\x{2600}-\x{26FF}' . // Símbolos misceláneos
'\x{2700}-\x{27BF}]+' . // Símbolos Dingbats
'/u', '', $name);
// Quitar caracteres no imprimibles y signos de interrogación repetidos (como ??)
$name = preg_replace('/[\x00-\x1F\x7F\?]+/', '', $name);
// Eliminar espacios extra (dobles, al inicio o final)
$name = trim(preg_replace('/\s+/', ' ', $name));
return $name;
}
?>
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<title>Experiencias {{ $corporateIdentity->platform_name }} | Sports Crowd</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
@include('web_experiences.enroll.css')
</head>
<body>
<div class="container">
<div class="header">
<h1 onclick="window.location.href='/web_experiences'">Experiencias {{ cleanPlatformName($corporateIdentity->platform_name) }}</h1>
</div>
<div class="main">
<button class="back-button" onclick="location.href='/web_experiences/{{ $experience->id }}/detail'"><i class="fas fa-arrow-left"></i> Volver</button>
<div class="experience-card">
<h2 class="experience-section-title">{{ $experience->name }}</h2>
<div class="info-item">Plan seleccionado:
<div class="plan-name">{{ $experiencePlanPrice->plan->name }}</div>
</div>
<div class="info-item">Precio:
<div class="plan-price">{{ $experiencePlanPrice->price ?? 0 }}</div>
</div>
<div class="info-item">Cantidad:
<div>{{ $amount ?? 1 }}</div>
</div>
<div class="info-item total">Precio Total:
<div class="plan-price">{{ ($experiencePlanPrice->price ?? 0) * ($amount ?? 1) }}</div>
</div>
@guest
<div style="margin-bottom: 15px;">
<!-- Botones de selección -->
<div class="action-buttons">
<button type="button" id="btn-registered" class="action-btn active" onclick="showForm('registered')">Ya tengo cuenta</button>
<button type="button" id="btn-new" class="action-btn active" onclick="showForm('new')">Soy nuevo</button>
</div>
<!-- Formulario de login (usuarios registrados) -->
<form id="form-registered" style="display: none;" class="form">
@csrf
<div class="form-group">
<label for="loginInput" class="form-label">Correo electrónico:</label>
<input type="text" id="loginInput" name="login" placeholder="Ingrese su correo" required class="form-input">
</div>
<div id="login-error" class="error-message" style="color: red; margin-top: 10px;"></div>
<button type="submit" class="register-btn" id="loginSubmitBtn" disabled>
<span class="spinner"></span>Validar identidad
</button>
</form>
<!-- Formulario de nuevo usuario -->
<form id="form-new-user" style="display: none;" class="form">
@csrf
@include('web_experiences.enroll.card-new-user')
<div id="register-error" class="error-message" style="color: red; margin-top: 10px;"></div>
<button type="submit" class="register-btn-new-user" id="registerSubmitBtn" disabled>
<span class="spinner"></span>Registrarse y continuar
</button>
</form>
</div>
@endguest
@auth
<!-- Usuario autenticado: botón activo -->
<form id="enroll-form" method="POST" action="{{ route('web_experiences.enroll', ['id' => $experience->id]) }}">
@csrf
<div id="participants-container">
@include('web_experiences.enroll.card-participant')
</div>
<!-- Botón para agregar participantes -->
<button id="addParticipantBtn" type="button" onclick="addParticipant()" class="add-participant-btn">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-users w-5 h-5 mr-2">
<path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"></path>
<circle cx="9" cy="7" r="4"></circle>
<path d="M22 21v-2a4 4 0 0 0-3-3.87"></path>
<path d="M16 3.13a4 4 0 0 1 0 7.75"></path>
</svg>
Agregar participante
</button>
<input type="hidden" id="entries_per_purchase" value="{{ $experiencePlanPrice->plan->entries_per_purchase }}">
<input type="hidden" name="plan_price_id" value="{{ $experiencePlanPrice->id }}">
<input type="hidden" id="amount" name="amount" value="{{ $amount }}">
<input type="hidden" id="enable_raffle" value="{{ $experience->enable_raffle }}">
<div id="form-errors" style="color: red;"></div>
<button type="submit" class="register-btn" id="enrollSubmitBtn" disabled>
<span class="spinner"></span>{{ $experiencePlanPrice->price > 0 ? 'Continuar con el Pago' : 'Inscribir a la experiencia' }}
</button>
</form>
@endauth
</div>
</div>
</div>
@include('web_experiences.enroll.modal-otp')
</body>
@include('web_experiences.enroll.js')
</html>