Problem
ConnectWalletModal assumes a happy path; when a wallet extension is missing or rejects the request, the modal gives no actionable feedback.
Requirements
- Detect missing extension and link to install instructions.
- Distinct messaging for user-rejected vs. timeout vs. network errors.
- Retry button that re-attempts the last connection method.
- Tests: each error branch renders the correct message and retry affordance.
Acceptance Criteria
- Users get a clear reason and a retry path for every failure. Covered by tests.
Files
frontend/src/component/ConnectWalletModal.tsx
frontend/src/context/WalletContext.tsx
frontend/src/hooks/useHookErrorMessage.ts
Problem
ConnectWalletModalassumes a happy path; when a wallet extension is missing or rejects the request, the modal gives no actionable feedback.Requirements
Acceptance Criteria
Files
frontend/src/component/ConnectWalletModal.tsxfrontend/src/context/WalletContext.tsxfrontend/src/hooks/useHookErrorMessage.ts