Lean control center at mini.ladill.com: payment QR CRUD, Paystack checkout with 5% fee settlement via Billing API, payments feed, and payouts. QR codes use a fixed black-and-white preset only. Co-authored-by: Cursor <cursoragent@cursor.com>
74 lines
5.0 KiB
PHP
74 lines
5.0 KiB
PHP
@php
|
|
$c = $qrCode->content();
|
|
$evColor = $c['brand_color'] ?? '#4f46e5';
|
|
$evName = $c['name'] ?? $qrCode->label;
|
|
$isContribution = ($c['mode'] ?? 'ticketing') === 'contributions';
|
|
$badgeUrl = 'https://api.qrserver.com/v1/create-qr-code/?size=220x220&data=' . urlencode($registration->badge_code);
|
|
@endphp
|
|
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>{{ $isContribution ? 'Thank you' : "You're registered" }} — {{ $evName }}</title>
|
|
@include('partials.favicon')
|
|
<script src="https://cdn.tailwindcss.com"></script>
|
|
</head>
|
|
<body class="min-h-screen bg-slate-100 flex items-center justify-center px-4 py-10">
|
|
<div class="w-full max-w-sm">
|
|
<div class="overflow-hidden rounded-3xl bg-white shadow-xl">
|
|
<div class="px-6 py-7 text-center" style="background:linear-gradient(160deg, {{ $evColor }} 0%, {{ $evColor }}cc 100%);">
|
|
<div class="mx-auto mb-3 flex h-14 w-14 items-center justify-center rounded-full bg-white/20">
|
|
<svg class="h-8 w-8 text-white" fill="none" stroke="currentColor" stroke-width="2.5" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" d="m4.5 12.75 6 6 9-13.5"/></svg>
|
|
</div>
|
|
<h1 class="text-xl font-black text-white">{{ $isContribution ? 'Thank you!' : "You're registered!" }}</h1>
|
|
<p class="mt-1 text-sm text-white/85">{{ $evName }}</p>
|
|
</div>
|
|
|
|
<div class="px-6 py-6 text-center">
|
|
@if($isContribution)
|
|
<p class="text-sm text-slate-500">Hi <span class="font-semibold text-slate-800">{{ $registration->attendee_name }}</span>, your contribution has been received.</p>
|
|
|
|
<div class="mt-5 rounded-2xl border border-slate-200 bg-slate-50 px-5 py-6">
|
|
<p class="text-[10px] font-bold uppercase tracking-widest text-slate-400">{{ $registration->tier_name }}</p>
|
|
<p class="mt-1 text-3xl font-black" style="color:{{ $evColor }}">{{ $registration->currency }} {{ number_format($registration->amountCedis(), 2) }}</p>
|
|
<p class="mt-3 text-[10px] font-bold uppercase tracking-widest text-slate-400">Reference</p>
|
|
<p class="font-mono text-sm font-bold tracking-[0.15em] text-slate-700">{{ $registration->badge_code }}</p>
|
|
</div>
|
|
|
|
@if(($registration->badge_fields ?? []))
|
|
<div class="mt-5 space-y-2 text-left text-sm">
|
|
@foreach(($registration->badge_fields ?? []) as $label => $value)
|
|
<div class="flex justify-between border-b border-slate-100 pb-2"><span class="text-slate-400">{{ $label }}</span><span class="font-semibold text-slate-800">{{ $value }}</span></div>
|
|
@endforeach
|
|
</div>
|
|
@endif
|
|
|
|
<p class="mt-5 text-xs text-slate-400">A receipt was sent to {{ $registration->attendee_email }}.</p>
|
|
@else
|
|
<p class="text-sm text-slate-500">Hi <span class="font-semibold text-slate-800">{{ $registration->attendee_name }}</span>, your spot is confirmed.</p>
|
|
|
|
<div class="mt-5 rounded-2xl border border-slate-200 bg-slate-50 px-5 py-5">
|
|
<img src="{{ $badgeUrl }}" alt="Badge QR" class="mx-auto h-40 w-40 rounded-xl bg-white p-2 shadow-sm">
|
|
<p class="mt-3 text-[10px] font-bold uppercase tracking-widest text-slate-400">Badge code</p>
|
|
<p class="font-mono text-2xl font-black tracking-[0.2em]" style="color:{{ $evColor }}">{{ $registration->badge_code }}</p>
|
|
</div>
|
|
|
|
<div class="mt-5 space-y-2 text-left text-sm">
|
|
<div class="flex justify-between border-b border-slate-100 pb-2"><span class="text-slate-400">Ticket</span><span class="font-semibold text-slate-800">{{ $registration->tier_name }}</span></div>
|
|
@if($registration->isPaid())
|
|
<div class="flex justify-between border-b border-slate-100 pb-2"><span class="text-slate-400">Paid</span><span class="font-semibold text-slate-800">{{ $registration->currency }} {{ number_format($registration->amountCedis(), 2) }}</span></div>
|
|
@endif
|
|
@foreach(($registration->badge_fields ?? []) as $label => $value)
|
|
<div class="flex justify-between border-b border-slate-100 pb-2"><span class="text-slate-400">{{ $label }}</span><span class="font-semibold text-slate-800">{{ $value }}</span></div>
|
|
@endforeach
|
|
</div>
|
|
|
|
<p class="mt-5 text-xs text-slate-400">Show this badge code at check-in. A confirmation was sent to {{ $registration->attendee_email }}.</p>
|
|
@endif
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</html>
|