Overview
The Dodo Starter kit includes a fully-featured user dashboard with tabbed navigation for billing management, invoice history, and account settings.
Dashboard Component
The main dashboard component orchestrates all user-facing features:components/dashboard/dashboard.tsx
Dashboard Page
The dashboard page loads all necessary data server-side:app/dashboard/page.tsx
- Check user authentication
- Fetch available products from Dodo Payments
- Load user’s subscription details
- Retrieve invoice history
- Render dashboard with all data
Tab Navigation
The dashboard uses animated tab navigation with a smooth indicator:- Smooth animated transitions between tabs
- Responsive design (vertical on mobile, horizontal on desktop)
- Visual indicator showing active tab
- Keyboard navigation support
Billing Tab
The billing tab shows subscription management features:Current Plan Details
Current Plan Details
- Plan name and description
- Subscription status badge (active/cancelled)
- Price and billing interval
- Next billing date or cancellation date
- Plan features list
Actions
Actions
- Change Plan: Upgrade or downgrade subscription
- Cancel Subscription: Two-step cancellation dialog
- Restore Subscription: For cancelled subscriptions
Billing Information
Billing Information
- Current price and interval (monthly/yearly)
- Next billing date
- Cancellation date (if applicable)
Invoices Tab
The invoices tab displays payment history with detailed information:components/dashboard/invoice-history.tsx
- Payment date and time
- Amount with currency formatting
- Payment status badge (Paid/Failed)
- Payment method with card logo
- Download invoice button
Account Tab
The account management tab handles user profile and account actions:components/dashboard/account-management.tsx
- User avatar and display name
- Email address
- Logout functionality
- Account deletion with confirmation dialog
Responsive Design
The dashboard is fully responsive:- Mobile: Vertical tab navigation, stacked content
- Tablet: Compact layout with optimized spacing
- Desktop: Full-width layout with horizontal tabs
Loading States
All actions include proper loading states:Error Handling
Toast notifications provide user feedback:Next Steps
Subscription Management
Deep dive into subscription features
Invoice History
Learn about invoice tracking
