Admin Dashboard
Last updated on 2026-03-20
The admin dashboard provides a complete store management interface. All admin pages share a layout with AdminHeader and AdminSidebar. On mobile, the sidebar collapses into a Sheet.
Dashboard Overview
Route: /admin
The main dashboard displays:
- Stats grid — revenue, orders, customers, conversion rate cards
- Revenue chart — line chart showing revenue over time
- Recent orders table — latest orders with status badges
import { StatsGrid } from "@/components/admin/stats-grid"
import { RevenueChart } from "@/components/admin/revenue-chart"
import { DataTable } from "@/components/admin/data-table"
Products
Route: /admin/products
Data table listing all products with:
- Columns: image, name, category, price, stock, status
- Sortable columns
- Status badges (Active, Draft, Out of Stock)
- "Add Product" CTA
Add Product
Route: /admin/products/new
Product creation form with:
- Basic info (title, description, category)
- Pricing (price, compare-at price)
- Inventory (stock quantity, SKU)
- Media upload placeholder
- Variant management (size, color)
Orders
Route: /admin/orders
Data table listing all orders:
- Columns: order ID, customer, date, total, status, payment
- Status badges (Pending, Processing, Shipped, Delivered, Cancelled)
- Click to view order detail
Order Detail
Route: /admin/orders/[id]
Full order view:
- Customer info and shipping address
- Line items with product details
- Payment and shipping status
- Order notes with
OrderNotescomponent - Status update actions
Customers
Route: /admin/customers
Data table with customer list:
- Columns: name, email, orders count, total spent, joined date
- Click to view customer detail
Customer Detail
Route: /admin/customers/[id]
Customer profile showing:
- Contact information
- Order history
- Lifetime value stats
Analytics
Route: /admin/analytics
- Revenue and orders charts over time
- Conversion funnel visualization
- Top-selling products
- Traffic source breakdown
import { AnalyticsChart } from "@/components/admin/analytics-chart"
import { ConversionFunnel } from "@/components/admin/conversion-funnel"
Discounts
Route: /admin/discounts
Discount code management:
- List of active and expired discount codes
DiscountFormfor creating new codes- Fields: code, type (percentage/fixed), value, minimum order, expiry date
Settings
Route: /admin/settings
Store configuration:
- Store name, description, currency
- Shipping zones
- Tax settings
- Notification preferences
Mobile Responsiveness
The admin sidebar uses useIsMobile() to detect viewport width:
- Desktop (768px+): Fixed sidebar with icon + label navigation
- Mobile (<768px): Sidebar collapses, accessible via hamburger menu in
AdminHeaderas a Sheet overlay