@{ ViewData["Title"] = "Dashboard"; }

Dashboard

Welcome back! Here's what needs your attention today.

@{ var pendingOrders = (int)ViewData["PendingOrders"]!; var lowStockProducts = (int)ViewData["LowStockProducts"]!; var outOfStockProducts = (int)ViewData["OutOfStockProducts"]!; var totalUrgentActions = pendingOrders + (lowStockProducts > 5 ? 1 : 0) + (outOfStockProducts > 0 ? 1 : 0); } @if (totalUrgentActions > 0) {
} else {
}
Total Orders

@ViewData["TotalOrders"]

@ViewData["PendingOrders"] pending • @ViewData["ShippedOrders"] shipped
Total Products

@ViewData["TotalProducts"]

@ViewData["TotalVariations"] variations • @ViewData["TotalStock"] in stock
Categories

@ViewData["TotalCategories"]

Active categories
Total Revenue

£@ViewData["TotalRevenue"]

From completed orders
Stock Alerts

@ViewData["LowStockProducts"]

@ViewData["OutOfStockProducts"] out of stock
Product Variations Summary
@if (ViewData["TotalVariants"] != null && (int)ViewData["TotalVariants"] > 0) {
@ViewData["TotalVariants"] product variations have been configured across your catalog. Customers can now choose quantity-based pricing options!
} else {
No product variations configured yet. Add variations to offer quantity-based pricing (e.g., 1 for £10, 2 for £19, 3 for £25).
}
System Information
  • Framework: .NET 9.0
  • Database: SQLite
  • Authentication: Cookie-based
  • Crypto Support: 8 currencies via BTCPay Server
  • API Endpoints: Available for client integration