@page "/admin" @layout AdminLayout @inherits AdminBase @inject PosDataService DataService @using WebClientTpos.Client.Services @* EN: Admin Dashboard — overview of business metrics, stores, alerts, and recent activity. VI: Dashboard Admin — tổng quan chỉ số kinh doanh, cửa hàng, cảnh báo, hoạt động gần đây. Design: pencil-design/src/pages/tPOS/admin/admin-dashboard.pen *@ Dashboard — GoodGo Admin @* ═══ TOP BAR ═══ *@

Dashboard

Tổng quan kinh doanh • @GetTodayFormatted()

@* ═══ CONTENT ═══ *@
@* ── KPI ROW ── *@
@* KPI 1: Tổng doanh thu *@
+18.2%
128.5M
Tổng doanh thu
@* KPI 2: Tổng đơn hàng *@
+12.4%
1,247
Tổng đơn hàng
@* KPI 3: Cửa hàng hoạt động *@
3 online
3
Cửa hàng hoạt động
@* KPI 4: Nhân viên online *@
+22.7%
12
Nhân viên online
@* ── BOTTOM ROW: Store Overview + Right Column ── *@
@* ── LEFT: Store Overview ── *@

Cửa hàng của bạn

@if (_shops.Count > 0) { Quản lý tất cả → }
@if (_shops.Count == 0) {

Welcome! Tạo cửa hàng đầu tiên

Bắt đầu bằng việc tạo cửa hàng để quản lý kinh doanh của bạn.

Tạo cửa hàng ngay
} else { @foreach (var shop in _shops) {
@shop.Name
@(shop.Category ?? "Shop") • @(shop.Description ?? shop.Slug)
@(shop.Status == "active" ? "Đang mở" : "Thiết lập")
} }
@* ── RIGHT COLUMN: Alerts + Activity ── *@
@* Alerts Panel *@

Cảnh báo 4

5 sản phẩm sắp hết hàng
Coffee House Q1
Ca tối thiếu 1 nhân viên
Nhà hàng Q3 • Ngày mai
Máy in mất kết nối
Coffee House Q1 • Kitchen
@* Recent Activity Panel *@

Hoạt động gần đây

Đơn #2847 hoàn thành
Coffee House Q1 • 2 phút trước
Nguyễn Văn A clock-in
Nhà hàng Q3 • 5 phút trước
Nhập kho 15 sản phẩm
Coffee House Q1 • 12 phút trước
Cập nhật menu buổi tối
Nhà hàng Q3 • 28 phút trước
Khách VIP mới: Trần Thị B
Hệ thống • 45 phút trước
@code { private List _shops = new(); protected override async Task OnInitializedAsync() { IsLoading = true; try { _shops = await DataService.GetShopsAsync(); } catch { _shops = new(); } finally { IsLoading = false; } } private static string GetShopIcon(string? category) => category?.ToLowerInvariant() switch { "cafe" or "café" or "coffee" => "coffee", "restaurant" or "nhà hàng" => "utensils", "karaoke" => "mic", "spa" => "sparkles", "retail" => "shopping-bag", _ => "store" }; }