feat: opportunity detail overhaul, catalog improvements, cleanup

- api: remove stray console.log debug lines across fetch routes, controllers, and workflow dispatch
- api: refactor OpportunityController and cwProbabilityCache
- api: add workflow history endpoint updates
- ui: overhaul opportunity detail page styles and layout
- ui: remove DiscountsTab (consolidated elsewhere), update ProductsTab
- ui: improve catalog page with inventory popover
- ui: update sales API module and server-side page loader
- ui: add sleepy-cat asset, simplify NoResultsMonkey component
This commit is contained in:
2026-04-22 00:53:23 +00:00
parent 5194d0e21e
commit 6eee7bf0da
19 changed files with 406 additions and 507 deletions
+3 -2
View File
@@ -6,7 +6,8 @@
export let onHand: number | undefined;
// Warehouse IDs for the fixed locations
const MURRAY_ID = 1;
// Murray = Andrus 301 (1) + Andrus-205C (26) + Andrus 205D (27)
const MURRAY_IDS = new Set([1, 26, 27]);
const UNION_CITY_ID = 6;
const LONDON_ID = 30;
@@ -56,7 +57,7 @@
for (const row of rows) {
const wId = row.warehouseId;
const wName = row.warehouse?.name ?? "";
if (wId === MURRAY_ID) {
if (wId != null && MURRAY_IDS.has(wId)) {
result.murray += row.qtyOnHand;
} else if (wId === UNION_CITY_ID) {
result.unionCity += row.qtyOnHand;