Fix wholesale app orders, polish admin/user chrome, and harden order detail UX.

Customer placements now store WHOLESALE (with a migration for prior RETAIL rows), order status opens in a right drawer, logout asks for confirm, and the dashboard profile nudge plus IRANSans panel typeface are tightened for readability.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
s.esmaeili
2026-10-16 23:39:15 +03:30
co-authored by Cursor
parent f444a19845
commit 7fca434da6
32 changed files with 1755 additions and 527 deletions
@@ -0,0 +1,11 @@
-- App-placed orders were defaulting to RETAIL while operators watch the
-- WHOLESALE (عمده) list. Move every existing RETAIL row onto WHOLESALE so they
-- appear in «لیست سفارش های عمده». Going forward, customer POST /orders also
-- stores WHOLESALE (see OrdersService.createOrder).
--
-- Legitimate admin-created orders were already WHOLESALE. RETAIL was only the
-- mistaken app default (and optional seed demos).
UPDATE "Order"
SET "channel" = 'WHOLESALE'
WHERE "channel" = 'RETAIL';
+4 -2
View File
@@ -545,7 +545,9 @@ async function main() {
orderNumber: 'ORD-SEED-0002',
customerId: customer2.id,
branchId: branchTehran.id,
channel: OrderChannel.RETAIL,
// App / customer channel is wholesale (عمده); keep seed aligned with
// OrdersService customer placements and the omde admin list.
channel: OrderChannel.WHOLESALE,
status: 'PLACED',
totalGoldWeightGrams: computed,
wageWeightGrams: (parseFloat(computed) - parseFloat(rash)).toFixed(4),
@@ -577,7 +579,7 @@ async function main() {
});
await prisma.order.updateMany({
where: { orderNumber: 'ORD-SEED-0002' },
data: { channel: OrderChannel.RETAIL },
data: { channel: OrderChannel.WHOLESALE },
});
// ── A delivered order + posted debt, so the dashboard shows real numbers ──