Commit Graph
32 Commits
Author SHA1 Message Date
isaaccladandCursor ff6e5aee51 Add Merchant-style hero to My Payment QR index page.
Deploy Ladill Mini / deploy (push) Successful in 39s
Surface wallet balance, QR count, and active stats in a gradient hero with balance-gated create CTA.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-04 20:34:29 +00:00
isaaccladandCursor a07dd558a3 Wire LadillLink through QrCode model and remaining QR surfaces.
Deploy Ladill Mini / deploy (push) Successful in 35s
Public URLs, encoded payloads, slug preview, payment callbacks, and asset paths now use ladl.link instead of ladill.com/q/*.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-27 16:16:25 +00:00
isaaccladandCursor 3fd5d785e3 Use ladl.link URLs for all front-facing QR and short-link surfaces.
Deploy Ladill Mini / deploy (push) Successful in 39s
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>
2026-06-27 15:46:22 +00:00
isaaccladandClaude Opus 4.8 9cbdd1a26c Add wallet balance widget to the profile menu (after Billing)
Deploy Ladill Mini / deploy (push) Successful in 25s
Wallet balance peek rendered as a menu row directly under Billing, backed by
a /wallet/balance endpoint (BillingClient) and guarded by Route::has. Also
opens Afia via a direct window event for reliability.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-23 12:26:03 +00:00
isaaccladandCursor ea51b49342 Serve assetlinks.json for Android App Links verification.
Deploy Ladill Mini / deploy (push) Successful in 40s
Expose /.well-known/assetlinks.json from env-configured Play app signing fingerprints so mini.ladill.com passes Play Console deep link domain checks.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-22 00:08:56 +00:00
isaaccladandCursor 094bd5b886 Bind app sessions to the platform auth session.
Deploy Ladill Mini / deploy (push) Successful in 26s
Clear local sessions when auth.ladill.com signs out and ping the platform session from keepalive.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-20 08:26:30 +00:00
isaaccladandCursor df07b9731d Send SSO guests to ladill.com/products/mini instead of subdomain landings.
Deploy Ladill Mini / deploy (push) Successful in 39s
Remove interactive OAuth fallback on silent SSO failure and add ladill.marketing_url config so app subdomains open the dashboard when signed in locally.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-12 22:21:52 +00:00
isaaccladandCursor 2c4eaf1241 Add wallet auto-withdraw threshold support for Ladill Mini.
Deploy Ladill Mini / deploy (push) Failing after 42s
Store per-user auto-withdraw amounts, expose them via the wallet API, and process withdrawals when balances reach the configured threshold after payments or on a schedule.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-12 07:44:42 +00:00
isaaccladandCursor 136bfbea47 Wire seller push notifications with FCM, inbox API, and payment milestones.
Deploy Ladill Mini / deploy (push) Successful in 52s
Sellers get instant payment alerts on Android; withdrawals respect payout prefs.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-11 19:04:44 +00:00
isaaccladandCursor ad96754099 Add Mini API endpoint for Afia chat so the Android app can reach the assistant with Bearer auth.
Deploy Ladill Mini / deploy (push) Successful in 28s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-11 18:12:32 +00:00
isaaccladandClaude Opus 4.8 06efef53b6 Mini API: include saved phone in account settings.
Deploy Ladill Mini / deploy (push) Successful in 30s
settings() now fetches phone from the central identity profile (guarded), so the
app's Profile screen shows the phone the user previously saved.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-11 13:11:17 +00:00
isaaccladandClaude Opus 4.8 1b134d7fd3 Mini API: banks endpoint for payout-account picker.
Deploy Ladill Mini / deploy (push) Successful in 1m22s
GET /api/v1/mini/wallet/banks?type=bank|mobile_money proxies to the central
identity banks endpoint so the app's payout sheet populates from Paystack.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-11 12:52:19 +00:00
isaaccladandClaude Opus 4.8 3406bd730a Mini API: support ticket endpoints (replaces Afia support chat).
Deploy Ladill Mini / deploy (push) Successful in 28s
Support is now a ticket system proxied to the central identity support API:
GET/POST /mini/support/tickets and GET /mini/support/tickets/{id}. Removed the
Afia-backed /support/chat route.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-11 12:29:35 +00:00
isaaccladandClaude Opus 4.8 af1f197059 Mini API: avatar, wallet payout/withdraw, stale-payment auto-cancel.
Deploy Ladill Mini / deploy (push) Successful in 48s
Adds account avatar upload (multipart proxy to identity), wallet payout-account
+ withdrawal endpoints, and a hourly mini:cancel-stale-payments command that
cancels payments pending beyond 6h (new MiniPayment::STATUS_CANCELED).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-11 12:03:48 +00:00
isaaccladandClaude Opus 4.8 c39e38cbe0 Mini API: account settings, wallet & support endpoints for the app.
Deploy Ladill Mini / deploy (push) Successful in 40s
Adds /api/v1/mini account (settings, profile, change-password), wallet (balance
+ ledger, Paystack top-up) and support (Afia chat) endpoints. Account/profile/
password/top-up proxy to the central identity API via a CallsIdentityApi trait;
notifications, wallet balance and support chat are served locally.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-11 11:03:33 +00:00
isaaccladandClaude Opus 4.8 90d7aab547 Fix 500 on mobile sign-in: acting account + connection errors.
Deploy Ladill Mini / deploy (push) Successful in 1m31s
presentUser() ran on the public login/register routes where SetActingAccount
never runs, so ladill_account() was null and dereferencing it 500'd. Default
the acting account to the user at sign-in, and route identity-API calls through
a helper with timeouts that turns ConnectionException into a clean message
instead of an unhandled 500.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-11 09:51:41 +00:00
isaaccladandClaude Opus 4.8 9f175c5334 Afia: fix context() calling undefined QrTypeCatalog::eventTypes()
Deploy Ladill Mini / deploy (push) Successful in 27s
Use paymentTypes() (this app's catalog) so the chat context loads instead of
500ing — the eventTypes() call was a QR Plus leftover.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-11 07:45:17 +00:00
isaaccladandClaude Opus 4.8 cd56771b59 Mobile auth: native login + register via central identity API.
Deploy Ladill Mini / deploy (push) Successful in 31s
Login no longer uses the OAuth password grant (which wasn't enabled, the cause
of login failures). Both login and the new register endpoint proxy to
auth.ladill.com /api/identity/auth/* (shared IDENTITY_API_KEY_MINI), provision
the local mirror, and issue a Sanctum token — one Ladill identity across web
and app.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-10 23:04:04 +00:00
isaaccladandClaude Opus 4.8 307248749b Add mobile API for Ladill Mini Android app.
Deploy Ladill Mini / deploy (push) Successful in 47s
Token login via OAuth password grant against auth.ladill.com (AuthController),
plus /api/v1/mini endpoints (overview, payment-qrs CRUD + preview, payments,
payouts) mirroring the web Mini controllers. Sanctum abilities mini:read/write.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-10 22:13:30 +00:00
isaaccladandClaude Opus 4.8 70ded0e668 Add product landing page at root (replaces SSO redirect).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-10 22:13:30 +00:00
isaaccladandClaude Opus 4.8 019c450cdd Per-app logout keeps platform SSO session (quick password-less re-entry).
Deploy Ladill Mini / deploy (push) Successful in 1m14s
Local-only sign-out: end this app's session but leave the auth.ladill.com
session intact, so the signed-out page's Sign in again re-auths silently via
prompt=none. Full sign-out of all Ladill apps remains on account.ladill.com.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-10 11:23:33 +00:00
isaaccladandCursor ce3b4e1a41 Fix SSO popup callback infinite loop and post-login 500.
Deploy Ladill Mini / deploy (push) Successful in 36s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-09 20:21:24 +00:00
isaaccladandCursor c42e5819dc Keep the app subdomain visible during Ladill SSO login and logout.
Deploy Ladill Mini / deploy (push) Successful in 42s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-09 12:14:48 +00:00
isaaccladandCursor 7ffa44b128 Add mobile-only payment search for Ladill Mini.
Deploy Ladill Mini / deploy (push) Successful in 24s
Wire the mobile search tab to a payments search page and remove desktop header search shortcuts.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-08 21:47:33 +00:00
isaaccladandCursor 99dae20743 Fix payment QR edits and mobile payment sheet keyboard gap.
Deploy Ladill Mini / deploy (push) Successful in 40s
Persist payment QR business fields on update, handle is_active correctly, and keep the amount bottom sheet flush to the screen while moving with the keyboard on iOS.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-07 23:16:55 +00:00
isaaccladandCursor f52e3e882e Add delete for Mini payment QRs.
Deploy Ladill Mini / deploy (push) Successful in 33s
Vendors can remove a payment QR from the show page; stored images are cleaned up and the short link stops resolving.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-07 20:49:15 +00:00
isaaccladandCursor 327cf65e6c Remove vendor logo upload from Mini payment QR create and edit.
Deploy Ladill Mini / deploy (push) Successful in 28s
Vendors only need label, business name, and optional branch — no logo field in the flow.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-07 20:43:33 +00:00
isaaccladandCursor f405217a33 Use mobile bottom sheet for Mini checkout and wrap Paystack in branded frame.
Deploy Ladill Mini / deploy (push) Successful in 25s
Amount entry slides up from the bottom on mobile; Paystack opens in a Ladill Mini sheet on mobile and a centered modal on desktop instead of leaving the site.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-07 20:29:13 +00:00
isaaccladandCursor f0bf96b438 Strip Mini checkout to amount-only and use vendor email for Paystack.
Deploy Ladill Mini / deploy (push) Successful in 30s
Customers enter an amount and tap Pay; the merchant's account email (or notifications email from settings) is passed to Paystack instead of asking the payer for details.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-07 20:22:16 +00:00
isaaccladandCursor 7eaa0ab23a Fix payment QR preview rendering using inline data URIs.
Deploy Ladill Mini / deploy (push) Successful in 44s
Match Events/QR Plus pattern so QR images render without a separate authenticated preview URL, and add a styled preview card on the show page.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-07 19:57:55 +00:00
isaaccladandCursor 987f7dce0c Fix leftover Events routes breaking SSO and dashboard.
Deploy Ladill Mini / deploy (push) Failing after 52s
Replace events.* route names with mini.* defaults, remove unused topbar search, and align deploy script with ladill-mini paths.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-07 18:54:59 +00:00
isaaccladandCursor db66d99895 Initial Ladill Mini app — trader payment QRs without styling.
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>
2026-06-07 18:43:39 +00:00