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.
Surfaces actionable controls in Ladill instead of status-only cards: sync catalogs via the plugin proxy, show channel metrics, and link to orders/labels for fulfillment.
Co-authored-by: Cursor <cursoragent@cursor.com>
Agencies can invite store-scoped managers via Identity, with access limited to one WooCommerce store while owners retain full multi-store control.
Co-authored-by: Cursor <cursoragent@cursor.com>
Cache per-store status for five minutes, add TikTok/Reddit/Meta cards, and let merchants refresh without reloading WordPress on every visit.
Co-authored-by: Cursor <cursoragent@cursor.com>
Surface Google, Pinterest, Snapchat, and shipping status from the WordPress plugin with deep links to finish setup in WooCommerce.
Co-authored-by: Cursor <cursoragent@cursor.com>
Desktop store pill sits left of Afia like POS; mobile store switching stays in the profile sheet and the bottom-nav search tab is removed.
Co-authored-by: Cursor <cursoragent@cursor.com>
The once-per-session sessionStorage guard suppressed the loading screen after
its first appearance, so logged-in users effectively never saw it. Show it on
app entry (external referrer / direct / new tab) and reloads, while still
suppressing it on internal link navigations and back/forward to avoid flashing.
Co-authored-by: Cursor <cursoragent@cursor.com>
Bundles the ladill-woo plugin zip and shows a download + connect guide panel
so merchants can install the plugin and link their WooCommerce store.
Co-authored-by: Cursor <cursoragent@cursor.com>
Resolve the splash icon from the launcher registry by matching the current
host, so woo.ladill.com uses woomanager.svg instead of the subdomain-named
woo.svg (which is a copy of the merchant icon).
Co-authored-by: Cursor <cursoragent@cursor.com>
New order, store connected, Pro expiry, and past-due alerts use the Ladill notification layout with woo branding; expiry reminders dedupe per threshold like hosting.
Co-authored-by: Cursor <cursoragent@cursor.com>
Logout now lands on the branded sign-out screen with Woo-specific copy instead of the minimal placeholder card.
Co-authored-by: Cursor <cursoragent@cursor.com>
Desktop store switcher now sits after search; mobile shows route-based page titles, bottom nav, and store switching inside the profile sheet.
Co-authored-by: Cursor <cursoragent@cursor.com>
The chat panel and POST /ai/chat route were missing after the Invoice scaffold; Afia now relays through the platform when no local OpenAI key is set.
Co-authored-by: Cursor <cursoragent@cursor.com>
Sync full image sets through the plugin, with upload/URL support in the product editor and thumbnails in the list.
Co-authored-by: Cursor <cursoragent@cursor.com>
Auto-import catalog and orders after store activation, add manual order sync, and allow WooCommerce webhooks without CSRF tokens.
Co-authored-by: Cursor <cursoragent@cursor.com>
Sync catalog via plugin webhooks and REST proxy, with list/create/edit UI and updated logo from monolith assets.
Co-authored-by: Cursor <cursoragent@cursor.com>