feat(orders): recent orders view with receipt / kitchen / bar reprint
CI/CD / CI · API (dotnet build + test) (push) Successful in 41s
CI/CD / CI · Admin API (dotnet build) (push) Successful in 30s
CI/CD / CI · Dashboard (tsc) (push) Successful in 1m10s
CI/CD / CI · Admin Web (tsc) (push) Successful in 38s
CI/CD / CI · Website (tsc) (push) Successful in 46s
CI/CD / CI · Koja (tsc) (push) Successful in 50s
CI/CD / Deploy · all services (push) Successful in 3m34s

Adds a "سفارش‌ها" (Orders) nav page listing closed orders by day (date +
branch filter, paged), each with reprint actions:
- چاپ فاکتور  → customer receipt
- فیش آشپزخانه → kitchen ticket (all stations)
- one button per print station (e.g. Bar) → reprints only that station's items

Backend: the kitchen print endpoint gains an optional ?stationId= to reprint a
single station; PrintKitchenTicketAsync filters its station groups accordingly
(NO_STATION_ITEMS when that station has nothing on the order). Nav gated by
ViewOrders (visible to branch staff too). fa/en/ar strings added.

Note: local backend build couldn't run (NU1301 — NuGet restore network timeout);
dashboard typecheck is clean and the C# changes are minimal — CI builds via the
Nexus mirror.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
soroush.asadi
2026-06-21 23:15:34 +03:30
parent 1264606410
commit c360fbb068
10 changed files with 321 additions and 6 deletions
+21
View File
@@ -129,6 +129,7 @@
"crm": "CRM",
"coupons": "Coupons",
"menu": "Menu",
"orders": "Orders",
"inventory": "Inventory",
"hr": "HR",
"reports": "Reports",
@@ -352,6 +353,9 @@
"posDeviceHint": "On card payment, the amount is sent via HTTP (POST /pay) to the device on your LAN.",
"posDeviceIp": "POS device IP address",
"testSent": "Test sent to the printer.",
"sent": "Sent to the printer.",
"noStationItems": "This order has no items for that station.",
"printFailed": "Print failed.",
"stations": {
"title": "Kitchen & bar print stations",
"subtitle": "Give each prep area its own printer and route menu categories to it.",
@@ -1146,6 +1150,23 @@
}
}
},
"recentOrders": {
"title": "Recent orders",
"subtitle": "Browse closed orders and reprint the customer receipt and the kitchen / bar tickets.",
"date": "Date",
"branch": "Branch",
"allBranches": "All branches",
"empty": "No orders for this day.",
"loadFailed": "Could not load orders.",
"retry": "Retry",
"prevPage": "Previous",
"nextPage": "Next",
"table": "Table",
"statusPaid": "Paid",
"statusCancelled": "Cancelled",
"receipt": "Receipt",
"kitchen": "Kitchen ticket"
},
"notifications": {
"title": "Notifications",
"pageTitle": "Notifications",