Replaced the modal overlay password dialog in the confirm-tx view with an inline password field, matching the pattern used by approve-tx and approve-sign views
Removed the entire #password-modal div from index.html
Added inline password input with label and error area (with min-height to prevent layout shift) directly in the confirm-tx view
Changed button text from "Send" to "Sign & Send"
Button is now disabled during transaction processing to prevent double-clicks
Password field is cleared when the view is shown
Test plan
Open the send flow and verify the password field appears inline below transaction details
Verify wrong password shows error message inline without layout shift
Verify correct password signs and broadcasts the transaction
Verify the "Sign & Send" button is disabled during processing
## Summary
- Replaced the modal overlay password dialog in the `confirm-tx` view with an inline password field, matching the pattern used by `approve-tx` and `approve-sign` views
- Removed the entire `#password-modal` div from `index.html`
- Added inline password input with label and error area (with `min-height` to prevent layout shift) directly in the confirm-tx view
- Changed button text from "Send" to "Sign & Send"
- Button is now disabled during transaction processing to prevent double-clicks
- Password field is cleared when the view is shown
## Test plan
- [ ] Open the send flow and verify the password field appears inline below transaction details
- [ ] Verify wrong password shows error message inline without layout shift
- [ ] Verify correct password signs and broadcasts the transaction
- [ ] Verify the "Sign & Send" button is disabled during processing
- [ ] Verify no modal overlay appears at any point
- [ ] Run `docker build .` - passes (tests + lint + build)
Generated with Claude Code
Replace the modal overlay password dialog in the confirm-tx view with
an inline password field, matching the pattern used by approve-tx and
approve-sign views for consistency.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replaced the confirm-tx password modal overlay with an inline password field, consistent with how approve-tx and approve-sign handle password input.
What changed
Removed the #password-modal div entirely from index.html
Added inline password input (#confirm-tx-password) with label and error area directly in the confirm-tx view, below transaction details and above the button
Error area uses min-h-[1.25rem] to prevent layout shift
Button text changed from "Send" to "Sign & Send"
Button disables during transaction processing (prevents double-clicks)
Password field clears when the view is shown
Removed showPasswordModal()/hidePasswordModal() functions from confirmTx.js
Consistency audit
Audited all 10 password input fields across 7 views. Filed 4 issues for remaining inconsistencies:
#85 — approve-tx password field not cleared when view is shown
#86 — export-privkey and delete-wallet buttons not disabled during async processing
#87 — three different error display patterns used for password validation
Verification
docker build . passes (tests, lint, build all green).
## Changes
Replaced the `confirm-tx` password modal overlay with an inline password field, consistent with how `approve-tx` and `approve-sign` handle password input.
### What changed
- Removed the `#password-modal` div entirely from `index.html`
- Added inline password input (`#confirm-tx-password`) with label and error area directly in the confirm-tx view, below transaction details and above the button
- Error area uses `min-h-[1.25rem]` to prevent layout shift
- Button text changed from "Send" to "Sign & Send"
- Button disables during transaction processing (prevents double-clicks)
- Password field clears when the view is shown
- Removed `showPasswordModal()`/`hidePasswordModal()` functions from `confirmTx.js`
### Consistency audit
Audited all 10 password input fields across 7 views. Filed 4 issues for remaining inconsistencies:
- #84 — approve-tx and approve-sign error divs missing min-height (layout shift)
- #85 — approve-tx password field not cleared when view is shown
- #86 — export-privkey and delete-wallet buttons not disabled during async processing
- #87 — three different error display patterns used for password validation
### Verification
`docker build .` passes (tests, lint, build all green).
## Review: ✅ merge-ready
Reviewed the full diff. Changes are clean and correct:
- **Modal removed**, inline password field added in the confirm-tx view — consistent with approve-tx/approve-sign pattern
- Error area uses `min-h-[1.25rem]` — no layout shift ✓
- Password field cleared on view show ✓
- Button disables during processing (prevents double-click) with `finally` block to re-enable ✓
- Button text updated to "Sign & Send" ✓
- All clickable elements have border + hover state ✓
- Error messages are full sentences ✓
- `docker build .` passes ✓
Consistency audit was thorough — filed #84, #85, #86, #87 for remaining issues. Good work.
Assigned to @sneak for merge.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
confirm-txview with an inline password field, matching the pattern used byapprove-txandapprove-signviews#password-modaldiv fromindex.htmlmin-heightto prevent layout shift) directly in the confirm-tx viewTest plan
docker build .- passes (tests + lint + build)Generated with Claude Code
Changes
Replaced the
confirm-txpassword modal overlay with an inline password field, consistent with howapprove-txandapprove-signhandle password input.What changed
#password-modaldiv entirely fromindex.html#confirm-tx-password) with label and error area directly in the confirm-tx view, below transaction details and above the buttonmin-h-[1.25rem]to prevent layout shiftshowPasswordModal()/hidePasswordModal()functions fromconfirmTx.jsConsistency audit
Audited all 10 password input fields across 7 views. Filed 4 issues for remaining inconsistencies:
Verification
docker build .passes (tests, lint, build all green).Review: ✅ merge-ready
Reviewed the full diff. Changes are clean and correct:
min-h-[1.25rem]— no layout shift ✓finallyblock to re-enable ✓docker build .passes ✓Consistency audit was thorough — filed #84, #85, #86, #87 for remaining issues. Good work.
Assigned to @sneak for merge.
0873c64c46to8f2bf9618e