Difficulty: Intermediate
Type: UI/UX, refactor
Background
Notifications for transaction success, failure, and pending states are managed by different developer implementations throughout the codebase, leading to visual inconsistencies.
Problem
Some success toasts contain links to the block explorer, while others just say "Done". Some failure toasts auto-dismiss, while others require manual closing. This degrades the polish of the user experience.
Expected outcome
A unified TransactionToast wrapper is created, standardizing the icon, colors, text layout, and explorer linking behavior for all blockchain interactions.
Suggested implementation
- Create a standardized configuration object/component for the application's Toast provider (e.g.,
react-hot-toast or sonner).
- Design uniform layouts for
PENDING, SUCCESS, and ERROR states.
- Ensure every
SUCCESS state automatically includes a correctly formatted link to the relevant block explorer using the transaction hash.
Acceptance criteria
Likely affected files/directories
src/components/UI/ToastProvider.tsx
src/hooks/useTransaction.ts
Requirements
- Explorer links must dynamically respect the currently connected network chain ID.
Difficulty: Intermediate
Type: UI/UX, refactor
Background
Notifications for transaction success, failure, and pending states are managed by different developer implementations throughout the codebase, leading to visual inconsistencies.
Problem
Some success toasts contain links to the block explorer, while others just say "Done". Some failure toasts auto-dismiss, while others require manual closing. This degrades the polish of the user experience.
Expected outcome
A unified
TransactionToastwrapper is created, standardizing the icon, colors, text layout, and explorer linking behavior for all blockchain interactions.Suggested implementation
react-hot-toastorsonner).PENDING,SUCCESS, andERRORstates.SUCCESSstate automatically includes a correctly formatted link to the relevant block explorer using the transaction hash.Acceptance criteria
Likely affected files/directories
src/components/UI/ToastProvider.tsxsrc/hooks/useTransaction.tsRequirements