Ticket/contribution payments open in a desktop modal or mobile sheet, initialize with the organizer email, and break out of the iframe after callback.
Co-authored-by: Cursor <cursoragent@cursor.com>
Add badge verification API, preserve meet_return through registration and payment, and link confirmation back to Meet with badge auto-login.
Co-authored-by: Cursor <cursoragent@cursor.com>
Exempt public register POST from cross-site CSRF, collect email on the
landing form, and handle API errors instead of navigating to a missing
success_url.
Co-authored-by: Cursor <cursoragent@cursor.com>
Proxy registration transaction paths on Events, add a join button on the
confirmation page, introduce speaker roster management, and replace the QR
design wizard with merchant-style create/show flows.
Co-authored-by: Cursor <cursoragent@cursor.com>
Programme sync to Meet rooms, wallet-billed mass comms, webhook lifecycle updates, and registration access bridge with join-window gating on public pages.
Co-authored-by: Cursor <cursoragent@cursor.com>
Events can define hybrid/virtual sessions synced to Meet rooms; SMS and email use wallet-billed platform APIs instead of Termii and Laravel mail.
Co-authored-by: Cursor <cursoragent@cursor.com>
Public landing pages, asset paths, payment callbacks, and redirects now go through QrCode::publicPath() / LadillLink instead of ladill.com/q/* routes.
Co-authored-by: Cursor <cursoragent@cursor.com>
Attendees without Ladill accounts no longer need email at checkout; phone is required so organizers can reach them.
Co-authored-by: Cursor <cursoragent@cursor.com>
Add favicon partial to all standalone pages, regenerate the Events icon asset, and stop marking deploys failed when the nginx vhost step cannot sudo.
Co-authored-by: Cursor <cursoragent@cursor.com>
Full control center for ticketed events, contributions, attendees, badges,
and programmes — not a QR utility clone. Includes SSO shell, import command,
and platform cutover runbook.
Co-authored-by: Cursor <cursoragent@cursor.com>