- @* ═══ SECTION TABS / TAB KHU VỰC ═══ *@
-
- @foreach (var section in _sections)
- {
-
- }
-
+ @if (_isLoading)
+ {
+
+ Đang tải...
+
+ }
+ else if (_loadError)
+ {
+
+ Không thể tải dữ liệu
+
+ }
+ else
+ {
+ @* ═══ SECTION TABS / TAB KHU VỰC ═══ *@
+
+ @foreach (var section in _sections)
+ {
+
+ }
+
- @* ═══ TABLE MAP GRID / LƯỚI SƠ ĐỒ BÀN ═══ *@
-
- @foreach (var table in FilteredTables)
- {
-
SelectTable(table)"
- style="background:@GetStatusColor(table.Status);border-radius:var(--pos-radius);
- padding:16px;text-align:center;cursor:pointer;border:2px solid @(SelectedTable?.Id == table.Id ? "var(--pos-orange-primary)" : "transparent");
- transition:all .2s ease;">
-
@table.Name
-
@table.Seats chỗ
-
- @GetStatusLabel(table.Status)
+ @* ═══ TABLE MAP GRID / LƯỚI SƠ ĐỒ BÀN ═══ *@
+
+ @foreach (var table in FilteredTables)
+ {
+
SelectTable(table)"
+ style="background:@GetStatusColor(table.Status);border-radius:var(--pos-radius);
+ padding:16px;text-align:center;cursor:pointer;border:2px solid @(SelectedTable?.Id == table.Id ? "var(--pos-orange-primary)" : "transparent");
+ transition:all .2s ease;">
+
@table.Name
+
@table.Seats chỗ
+
+ @GetStatusLabel(table.Status)
+
-
- }
-
+ }
+
+ }
@* ═══ ORDER PANEL (RIGHT) / PANEL ĐẶT MÓN (PHẢI) ═══ *@
@@ -86,23 +102,22 @@
@code {
+ // EN: Restaurant shop ID / VI: ID cửa hàng nhà hàng
+ private static readonly Guid RestaurantShopId = Guid.Parse("b0000002-0000-0000-0000-000000000002");
+
+ // EN: Loading state / VI: Trạng thái tải
+ private bool _isLoading = true;
+ private bool _loadError;
+
// EN: Active section filter / VI: Bộ lọc khu vực
private string _activeSection = "Tất cả";
- private readonly string[] _sections = { "Tất cả", "Trong nhà", "Ngoài trời", "VIP" };
+ private string[] _sections = { "Tất cả" };
// EN: Selected table reference / VI: Bàn đang chọn
private TableInfo? SelectedTable { get; set; }
- // EN: Demo table data / VI: Dữ liệu bàn mẫu
- private readonly List