diff --git a/.claude/worktrees/sweet-sanderson b/.claude/worktrees/sweet-sanderson
new file mode 160000
index 00000000..df7eec1e
--- /dev/null
+++ b/.claude/worktrees/sweet-sanderson
@@ -0,0 +1 @@
+Subproject commit df7eec1ec20b32902a535d5cfa5e8d2d545060e7
diff --git a/apps/web-client-tpos-net/src/WebClientTpos.Client/Pages/Admin/Shop/ShopPage.razor b/apps/web-client-tpos-net/src/WebClientTpos.Client/Pages/Admin/Shop/ShopPage.razor
index e255b1b9..ea764750 100644
--- a/apps/web-client-tpos-net/src/WebClientTpos.Client/Pages/Admin/Shop/ShopPage.razor
+++ b/apps/web-client-tpos-net/src/WebClientTpos.Client/Pages/Admin/Shop/ShopPage.razor
@@ -190,12 +190,25 @@
// ═══ MENU / PRODUCTS ═══
case "menu":
case "products":
-
-
@(_products.Count) sản phẩm
-
+
+
@(FilteredProducts.Count) sản phẩm
+
+ @if (_categories.Any())
+ {
+
+ }
+
+
+
+
+
+
@if (_showProductForm)
{
@@ -238,10 +251,10 @@
{
@RenderEmpty("coffee", "#F59E0B", "Chưa có sản phẩm", "Thêm sản phẩm để bắt đầu bán hàng", "plus-circle", "Thêm sản phẩm", $"/admin/shop/{ShopId}/menu")
}
- else
+ else if (_productView == "grid")
{
- @foreach (var p in _products)
+ @foreach (var p in PagedProducts)
{
var typeColor = (p.Type ?? "") switch { "Service" => "#EC4899", "Physical" => "#3B82F6", _ => "#F59E0B" };
var typeLabel = (p.Type ?? "") switch { "Service" => "Dịch vụ", "Physical" => "Vật lý", _ => "Đồ uống" };
@@ -256,20 +269,67 @@