Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
210 changes: 210 additions & 0 deletions frontend/docs/FRONTEND_COMPONENT_HIERARCHY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,210 @@
# Frontend Component Hierarchy

This document describes the high-level component hierarchy and responsibilities for the primary dashboard view.

---

# Dashboard Component Tree

```
VaultDashboard
β”‚
β”œβ”€β”€ Transaction Confirmation Modal
β”‚
β”œβ”€β”€ Vault Statistics Panel
β”‚ β”œβ”€β”€ ApiStatusBanner
β”‚ β”œβ”€β”€ Dashboard Header
β”‚ β”œβ”€β”€ Vault Metrics
β”‚ └── Refresh / Status Indicators
β”‚
β”œβ”€β”€ VaultCapWarning
β”‚
β”œβ”€β”€ SharePriceDisplay
β”‚
β”œβ”€β”€ VaultPerformanceChart
β”‚
β”œβ”€β”€ Transaction Tabs
β”‚ β”œβ”€β”€ Deposit
β”‚ β”œβ”€β”€ Withdraw
β”‚ └── Step Indicator
β”‚ β”œβ”€β”€ Amount
β”‚ β”œβ”€β”€ Review
β”‚ └── Result
β”‚
β”œβ”€β”€ Transaction Forms
β”‚
β”œβ”€β”€ Validation & Error States
β”‚
β”œβ”€β”€ Toast Notifications
β”‚
└── Transaction Conflict Resolution
```

---

# Component Responsibilities

## VaultDashboard

The main dashboard container responsible for:

- Fetching vault data
- Managing dashboard state
- Coordinating transactions
- Rendering all dashboard sections
- Managing loading and error states

---

## Transaction Confirmation Modal

Displays a confirmation dialog before sensitive user actions such as deposits and withdrawals.

Responsibilities:

- Transaction confirmation
- Prevent accidental submissions
- Display transaction summary

---

## Vault Statistics Panel

Displays overall vault information.

Responsibilities:

- TVL
- APY
- Vault summary
- Refresh status
- Loading skeletons

---

## ApiStatusBanner

Displays API and backend connectivity errors.

Responsibilities:

- Network error display
- Backend availability status
- User-friendly error messaging

---

## VaultCapWarning

Warns users when the vault approaches or reaches capacity.

Responsibilities:

- Capacity utilization
- Deposit restrictions
- Visual warning state

---

## SharePriceDisplay

Displays the current vault share price.

Responsibilities:

- Current share value
- Price formatting
- Live updates

---

## VaultPerformanceChart

Visualizes vault performance over time.

Responsibilities:

- Historical performance
- Performance trends
- User insight

---

## Transaction Tabs

Allows switching between available transaction types.

Responsibilities:

- Deposit flow
- Withdrawal flow
- Preserve dashboard state

---

## Step Indicator

Guides users through the transaction process.

Steps:

1. Amount
2. Review
3. Result

---

## Transaction Forms

Collects user input.

Responsibilities:

- Amount validation
- Balance checking
- Slippage configuration
- Fee estimation

---

## Validation & Error Handling

Provides client-side and server-side validation.

Responsibilities:

- Form validation
- API validation
- Display field errors
- Prevent invalid submissions

---

## Toast Notifications

Displays transaction feedback.

Responsibilities:

- Success notifications
- Error notifications
- Warning notifications

---

## Transaction Conflict Resolution

Handles stale transactions and conflicting state.

Responsibilities:

- Detect stale submissions
- Retry flow
- Intent refresh
- Conflict resolution

---

# Notes

The dashboard centralizes transaction management while delegating visualization, validation, and feedback to dedicated child components. This separation keeps business logic isolated from reusable UI components and improves maintainability.
Loading