Commit Graph
89 Commits
Author SHA1 Message Date
isaacclad 837c249634 Restore Paystack Inline in-page sheet/modal; stop separate-browser checkout.
Deploy Ladill Events / deploy (push) Successful in 1m6s
Pass access_code through pay responses and launch PaystackPop from the shared sheet instead of window.open.
2026-07-21 19:12:24 +00:00
isaacclad 14c17fffa7 Keep Paystack sheet/modal visible; open Paystack from Continue.
Deploy Ladill Events / deploy (push) Successful in 34s
Stop auto-popups that steal focus, use one responsive panel, and skip ladl.link redirects for JSON pay requests.
2026-07-21 18:46:26 +00:00
isaacclad d7ce7459a5 Open Paystack from the Pay click gesture, not after fetch.
Deploy Ladill Events / deploy (push) Successful in 57s
Paystack blocks iframes, so checkout uses a popup beside the sheet/modal chrome. Opening about:blank on the user tap keeps that window from being blocked after the async initiate response.
2026-07-21 18:13:33 +00:00
isaacclad 51244c7bad Fix Paystack sheet: stop iframe embeds that Paystack blocks.
Deploy Ladill Events / deploy (push) Successful in 37s
Paystack checkout.paystack.com returns X-Frame-Options: SAMEORIGIN, so the shared sheet opened empty. Keep mobile sheet/desktop modal chrome, launch checkout in a named window with a Continue CTA fallback, and escape payment-return via window.opener or top.
2026-07-21 17:34:35 +00:00
isaacclad 183f0305ce Present Paystack checkout in a responsive mobile sheet and desktop modal.
Deploy Ladill Events / deploy (push) Successful in 1m30s
Standardize customer-facing Ladill Pay checkout shells across products, open them on all viewports, and escape iframe callbacks back to the product flow.
2026-07-21 16:50:07 +00:00
isaaccladandCursor 7b20b71ea0 Route event ticket payments through centralized Ladill Pay.
Deploy Ladill Events / deploy (push) Successful in 45s
Replace per-owner gateway checkout with platform Paystack via the Pay API, drop owner key requirements from settings, and add coverage for init and idempotent completion.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-21 13:40:13 +00:00
isaacclad a5ebd1e414 fix(events): point Messaging settings at suite defaults, not API keys
Deploy Ladill Events / deploy (push) Successful in 48s
Mirror Care: suite platform keys count as ready for attendee email/SMS;
Account Messaging is primary, product Bird/SMS keys are advanced.
SmsService now prefers channel=suite before customer API keys.
2026-07-16 11:36:43 +00:00
isaacclad b73b071cb1 Gate payment gateway behind Pro and Business plans.
Deploy Ladill Events / deploy (push) Successful in 46s
Free accounts can no longer connect or use Paystack/Flutterwave/Hubtel;
settings show an upgrade path and checkout requires a paid subscription.
2026-07-15 21:04:03 +00:00
isaacclad 69ede57c03 Frame event checkout sheet for ticket buyers.
Deploy Ladill Events / deploy (push) Successful in 1m41s
Use buyer-facing copy, attendee email for gateway receipts, and keep operator wording only for staff wallet top-up.
2026-07-15 13:23:36 +00:00
isaaccladandCursor ab192e443f Embed event checkouts and send seller email to gateways.
Deploy Ladill Events / deploy (push) Successful in 1m42s
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>
2026-07-15 08:29:13 +00:00
isaaccladandCursor 6b2d97967a Fix Events /pro 500 and align Plans UI with Accounting.
Deploy Ladill Events / deploy (push) Successful in 2m1s
Use the Events user layout, match the Accounting/Invoice upgrade sidebar CTA, and tolerate a missing subscriptions table until migrate runs.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-15 08:14:07 +00:00
isaaccladandCursor 4c87c786da Add Events Pro/Business and BYO ticket gateways.
Deploy Ladill Events / deploy (push) Successful in 42s
Cut ticket checkouts off Ladill Pay, settle to merchant gateways at 0% platform fee, and mirror Invoice freemium pricing (GHS 49 / 149).

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-15 01:26:28 +00:00
isaaccladandCursor dda52722ce Add Sent via Ladill Events to customer email footers.
Deploy Ladill Events / deploy (push) Successful in 43s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-12 20:14:19 +00:00
isaaccladandCursor b5debd79c4 Add account company logo for customer event emails.
Deploy Ladill Events / deploy (push) Successful in 1m39s
Upload logo in account settings and prefer it over Ladill product marks in event notification headers.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-12 20:07:55 +00:00
isaaccladandCursor 407f1364fb Use generic copy on messaging Integrations screens.
Deploy Ladill Events / deploy (push) Successful in 44s
Drop wallet/brand marketing language so credential setup reads as neutral configuration.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-12 18:40:05 +00:00
isaaccladandCursor d14180b335 Replace native browser confirms with Ladill confirm dialogs.
Deploy Ladill Events / deploy (push) Successful in 42s
Integrations disconnect and custom-domain removal use the shared modal UI.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-12 17:51:22 +00:00
isaaccladandCursor 6e42cd1cb2 Add per-customer SMS and Bird Integrations for event messaging.
Deploy Ladill Events / deploy (push) Successful in 28s
Attendee and speaker comms use encrypted tenant relay credentials and skip platform-key fallback and Bird wallet double-debit.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-12 17:05:54 +00:00
isaacclad 13b2bd9702 Remove desktop header search from app topbars.
Deploy Ladill Events / deploy (push) Successful in 1m7s
Drop the lg+ topbar search field; mobile search entry points are unchanged.
2026-07-09 06:57:33 +00:00
isaacclad d6957a1618 Show boot splash on app open/reload for logged-in users.
Deploy Ladill Events / deploy (push) Successful in 36s
Replace the once-per-session sessionStorage guard (which suppressed the loading
screen after its first appearance) with entry-aware logic: show on app entry
and reloads, suppress on internal link navigations and back/forward.
2026-07-07 20:34:07 +00:00
isaaccladandCursor 129dd04bea Remove event search from Attendees, Badge printing, and Speakers hubs.
Deploy Ladill Events / deploy (push) Successful in 31s
These pages list all events directly without a redundant search filter.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-04 22:06:27 +00:00
isaaccladandCursor f7ee8dc322 List Programmes after Events as a top-level sidebar item.
Deploy Ladill Events / deploy (push) Successful in 46s
Restore flat nav ordering instead of nesting Programmes under Events.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-04 12:53:42 +00:00
isaaccladandCursor 8ead108a27 Nest Programmes under Events in sidebar and add programmes index hero.
Deploy Ladill Events / deploy (push) Successful in 44s
Match the Events list layout with balance, programme, and session stats so programme management feels consistent with the rest of the app.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-04 12:49:21 +00:00
isaaccladandCursor 71ab6e9d0e Remove QR Plus customization hint from event and programme show pages.
Deploy Ladill Events / deploy (push) Successful in 59s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-04 12:42:55 +00:00
isaaccladandCursor dac095ef92 Align programme flow with Events: system-generated QR, no customizer.
Deploy Ladill Events / deploy (push) Successful in 31s
Replace the QR-first create and edit experience with simple programme forms that auto-generate Ladill Link codes like events do.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-04 12:39:11 +00:00
isaaccladandCursor d25682bc6c Complete Ladill Pay payouts UI for Events.
Deploy Ladill Events / deploy (push) Successful in 38s
Show per-event payment history with fees and net amounts, and let organizers manage payout accounts and withdrawals without leaving the app.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-04 12:06:43 +00:00
isaacclad c875a64fe4 Use mobile icon buttons on Events and QR dashboards.
Deploy Ladill Events / deploy (push) Successful in 32s
Add header create actions and panel icon links; sync mobile notification badge partial.
2026-07-03 22:41:00 +00:00
isaaccladandCursor 0cf3ef5de0 Personalize speaker portal greeting with session topic.
Deploy Ladill Events / deploy (push) Successful in 26s
Replace the roster role line with "you are speaking on …" using the speaker's programme assignment or virtual session title.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-03 17:56:39 +00:00
isaaccladandCursor 157165954b Simplify speaker invite email and restore dark logo header.
Deploy Ladill Events / deploy (push) Successful in 1m49s
Remove the What to expect checklist from speaker invitations and use the dark gradient header so the white Events email logo reads clearly.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-03 17:39:52 +00:00
isaaccladandCursor 5662ac9454 Use PNG Ladill Events logo in all transactional email templates.
Deploy Ladill Events / deploy (push) Successful in 1m7s
Load ladillevents-logo-email.png via asset() on a light header and extend the branded layout to join, registration, and programme emails.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-03 17:30:21 +00:00
isaaccladandCursor 0c5a1ddb23 Send Events mail from platform SMTP like Invoice, not owner Bird domain.
Deploy Ladill Events / deploy (push) Successful in 31s
Use EventMailer with MAIL_FROM and organiser Reply-To instead of the Bird API, which rewrote the From address onto the account's verified domain (e.g. climp.me). Redesign the speaker invitation to use the shared Events email layout.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-03 17:09:05 +00:00
isaaccladandCursor 99ffc510f9 Improve speaker invites and redesign roster add flow.
Deploy Ladill Events / deploy (push) Successful in 41s
Surface specific send failures, allow resend, use ladl.link portal URLs, and replace stacked speaker forms with a single add-to-list pattern.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-03 16:01:47 +00:00
isaaccladandCursor fec24da7bd Add speaker invitations with portal page and programme host picker.
Deploy Ladill Events / deploy (push) Successful in 47s
Speakers require email, get a personal holding page with programme and stage links, auto-invites when programme hosts are saved, and manual send for events without a schedule; also fix wallet copy on event create and anchor attendee comms.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-03 15:48:32 +00:00
isaaccladandCursor 42d997a599 Fix Blade syntax error on event speakers page.
Deploy Ladill Events / deploy (push) Successful in 42s
Split inline @if directives in programme assignment rows so the speakers view compiles and loads without a 500.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-03 15:18:50 +00:00
isaaccladandCursor 2084cbc852 Cap public landing page logos at half the viewport width on mobile.
Deploy Ladill Events / deploy (push) Successful in 1m26s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-03 14:58:51 +00:00
isaaccladandCursor 7cce194567 Return Meet attendees to join flow after event registration.
Deploy Ladill Events / deploy (push) Successful in 47s
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>
2026-07-03 14:36:42 +00:00
isaaccladandCursor 9eab538f2e Fix webinar registration redirecting to ladl.link/undefined.
Deploy Ladill Events / deploy (push) Successful in 29s
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>
2026-07-03 14:06:37 +00:00
isaaccladandCursor d2ec31f7a5 Fix post-registration 404, add speaker management, and simplify event creation.
Deploy Ladill Events / deploy (push) Successful in 28s
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>
2026-07-03 13:44:53 +00:00
isaaccladandCursor 93272f968a Fix programme attachment dropdown always appearing disabled on events.
Deploy Ladill Events / deploy (push) Successful in 31s
Load itinerary options in the event show controller and link to programme creation when none exist yet.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-02 00:10:58 +00:00
isaaccladandCursor e9b51024d9 Add reusable copy-to-clipboard button for Events UI.
Deploy Ladill Events / deploy (push) Successful in 31s
Shared Alpine helper and Blade component with clipboard API fallback for one-click copy feedback.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-01 22:33:09 +00:00
isaaccladandCursor 05a6be7efe Complete Events–Meet integration phases 2–5.
Deploy Ladill Events / deploy (push) Successful in 41s
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>
2026-07-01 22:31:45 +00:00
isaaccladandCursor 06fedcfc55 Add virtual event sessions with Meet sync and platform-billed messaging.
Deploy Ladill Events / deploy (push) Successful in 41s
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>
2026-07-01 22:08:09 +00:00
isaaccladandCursor 70316879b2 Cap launcher dropdown at 15 visible apps (5 rows).
Deploy Ladill Events / deploy (push) Successful in 25s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-29 17:44:25 +00:00
isaaccladandCursor 18bb548c9f Hide launcher down arrow when scrolled to the end.
Deploy Ladill Events / deploy (push) Successful in 37s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-29 14:48:11 +00:00
isaaccladandCursor 7856ec854b Revert launcher scroll rail and fade; keep down arrow hint.
Deploy Ladill Events / deploy (push) Successful in 52s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-29 14:01:29 +00:00
isaaccladandCursor af9d315c70 Make launcher scroll affordance visible on open.
Deploy Ladill Events / deploy (push) Successful in 1m12s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-29 13:52:21 +00:00
isaacclad 2cafdb3dc1 Always show launcher scroll indicator and cap at 18 apps.
Deploy Ladill Events / deploy (push) Successful in 1m27s
Apply ladill-launcher-apps scroll styles unconditionally with a persistent
scrollbar track; propagate launcher blade and CSS across all Ladill apps.
2026-06-29 13:03:54 +00:00
isaaccladandCursor a015cda2ee Use + icon buttons on mobile dashboards.
Deploy Ladill Events / deploy (push) Successful in 58s
Sync mobile-header-btn partials, mobile x-btn.create, and update dashboard header actions for consistent mobile FABs.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-28 16:22:56 +00:00
isaaccladandCursor d369de0ce4 Place wallet widget after Billing link in mobile profile sheet.
Deploy Ladill Events / deploy (push) Successful in 1m14s
Remove duplicate Billing header above Home; wallet card follows Billing
in menu order to match the desktop avatar dropdown.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-28 14:07:07 +00:00
isaaccladandCursor d9137b47e5 Sync mobile profile wallet card and 24h session idle timeout.
Deploy Ladill Events / deploy (push) Successful in 49s
Show wallet balance prominently in the mobile profile bottom sheet with refresh
on open; align session lifetime with the platform default.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-28 12:46:19 +00:00
isaaccladandCursor b789e81134 Hide header avatar on mobile and sync shared mobile nav partials.
Deploy Ladill Events / deploy (push) Successful in 41s
Profile moves to the bottom nav sheet on small screens; optional search tab
support is synced from the Ladill platform template.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-28 12:04:32 +00:00