Key Decisions and Challenges
Click-proxy pattern for "Edit Frequency": since the product row's whole surface was a click target for "Edit Product," I added a separate visible button that intercepts clicks in the capture phase (stopImmediatePropagation) and forwards them to Loop's real, hidden frequency-edit control, giving two distinct actions without touching Loop's own event handlers. CSS Grid over DOM relocation: instead of moving cards in the DOM (risky with a re-rendering React tree), I re-pinned sections using explicit grid-row/grid-column values, which is safe against re-renders and kept every node under React's control. Mobile card order: the desktop 2-column grid collapses to mobile in a specific order the client's mockup called for (Product, Next Delivery, Shipping, Payment) rather than the default row-major stacking order, which took an explicit mobile-only row map to get right. Safe testing constraint: because previews ran against a real customer account, all verification was visual-only, with no functional testing of Pause/Cancel/Skip, which meant being extra disciplined about only ever adding or cloning nodes, never removing or rewiring existing Loop controls.