Removing the header search left ladill-link with no search input on an ordinary
page, and ladill-search-shortcut.js calls preventDefault before it goes looking
for one. So "/" was swallowed and did nothing — a dead key, which also blocked
Firefox's own quick-find.
Verified by running the real module against a simulated DOM:
header search present, no body url -> focuses the header input
header search gone, no body url -> prevented, focus nothing, go nowhere
header search gone, body url set -> navigates to the links list
Events and QR Plus already carried data-ladill-search-url on the body, so "/"
there now opens their search page and needed no change. Only this app was missing
it. The destination matches what the mobile Search tab already uses.
Matches Ladill Stock, whose header is now just AI, notifications, launcher and
the account menu. This partial is byte-identical to Stock's again.
Only the desktop block goes. The mobile full-screen search (partials/search-screen)
is untouched and still reached from the bottom nav, the `/` shortcut still focuses
page-level search inputs, and the search route and controller are left in place —
the Alpine topbarSearch component is still used by the mobile screen, so none of
it is dead code.
Ladill Webmail deliberately keeps its header search: it is the only desktop route
into mail search, and dropping it there would remove a core function rather than
tidy a header.
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.
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.
Standardize customer-facing Ladill Pay checkout shells across products, open them on all viewports, and escape iframe callbacks back to the product flow.
Move destination editing to the top of the link page, clarify that the short URL never changes, prevent caches from pinning old redirects, and test that later destination updates take effect immediately.
Forward query strings and path suffixes to the live destination, resolve public hosts from config/custom domains instead of hardcoding ladl.link, and keep proxy Location rewrites on the visitor host.
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.
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>
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>
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>
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>
Record parsed user-agent and geo data on clicks, then surface breakdowns and richer recent-click context on per-link and account analytics views.
Co-authored-by: Cursor <cursoragent@cursor.com>
Wire the chat route and Link-scoped system prompt, include the Afia panel in the main layout, and point the UI at link.afia.chat instead of the copied QR Plus route.
Co-authored-by: Cursor <cursoragent@cursor.com>
Sync QR and storefront short codes from sibling apps via a platform catalog API so My Links shows every ladl.link URL in one place.
Co-authored-by: Cursor <cursoragent@cursor.com>
Add Bitly-style branded domain support via Ladill Domains SSL API,
account analytics dashboard, settings page with default domain picker,
and fix SSO/dashboard issues from QR Plus template leftovers.
Co-authored-by: Cursor <cursoragent@cursor.com>
Management UI at link.ladill.com with GHS 0.05 per link wallet billing,
click analytics, and legacy fallback to ladill.com/q for QR ecosystem codes.
Co-authored-by: Cursor <cursoragent@cursor.com>