Commit Graph
74 Commits
Author SHA1 Message Date
isaacclad 72aabf5429 Fit promo image fully inside the customer display card.
Deploy Ladill POS / deploy (push) Successful in 36s
Center and clamp the image with object-contain so it scales within the
card bounds without cropping or overflowing.
2026-07-15 21:23:24 +00:00
isaacclad 7d1e4a65d7 Redesign customer display idle promo as a hero layout.
Deploy Ladill POS / deploy (push) Successful in 1m5s
Make the promo image fill the kiosk instead of a small thumbnail, with
side-by-side copy on landscape screens and a calmer type hierarchy.
2026-07-15 21:19:33 +00:00
isaacclad e5b4f3d654 Show promo image again on the idle customer display.
Deploy Ladill POS / deploy (push) Successful in 58s
Restore the configured promo image above the welcome copy when the
register cart is empty so store branding still surfaces to customers.
2026-07-15 21:15:13 +00:00
isaacclad 836aa83f41 Gate payment gateway behind Pro and Business plans.
Deploy Ladill POS / deploy (push) Successful in 1m9s
Free accounts keep cash sales only; connecting a gateway and card/MoMo
checkout require a paid plan, with settings upsell copy for free users.
2026-07-15 21:04:09 +00:00
isaacclad 689c9924df Simplify customer display branding on empty cart.
Deploy Ladill POS / deploy (push) Successful in 42s
Drop the centered idle logo and render the header logo without a card
so brand marks stay clean and uncluttered.
2026-07-15 16:34:31 +00:00
isaacclad aed0722641 Restyle customer display to match Frontdesk kiosk UI.
Deploy Ladill POS / deploy (push) Successful in 41s
Use a light shell, soft indigo accents, and object-contain logos so
brand marks are not square-cropped on the dual-screen customer view.
2026-07-15 16:31:23 +00:00
isaacclad 600aedb59d Email digital receipts, add promo settings, and apply tips at charge.
Deploy Ladill POS / deploy (push) Successful in 31s
Send real receipt emails from the customer display and sale page, store
branch promo content for the idle screen, and fold selected tips into totals.
2026-07-15 16:10:20 +00:00
isaacclad 468346b183 Wire POS register loyalty earn and redeem through CRM.
Deploy Ladill POS / deploy (push) Has been cancelled
Redeem at charge, earn on payment, reverse on cancel, and surface
balances on the till, customer display, sales, and receipts.
2026-07-15 15:46:28 +00:00
isaacclad 38b7f96714 Add dual-screen customer display for the register.
Deploy Ladill POS / deploy (push) Successful in 56s
Token-gated full-screen customer view shows order, payment QR, tips,
signature, receipt, and promo phases while the till keeps operator UI.
2026-07-15 15:35:44 +00:00
isaacclad 5e31bdf629 Limit Pro to 3 branches and leave Business unlimited.
Deploy Ladill POS / deploy (push) Successful in 2m15s
Enforce plan location caps in SubscriptionService, surface upgrade
copy on plans and branch settings, and cover the limits in tests.
2026-07-15 15:24:51 +00:00
isaacclad e2b608a506 Keep POS retail catalog product-only and raise Pro pricing.
Deploy Ladill POS / deploy (push) Successful in 46s
Retail still reads live CRM products only (not services), products mode follows the acting branch, and suite Pro/Business defaults match the tenfold price update.
2026-07-15 13:54:53 +00:00
isaacclad 7c20cf705a Frame POS checkout sheet for till operators.
Deploy Ladill POS / deploy (push) Successful in 1m16s
Use operator-facing copy and merchant email so Card/MoMo checkout is for staff handing the screen to a customer, not self-serve buyers.
2026-07-15 13:23:29 +00:00
isaacclad 69ec45eea6 Fix 500 when saving payment gateway credentials.
Deploy Ladill POS / deploy (push) Successful in 1m32s
Implement the missing SettingsController::persistGateway method so merchant Paystack/Flutterwave/Hubtel keys can be saved, and cover create + keep-blank-secrets paths with tests.
2026-07-15 13:11:02 +00:00
isaaccladandCursor 3c0172f098 Embed POS checkouts in a modal/sheet using the seller email.
Deploy Ladill POS / deploy (push) Successful in 40s
Card/MoMo always initializes with the merchant email, and Paystack/Flutterwave/Hubtel open in-page (desktop modal, mobile bottomsheet) instead of a full redirect.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-15 08:29:07 +00:00
isaaccladandCursor 3ea9fdfe33 Replace Ladill Pay POS checkouts with merchant gateways.
Deploy Ladill POS / deploy (push) Successful in 30s
Register Card/MoMo payments through merchant Paystack, Flutterwave, or Hubtel settings so takings settle 100% to the business.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-15 01:26:22 +00:00
isaaccladandCursor 2e969f8db2 Add branch switcher to mobile profile bottom sheet.
Deploy Ladill POS / deploy (push) Successful in 31s
Matches Woo store switcher pattern; desktop header switcher stays on large screens only.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-08 06:52:22 +00:00
isaaccladandCursor 765506320e Move branch switcher left of Afia in the header.
Deploy Ladill POS / deploy (push) Successful in 27s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-08 06:48:25 +00:00
isaaccladandCursor 35970dfd2a Surface branches and team as explicit settings sections.
Deploy Ladill POS / deploy (push) Successful in 37s
Embed branch list, switching, and team invites on the main settings page; dedicated routes redirect back with anchors.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-08 06:46:17 +00:00
isaaccladandCursor afca49039b Fix missing AiController import in web routes.
Deploy Ladill POS / deploy (push) Successful in 1m36s
Restores route resolution after multi-branch route additions.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-08 06:35:13 +00:00
isaaccladandCursor 9d7dac6c24 Add multi-branch POS with team roles and branch-scoped cashiers.
Deploy Ladill POS / deploy (push) Successful in 1m58s
Pro and Business users can manage branches, invite cashiers with branch assignment, and switch registers; sales and register flows respect acting location.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-08 06:05:30 +00:00
isaaccladandCursor cac7c60415 Add receipt logo upload and redesign thermal receipt header.
Deploy Ladill POS / deploy (push) Successful in 1m32s
Per-location logo in settings with remove/replace support; receipt template reserves space at the top when a logo is set.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-08 05:48:40 +00:00
isaaccladandCursor 9a2d196d84 Add barcode scanner, thermal receipt printing, and printer settings.
Deploy Ladill POS / deploy (push) Successful in 1m42s
Register supports USB keyboard-wedge scanners with SKU lookup (local catalog
and CRM in retail mode). Sales get a thermal receipt print template (58/80mm)
with configurable header/footer, plus optional auto-print after cash sales.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-08 05:40:14 +00:00
isaaccladandCursor 74bc89a68a Update POS favicon.
Deploy Ladill POS / deploy (push) Successful in 55s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-08 00:00:42 +00:00
isaaccladandCursor 9c67150c77 Update POS logo and Give/POS launcher icons from monolith.
Deploy Ladill POS / deploy (push) Successful in 35s
Redeploy refreshed branding assets for the POS app.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-07 22:48:06 +00:00
isaacclad 86ffa2629b Show boot splash on app open/reload for logged-in users.
Deploy Ladill POS / deploy (push) Successful in 54s
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:35:18 +00:00
isaacclad c9186300e0 Sync app launcher from registry
Deploy Ladill POS / deploy (push) Successful in 39s
2026-07-07 14:42:53 +00:00
isaacclad bedd546fd4 Prefer system npm in deploy CI when portable node-gyp is broken.
Deploy Ladill POS / deploy (push) Successful in 29s
Falls back to downloading Node only when host npm is unavailable, fixing npm ci failures on ladill-deploy-runner.
2026-07-07 00:46:54 +00:00
isaacclad 622847c3a8 Sync app launcher from registry
Deploy Ladill POS / deploy (push) Failing after 4s
2026-07-07 00:21:55 +00:00
isaaccladandCursor ac5e513dd2 Standardize settings pages on shared centered card layout.
Deploy Ladill POS / deploy (push) Successful in 41s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-05 21:11:48 +00:00
isaaccladandCursor 3d34543d44 Fix products routes missing ProductController import.
Deploy Ladill POS / deploy (push) Successful in 42s
Resolve 500 on /products caused by unresolved controller class in web routes.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-04 20:18:53 +00:00
isaaccladandCursor 7ce95d05ab Propagate shared copy-button component and clipboard helper.
Deploy Ladill POS / deploy (push) Successful in 56s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-03 23:04:20 +00:00
isaacclad 1359b49c97 Sync mobile notification badge and dashboard icon-link partials.
Deploy Ladill POS / deploy (push) Successful in 1m2s
Align mobile unread badge with desktop and add plus icon support for panel actions.
2026-07-03 22:41:01 +00:00
isaacclad 8e0cad7fc7 Sync app launcher from registry
Deploy Ladill POS / deploy (push) Successful in 1m26s
2026-07-01 17:05:01 +00:00
isaaccladandCursor 88e1c28aac Add dashboard upgrade banner for free POS plans.
Deploy Ladill POS / deploy (push) Successful in 1m0s
Highlight Pro and Business plans on the register overview for merchants on the free tier.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-30 18:13:22 +00:00
isaaccladandCursor e1053746ac Throttle platform SSO session checks to cut per-request auth latency.
Deploy Ladill POS / deploy (push) Successful in 33s
Verify auth.ladill.com at most once every 90s; recommend Redis for session/cache in .env.example.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-30 16:49:38 +00:00
isaaccladandCursor 2d8714de7f Show consolidated prepaid totals on plan pricing cards.
Deploy Ladill POS / deploy (push) Successful in 39s
When 6/12/24 month Paystack is selected, Pro and Business prices display the full term amount instead of /mo.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-30 11:39:26 +00:00
isaaccladandCursor d66e656b9c Add Business tier and Paystack prepaid billing for POS.
Deploy Ladill POS / deploy (push) Successful in 35s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-30 01:55:38 +00:00
isaaccladandCursor f800f0c1ca Add POS Pro subscription billing and free-tier limits.
Deploy Ladill POS / deploy (push) Successful in 43s
Wallet-backed Pro unlocks unlimited products, restaurant mode, catalog imports, and ecosystem sync features.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-30 00:51:35 +00:00
isaacclad 68255786e1 Add Queue to app launcher config and icon.
Deploy Ladill POS / deploy (push) Successful in 1m6s
Propagated from ladill monorepo launcher sync.
2026-06-29 22:12:15 +00:00
isaacclad b7216d191c Sync app launcher from registry
Deploy Ladill POS / deploy (push) Successful in 54s
2026-06-29 17:53:13 +00:00
isaaccladandCursor fbff76a92d Cap launcher dropdown at 15 visible apps (5 rows).
Deploy Ladill POS / deploy (push) Has been cancelled
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-29 17:45:58 +00:00
isaaccladandCursor f7ccbda7ad Hide launcher down arrow when scrolled to the end.
Deploy Ladill POS / deploy (push) Successful in 31s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-29 14:49:25 +00:00
isaaccladandCursor b9b0598e87 Revert launcher scroll rail and fade; keep down arrow hint.
Deploy Ladill POS / deploy (push) Successful in 44s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-29 14:02:54 +00:00
isaaccladandCursor 0f4a5623ee Make launcher scroll affordance visible on open.
Deploy Ladill POS / deploy (push) Has been cancelled
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-29 13:53:33 +00:00
isaacclad 13dc3ce10a Sync app launcher from registry
Deploy Ladill POS / deploy (push) Successful in 44s
2026-06-29 13:29:41 +00:00
isaacclad ccb97bf0d0 Always show launcher scroll indicator and cap at 18 apps.
Deploy Ladill POS / deploy (push) Successful in 56s
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:06:00 +00:00
isaaccladandCursor 154a418149 Use + icon buttons on mobile dashboards.
Deploy Ladill POS / deploy (push) Successful in 36s
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:21:40 +00:00
isaaccladandCursor e716f1a43a Place wallet widget after Billing link in mobile profile sheet.
Deploy Ladill POS / deploy (push) Successful in 49s
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:08:52 +00:00
isaaccladandCursor 11a7502381 Sync mobile profile wallet card and 24h session idle timeout.
Deploy Ladill POS / deploy (push) Successful in 1m35s
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:20 +00:00
isaaccladandCursor 4f0a35485d Add mobile bottom nav and hide header avatar on small screens.
Deploy Ladill POS / deploy (push) Successful in 1m1s
POS now uses the shared Ladill mobile header and bottom navigation pattern.

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