fix(dashboard): use ShopVerticalHelper for case-insensitive status checks

- Replace hardcoded s.Status == "active" with ShopVerticalHelper.IsActive()
  (handles "Active", "Published", "active" etc.)
- Replace shop.Status != "active" with ShopVerticalHelper.IsSetup()
  to correctly show "Hoàn thành thiết lập" only for Draft shops
- KPIs and shop card badges now reflect actual shop status correctly

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Ho Ngoc Hai
2026-03-25 18:44:06 +07:00
parent aeb55072cc
commit f3217ab270

View File

@@ -56,7 +56,7 @@
<i data-lucide="check-circle" style="color:#22C55E;"></i>
</div>
</div>
<div class="admin-kpi-card__value">@_shops.Count(s => s.Status == "active")</div>
<div class="admin-kpi-card__value">@_shops.Count(s => ShopVerticalHelper.IsActive(s.Status))</div>
<div class="admin-kpi-card__label">@L["Dashboard_KPI_Active"]</div>
</div>
@@ -67,7 +67,7 @@
<i data-lucide="settings" style="color:#F59E0B;"></i>
</div>
</div>
<div class="admin-kpi-card__value">@_shops.Count(s => s.Status != "active")</div>
<div class="admin-kpi-card__value">@_shops.Count(s => !ShopVerticalHelper.IsActive(s.Status))</div>
<div class="admin-kpi-card__label">@L["Dashboard_KPI_Setup"]</div>
</div>
@@ -128,7 +128,7 @@
</div>
</div>
<div style="display:flex;align-items:center;gap:8px;">
@if (shop.Status != "active")
@if (ShopVerticalHelper.IsSetup(shop.Status))
{
<button class="admin-btn-primary" style="font-size:12px;padding:6px 12px;"
@onclick:preventDefault @onclick:stopPropagation
@@ -137,9 +137,9 @@
<span>@L["Dashboard_FinishSetup"]</span>
</button>
}
<div class="admin-status-badge admin-status-badge--@(shop.Status == "active" ? "online" : "setup")">
<div class="admin-status-badge admin-status-badge--@(ShopVerticalHelper.IsActive(shop.Status) ? "online" : "setup")">
<span class="admin-status-badge__dot"></span>
@(shop.Status == "active" ? L["Dashboard_Status_Open"] : L["Dashboard_Status_Setup"])
@(ShopVerticalHelper.IsActive(shop.Status) ? L["Dashboard_Status_Open"] : L["Dashboard_Status_Setup"])
</div>
</div>
</div>