Dashboard & Watchlist
Last updated on 2026-05-31
The dashboard and watchlist provide the primary landing experience for the trading platform. The dashboard shows a portfolio snapshot with market data, while the watchlist offers multi-list stock tracking. Both screens share the (app) route group layout with Sidebar and AppHeader.
Trading Dashboard
Route: /
The main dashboard is the default landing page. It provides a high-level snapshot of your portfolio, current market conditions, and recent activity.
- Market status badge -- colored badge indicating whether the market is open (green) or in after-hours (amber), displayed above the page header
- Market indices strip -- horizontal scrolling strip showing major indices (S&P 500, NASDAQ, DOW, Russell 2000) with current value, change, and change percentage; green for positive, red for negative
- KPI stat cards -- four
StatCardcomponents: Portfolio Value (with day change %), Day P&L (with percentage), Open Positions (count), and Buying Power (available cash) - Portfolio value chart -- Recharts
AreaChartshowing portfolio value over time with a teal gradient fill, rendered inside thePortfolioChartcomponent - Watchlist widget -- compact preview of the default watchlist showing ticker, price, change, and change percentage in a scrollable card
- Activity feed -- recent notifications and alerts displayed as a vertical list with type icons, timestamps, and descriptions
import { StatCard } from "@/components/shared/stat-card"
import { MarketStrip } from "@/components/dashboard/market-strip"
import { PortfolioChart } from "@/components/dashboard/portfolio-chart"
import { WatchlistWidget } from "@/components/dashboard/watchlist-widget"
import { ActivityFeed } from "@/components/dashboard/activity-feed"
Dashboard Layout
┌───────────────────────────────────────────┐
│ ● Market Open │
│ Dashboard │
├───────────────────────────────────────────┤
│ S&P 500 +0.8% NASDAQ +1.2% DOW +0.5% │
├──────────┬──────────┬──────────┬──────────┤
│ Portfolio│ Day P&L │ Open │ Buying │
│ Value │ │ Positions│ Power │
├──────────┴──────────┼──────────┴──────────┤
│ Portfolio Chart │ Watchlist Widget │
│ (area chart) │ (stock list) │
├─────────────────────┴─────────────────────┤
│ Activity Feed │
└───────────────────────────────────────────┘
Data Sources
| Data | Source | Location |
|---|---|---|
| Portfolio summary | portfolio |
data/seed.ts |
| Positions | positions |
data/seed.ts |
| Market indices | marketIndices |
data/seed.ts |
| Portfolio chart | portfolioPerformance.dataPoints |
data/seed.ts |
| Watchlist items | watchlists[0].items |
data/seed.ts |
| Notifications | notifications |
data/seed.ts |
Watchlist
Route: /watchlist
A full watchlist management page with multiple named lists, real-time quotes, and symbol management.
- Tabbed watchlists -- horizontal
Tabscomponent with one tab per watchlist (e.g., "Tech Stocks", "Dividend Picks", "Crypto"); switching tabs shows the corresponding stock list - Add symbol dialog -- "Add Symbol" button in the page header opens a
Dialogwith a ticker input field and confirmation button - Watchlist table -- data table showing ticker symbol, company name, last price, change amount, change percentage (color-coded green/red), volume, and market cap for each item
- Color-coded changes -- positive changes display in green text, negative in red, with corresponding arrow indicators
import { WatchlistTable } from "@/components/watchlist/watchlist-table"
import { PageHeader } from "@/components/shared/page-header"
import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogTrigger } from "@/components/ui/dialog"
Watchlist Features
| Feature | Description |
|---|---|
| Multiple lists | Create and switch between named watchlists via tabs |
| Add symbol | Dialog-based ticker entry with form validation |
| Real-time quotes | Price, change, volume, and market cap columns |
| Color coding | Green for gains, red for losses throughout |
| Responsive | Table scrolls horizontally on mobile |
Data Sources
| Data | Source | Location |
|---|---|---|
| Watchlists | watchlists |
data/seed.ts |
| Watchlist items | watchlists[n].items |
data/seed.ts |
Next Steps
- Portfolio -- holdings, allocation, performance, transactions, dividends, and tax lots
- Trading & Orders -- order entry, order book, options chain, and trade history
- Markets & Screener -- stock screener, scanner, heatmap, and calendar