This document defines the consistent UI/UX patterns for success feedback within the Creditra protocol dashboard.
To provide clear, accessible, and actionable feedback after key protocol actions (Draw, Repay, Evaluation), ensuring users trust the system state and know what to do next without relying solely on temporary toast notifications.
A dedicated inline component that replaces the task flow UI upon successful completion.
- Animated Icon: A visual confirmation using the brand success color (#3fb950).
- Action Confirmation: A clear title stating what happened (e.g., "Repayment Successful").
- Contextual Description: A brief sentence confirming the result.
- "What's Next" Guidance: A highlighted section explaining expected confirmation times or dashboard updates.
- Primary Actions: Buttons to return to the dashboard or navigate to Transaction History.
- Explorer Link: Direct link to the Stellar explorer for transaction hash verification.
| Action | Title | Description (What Happened) | Next Step (What's Next) |
|---|---|---|---|
| Draw | Draw Request Submitted | Your request for a credit draw has been successfully submitted to the Stellar network. | Once confirmed, your credit line balance will be updated (~5-10s). |
| Repay | Repayment Successful | Your repayment has been processed successfully. | Your available credit limit has been restored. You can now request further draws. |
| Evaluation | Evaluation Requested | Your credit evaluation request has been sent for analysis. | Our adaptive protocol is analyzing your activity. Your updated score will appear shortly. |
- ARIA: The container uses
role="status"andaria-live="polite"to announce completion to screen readers. - Contrast: Maintains WCAG AA compliance using tokens from the Design System.
- Keyboard: The "Done" button is automatically focused when the state appears to allow rapid return to the main dashboard.
import SuccessState from "./components/SuccessState";
// In your flow component:
if (isComplete) {
return (
<SuccessState type="draw" transactionId={txHash} onClose={handleDone} />
);
}