@flowselections/pick-schermen-kwekers 1.0.68 → 1.0.72

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"PickScherm.d.ts","sourceRoot":"","sources":["../../../src/components/pick/PickScherm.tsx"],"names":[],"mappings":"AA0DA,OAAO,EAaL,KAAK,WAAW,EACjB,MAAM,qBAAqB,CAAC;AA8D7B,UAAU,KAAK;IACb,OAAO,EAAE,WAAW,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAGD,wCAAwC;AACxC,eAAO,MAAM,cAAc,GAAI,WAAW,MAAM,WAAuC,CAAC;AAsBxF;;;GAGG;AACH,wBAAgB,UAAU,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,sCAosEpD"}
1
+ {"version":3,"file":"PickScherm.d.ts","sourceRoot":"","sources":["../../../src/components/pick/PickScherm.tsx"],"names":[],"mappings":"AA0DA,OAAO,EAaL,KAAK,WAAW,EACjB,MAAM,qBAAqB,CAAC;AA+D7B,UAAU,KAAK;IACb,OAAO,EAAE,WAAW,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAGD,wCAAwC;AACxC,eAAO,MAAM,cAAc,GAAI,WAAW,MAAM,WAAuC,CAAC;AAsBxF;;;GAGG;AACH,wBAAgB,UAAU,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,sCA+sEpD"}
@@ -16,6 +16,7 @@ import { CART_PLAN_MISMATCH_MESSAGE, formatSiteTime, WORKDAYS_UNKNOWN, autoSendM
16
16
  import { completeLogisticsTaskForItem, documentTypeOf } from "../../lib/pickPrint.js";
17
17
  import { cartRowOf, isPdfOnlyFailure, pickReadiness, printedCartIdsOf, pdfSaveWarning, unitRefOf, statusRefOf, unitTitleOf, } from "../../lib/pickTypes.js";
18
18
  import { rowFingerprint, rowsToVerify } from "../../lib/pickVerify.js";
19
+ import { VERIFY_SLOW_MESSAGE, VERIFY_SLOW_TOAST_ID, verifyDelayMs } from "../../lib/pickBackoff.js";
19
20
  import { alreadyPrintedResults, CART_MISSING_MESSAGE, cartResultLine, cartsForRow, isCartMissingError, reprintCartsIndividually, resettableJobs, runExclusive, resultsFromBatch, resultsFromBatchError, summarizeCartResults, trackableJobs, } from "../../lib/pickCartResults.js";
20
21
  import { getPickTranslator } from "../../lib/pickI18n.js";
21
22
  import { friendlyPickError, getPickUiTexts } from "../../lib/pickUiText.js";
@@ -419,6 +420,7 @@ export function PickScherm({ station, onBack }) {
419
420
  const itemsRef = useRef([]);
420
421
  itemsRef.current = Array.isArray(items) ? items : [];
421
422
  const verifyMemo = useRef(new Map());
423
+ const verifyFailures = useRef(0);
422
424
  useEffect(() => {
423
425
  let cancelled = false;
424
426
  let running = false;
@@ -472,9 +474,15 @@ export function PickScherm({ station, onBack }) {
472
474
  checkedAt: now,
473
475
  });
474
476
  }
477
+ if (verifyFailures.current > 0)
478
+ toast.dismiss(VERIFY_SLOW_TOAST_ID);
479
+ verifyFailures.current = 0;
475
480
  }
476
481
  catch {
477
- // fail closed: bestaande uitkomst blijft staan; nooit bevestigde regels blijven "Pakbon ophalen"
482
+ // fail closed: bestaande uitkomst blijft staan; nooit bevestigde regels blijven "Pakbon ophalen".
483
+ // Steeds langer wachten (10 → 20 → 40 s, max 2 min) en één melding tonen.
484
+ verifyFailures.current += 1;
485
+ toast.warning(VERIFY_SLOW_MESSAGE, { id: VERIFY_SLOW_TOAST_ID });
478
486
  }
479
487
  finally {
480
488
  running = false;
@@ -485,11 +493,18 @@ export function PickScherm({ station, onBack }) {
485
493
  setReadinessById((prev) => ({ ...prev, ...next }));
486
494
  setCheckProgress({ done: 0, total: 0 });
487
495
  };
488
- void verifyVisibleRows();
489
- const timer = window.setInterval(() => void verifyVisibleRows(), 15000);
496
+ let timer;
497
+ const loop = async () => {
498
+ await verifyVisibleRows();
499
+ if (cancelled)
500
+ return;
501
+ timer = window.setTimeout(() => void loop(), verifyDelayMs(verifyFailures.current));
502
+ };
503
+ void loop();
490
504
  return () => {
491
505
  cancelled = true;
492
- window.clearInterval(timer);
506
+ if (timer !== undefined)
507
+ window.clearTimeout(timer);
493
508
  };
494
509
  }, [visibleIdsKey]);
