Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[TASK] Unify transaction tracking into a drawer #2728

Open
6 tasks
monaiuu opened this issue Jan 9, 2025 · 0 comments · May be fixed by #2796
Open
6 tasks

[TASK] Unify transaction tracking into a drawer #2728

monaiuu opened this issue Jan 9, 2025 · 0 comments · May be fixed by #2796
Assignees

Comments

@monaiuu
Copy link
Contributor

monaiuu commented Jan 9, 2025

Description

The current transactions management system is fragmented across the dApp (i.e., bridging, restaking, transferring). To provide a consistent experience, let's unify how transactions are managed, displayed, and updated within the dApp.

Key Issues:

  • Different transaction state handling
  • Inconsistent progress tracking
  • Different notification approaches / patterns

Proposed Updates:

  • Standardized Transactions Handling:
    • Ensure all transactions, regardless of their origin (bridging, restaking, etc.), use standardized copies, states, and visual displays.
    • Use consistent messaging for transaction states, including pending, success, failure.
  • Unify Notification Component Display:
    • Leverage the existing notification component to display transaction updates in real time.
      • remove usage for transaction progressor on bridge for simplicity
    • Add a loader component in the top navigation bar to show ongoing transactions with an option to open a details drawer or link to the blockchain explorer.
    • Ensure persistence across pages.
  • Transaction Details Drawer (Optional):
  • If resources and timeline allow, enhance the transaction experience by integrating a side drawer component:
    • Show all current and past transactions in a consolidated view.
    • Include details such as type (e.g., bridge, restake), amount, timestamps, and links to blockchain explorer.
    • This would also improve the account component display.

Implementation:

  • Consider using a global Zustand store to keep track of transactions.
  • Implement hooks to add/remove/modify transactions in that store.
  • Implement a drawer component that slides in from the right side of the screen and shows all the current transactions in the global store.

Goals:

  • single component instead of multiple nested ones
  • fewer props to manage
  • easier to maintain
  • more flexible for different use cases

Example Inconsistencies

Image Image

Proposed Views

  • replace bridge specific ico display in top nav with generic loader display
  • use notification component for all transaction progress views for simplicity
Image
  • Transaction Details Drawer (if timeline allows)
Image
@monaiuu monaiuu converted this from a draft issue Jan 9, 2025
@yurixander yurixander changed the title [TASK] Unify Transaction Management Across dApp [TASK] Unify transaction tracking Jan 15, 2025
@yurixander yurixander self-assigned this Jan 15, 2025
@yurixander yurixander moved this from Not Started 🕧 to Planning 🗺️ in Webb Universe Jan 15, 2025
@yurixander yurixander moved this from Planning 🗺️ to Not Started 🕧 in Webb Universe Jan 15, 2025
@yurixander yurixander changed the title [TASK] Unify transaction tracking [TASK] Unify transaction tracking into a drawer Jan 15, 2025
@yurixander yurixander moved this from Not Started 🕧 to Building 🏗️ in Webb Universe Feb 6, 2025
@yurixander yurixander linked a pull request Feb 6, 2025 that will close this issue
4 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Building 🏗️
Development

Successfully merging a pull request may close this issue.

2 participants