The GSTIN lookup rendered its CAPTCHA (image + 6-digit input + Verify / New image) inline inside the Add/Edit Vendor dialog. AdminDialog has no internal scroll and is vertically centred, so the taller form pushed its footer (Cancel / Create Vendor / Save) off-screen and out of reach. Extract the CAPTCHA into a dedicated popup (CaptchaPopup) overlaid on the vendor form at z-[60] with an explicit Cancel button and a ✕ close control. It handles Escape on the capture phase so dismissing the CAPTCHA does not also close the underlying form. In-flight CAPTCHA errors now show inside the popup (it stays open so the user can retry / get a new image); the success line still lands on the main form. The form footer is never displaced. Adds a unit test covering popup open on Look up, Cancel closing only the popup, and a successful verify populating the fields. Fixes #114 |
||
|---|---|---|
| .. | ||
| admin | ||
| approvals | ||
| catalogue | ||
| crewing | ||
| dashboard | ||
| history | ||
| inventory/cart | ||
| my-orders | ||
| payments | ||
| po | ||
| profile | ||
| layout.tsx | ||