495
510
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"StickerState.d.ts","sourceRoot":"","sources":["../../../src/components/pick/StickerState.tsx"],"names":[],"mappings":"AAcA,+EAA+E;AAC/E,wBAAgB,mBAAmB,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,sCAwC5F;AAED,6EAA6E;AAC7E,wBAAgB,qBAAqB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;IAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,sCAoBvG;AAED,sEAAsE;AACtE,wBAAgB,gBAAgB,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,sCAuDzF;AAED,6HAA6H;AAC7H,wBAAgB,yBAAyB,CAAC,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,sCAiBpF"}
1
+ {"version":3,"file":"StickerState.d.ts","sourceRoot":"","sources":["../../../src/components/pick/StickerState.tsx"],"names":[],"mappings":"AAcA,+EAA+E;AAC/E,wBAAgB,mBAAmB,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,sCAwC5F;AAED,6EAA6E;AAC7E,wBAAgB,qBAAqB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;IAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,sCAoBvG;AAED,sEAAsE;AACtE,wBAAgB,gBAAgB,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,sCAyDzF;AAED,6HAA6H;AAC7H,wBAAgB,yBAAyB,CAAC,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,sCAiBpF"}
@@ -77,7 +77,9 @@ export function CartStickerState({ cartId, slug }) {
77
77
  queryFn: () => null,
78
78
  enabled: false, // gevuld door useCartStickerStates
79
79
  });
80
- const opdrachten = jobs.data?.opdrachten ?? null;
80
+ // Openbaar: uit de bundel. Ingelogd: uit Engine 1.0.201 (ontbreekt bij oudere Engine → oud gedrag).
81
+ const opdrachten = jobs.data?.opdrachten ?? q.data?.printopdrachten ?? null;
82
+ const gevraagd = jobs.data ? jobs.data.gevraagd : q.data?.stickerGevraagd;
81
83
  const hasJobs = Array.isArray(opdrachten) && opdrachten.length > 0;
82
84
  if (q.data === undefined && !q.isError && !hasJobs)
83
85
  return null;
@@ -85,7 +87,7 @@ export function CartStickerState({ cartId, slug }) {
85
87
  return _jsx("p", { className: "mt-3 text-xs text-muted-foreground", children: STICKER_UNKNOWN });
86
88
  }
87
89
  const s = q.data ?? null;
88
- const line = stickerLineWithJobs(s, opdrachten, jobs.data?.tijdzone ?? null, u.data);
90
+ const line = stickerLineWithJobs(s, opdrachten, jobs.data?.tijdzone ?? null, u.data, new Date(), gevraagd);
89
91
  if (!s)
90
92
  return _jsx("p", { className: "mt-3 text-sm text-foreground", children: line });
91
93
  const regels = Array.isArray(s.regels) ? s.regels : [];
@@ -35,7 +35,7 @@ export function useCartStickerStates(cartIds, slug) {
35
35
  if (k.orderId)
36
36
  qc.setQueryData(["pick", "sticker-meldingen", k.orderId, slug], k.meldingen);
37
37
  qc.setQueryData(["pick", "uitwijk", k.jobIds.join(",")], k.uitwijk);
38
- qc.setQueryData(["pick", "sticker-jobs", k.cartId, slug], { opdrachten: k.opdrachten, tijdzone: k.tijdzone });
38
+ qc.setQueryData(["pick", "sticker-jobs", k.cartId, slug], { opdrachten: k.opdrachten, tijdzone: k.tijdzone, gevraagd: k.gevraagd });
39
39
  }
40
40
  }, [q.data, qc, slug]);
41
41
  return q;