@flowselections/floriday-afhandeling-module 1.0.8 → 1.0.9

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.
Files changed (71) hide show
  1. package/dist-lib/components/afhandeling/LeveringenPage.d.ts.map +1 -1
  2. package/dist-lib/components/afhandeling/LeveringenPage.js +9 -67
  3. package/dist-lib/components/afhandeling/PickAgendaView.d.ts +6 -0
  4. package/dist-lib/components/afhandeling/PickAgendaView.d.ts.map +1 -0
  5. package/dist-lib/components/afhandeling/PickAgendaView.js +31 -0
  6. package/dist-lib/components/afhandeling/PickingPage.d.ts +2 -0
  7. package/dist-lib/components/afhandeling/PickingPage.d.ts.map +1 -0
  8. package/dist-lib/components/afhandeling/PickingPage.js +5 -0
  9. package/dist-lib/components/afhandeling/PlanningAgendaPage.d.ts +9 -0
  10. package/dist-lib/components/afhandeling/PlanningAgendaPage.d.ts.map +1 -0
  11. package/dist-lib/components/afhandeling/PlanningAgendaPage.js +7 -0
  12. package/dist-lib/components/afhandeling/VervoerderForm.d.ts.map +1 -1
  13. package/dist-lib/components/afhandeling/VervoerderForm.js +24 -10
  14. package/dist-lib/components/afhandeling/WeekAgendaView.d.ts +12 -0
  15. package/dist-lib/components/afhandeling/WeekAgendaView.d.ts.map +1 -0
  16. package/dist-lib/components/afhandeling/WeekAgendaView.js +107 -0
  17. package/dist-lib/components/pickstation/LanguagePicker.d.ts +5 -0
  18. package/dist-lib/components/pickstation/LanguagePicker.d.ts.map +1 -0
  19. package/dist-lib/components/pickstation/LanguagePicker.js +5 -0
  20. package/dist-lib/components/pickstation/PakbonTemplate.d.ts +17 -0
  21. package/dist-lib/components/pickstation/PakbonTemplate.d.ts.map +1 -0
  22. package/dist-lib/components/pickstation/PakbonTemplate.js +74 -0
  23. package/dist-lib/components/pickstation/printDocuments.d.ts +3 -0
  24. package/dist-lib/components/pickstation/printDocuments.d.ts.map +1 -0
  25. package/dist-lib/components/pickstation/printDocuments.js +53 -0
  26. package/dist-lib/components/settings/AfhandelingSettingsCard.d.ts +2 -0
  27. package/dist-lib/components/settings/AfhandelingSettingsCard.d.ts.map +1 -0
  28. package/dist-lib/components/settings/AfhandelingSettingsCard.js +60 -0
  29. package/dist-lib/components/settings/VervoerdersSettingsCard.d.ts +2 -0
  30. package/dist-lib/components/settings/VervoerdersSettingsCard.d.ts.map +1 -0
  31. package/dist-lib/components/settings/VervoerdersSettingsCard.js +30 -0
  32. package/dist-lib/hooks/useOrderPlanning.d.ts +14 -0
  33. package/dist-lib/hooks/useOrderPlanning.d.ts.map +1 -0
  34. package/dist-lib/hooks/useOrderPlanning.js +90 -0
  35. package/dist-lib/index.d.ts +5 -0
  36. package/dist-lib/index.d.ts.map +1 -1
  37. package/dist-lib/index.js +16 -6
  38. package/dist-lib/integrations/supabase/auth-middleware.d.ts +531 -0
  39. package/dist-lib/integrations/supabase/auth-middleware.d.ts.map +1 -1
  40. package/dist-lib/integrations/supabase/client.d.ts +531 -0
  41. package/dist-lib/integrations/supabase/client.d.ts.map +1 -1
  42. package/dist-lib/integrations/supabase/client.server.d.ts +531 -0
  43. package/dist-lib/integrations/supabase/client.server.d.ts.map +1 -1
  44. package/dist-lib/integrations/supabase/types.d.ts +544 -0
  45. package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
  46. package/dist-lib/integrations/supabase/types.js +1 -0
  47. package/dist-lib/lib/afhandelingSettings.functions.d.ts +14338 -0
  48. package/dist-lib/lib/afhandelingSettings.functions.d.ts.map +1 -0
  49. package/dist-lib/lib/afhandelingSettings.functions.js +73 -0
  50. package/dist-lib/lib/carriers.functions.d.ts +2176 -44
  51. package/dist-lib/lib/carriers.functions.d.ts.map +1 -1
  52. package/dist-lib/lib/carriers.functions.js +43 -6
  53. package/dist-lib/lib/floriday.functions.d.ts +532 -0
  54. package/dist-lib/lib/floriday.functions.d.ts.map +1 -1
  55. package/dist-lib/lib/floriday.functions.js +6 -1
  56. package/dist-lib/lib/pickDate.d.ts +21 -0
  57. package/dist-lib/lib/pickDate.d.ts.map +1 -0
  58. package/dist-lib/lib/pickDate.js +71 -0
  59. package/dist-lib/lib/pickstationI18n.d.ts +31 -0
  60. package/dist-lib/lib/pickstationI18n.d.ts.map +1 -0
  61. package/dist-lib/lib/pickstationI18n.js +147 -0
  62. package/dist-lib/lib/pickstationOrders.server.d.ts +9 -0
  63. package/dist-lib/lib/pickstationOrders.server.d.ts.map +1 -0
  64. package/dist-lib/lib/pickstationOrders.server.js +244 -0
  65. package/dist-lib/lib/pickstationTypes.d.ts +17 -0
  66. package/dist-lib/lib/pickstationTypes.d.ts.map +1 -0
  67. package/dist-lib/lib/pickstationTypes.js +1 -0
  68. package/dist-lib/lib/planning.d.ts +66 -0
  69. package/dist-lib/lib/planning.d.ts.map +1 -0
  70. package/dist-lib/lib/planning.js +180 -0
  71. package/package.json +12 -6
@@ -1,5 +1,6 @@
1
1
  import { createServerFn } from "@tanstack/react-start";
2
2
  import { requireSupabaseAuth } from "../integrations/supabase/auth-middleware";
3
+ import { DEFAULT_PICKUP_MOMENT } from "./planning";
3
4
  function clean(obj) {
4
5
  const out = {};
5
6
  for (const [k, v] of Object.entries(obj)) {
@@ -10,6 +11,21 @@ function clean(obj) {
10
11
  }
11
12
  return out;
12
13
  }
14
+ function normalizeMoments(raw) {
15
+ if (!Array.isArray(raw) || raw.length === 0)
16
+ return [DEFAULT_PICKUP_MOMENT];
17
+ return raw.map((m) => {
18
+ const r = (m ?? {});
19
+ return {
20
+ signup_days: Number(r.signup_days ?? DEFAULT_PICKUP_MOMENT.signup_days),
21
+ signup_time: String(r.signup_time ?? DEFAULT_PICKUP_MOMENT.signup_time),
22
+ pickup_days: Number(r.pickup_days ?? DEFAULT_PICKUP_MOMENT.pickup_days),
23
+ pickup_time: String(r.pickup_time ?? DEFAULT_PICKUP_MOMENT.pickup_time),
24
+ delivery_days: Number(r.delivery_days ?? DEFAULT_PICKUP_MOMENT.delivery_days),
25
+ delivery_time: String(r.delivery_time ?? DEFAULT_PICKUP_MOMENT.delivery_time),
26
+ };
27
+ });
28
+ }
13
29
  export const listCarriers = createServerFn({ method: "GET" })
14
30
  .middleware([requireSupabaseAuth])
15
31
  .handler(async ({ context }) => {
@@ -22,9 +38,13 @@ export const listCarriers = createServerFn({ method: "GET" })
22
38
  const carriers = (data ?? []).map((row) => {
23
39
  const r = row;
24
40
  const rates = (r.carrier_shipping_rates ?? []);
25
- const { carrier_shipping_rates: _drop, ...rest } = r;
41
+ const { carrier_shipping_rates: _drop, pickup_moments, ...rest } = r;
26
42
  void _drop;
27
- return { ...rest, rate_count: rates.length };
43
+ return {
44
+ ...rest,
45
+ pickup_moments: normalizeMoments(pickup_moments),
46
+ rate_count: rates.length,
47
+ };
28
48
  });
29
49
  return { carriers };
30
50
  });
@@ -45,9 +65,12 @@ export const getCarrier = createServerFn({ method: "GET" })
45
65
  .eq("carrier_id", data.id);
46
66
  if (ratesError)
47
67
  throw new Error(ratesError.message);
68
+ const c = carrier;
69
+ const { pickup_moments, ...rest } = c;
48
70
  return {
49
71
  carrier: {
50
- ...carrier,
72
+ ...rest,
73
+ pickup_moments: normalizeMoments(pickup_moments),
51
74
  rates: (rates ?? []).map((r) => ({
52
75
  id: r.id,
53
76
  country_code: r.country_code,
@@ -64,19 +87,27 @@ export const upsertCarrier = createServerFn({ method: "POST" })
64
87
  if (!carrier.name || carrier.name.trim().length === 0) {
65
88
  throw new Error("Bedrijfsnaam is verplicht");
66
89
  }
90
+ const moments = normalizeMoments(carrier.pickup_moments);
67
91
  const payload = clean({
68
92
  name: carrier.name.trim(),
69
93
  contact_person: carrier.contact_person ?? null,
70
94
  email: carrier.email ?? null,
71
95
  phone: carrier.phone ?? null,
72
96
  address: carrier.address ?? null,
73
- delivery_days: carrier.delivery_days ?? null,
74
- signup_time_1: carrier.signup_time_1 ?? null,
75
- signup_time_2: carrier.signup_time_2 ?? null,
76
97
  notes: carrier.notes ?? null,
98
+ is_default: carrier.is_default ?? false,
99
+ pickup_moments: moments,
77
100
  });
78
101
  let carrierId;
79
102
  if (carrier.id) {
103
+ // Als deze als default wordt gemarkeerd, eerst andere defaults van deze user uitzetten
104
+ if (carrier.is_default) {
105
+ await context.supabase
106
+ .from("carriers")
107
+ .update({ is_default: false })
108
+ .eq("user_id", context.userId)
109
+ .neq("id", carrier.id);
110
+ }
80
111
  const { data: updated, error } = await context.supabase
81
112
  .from("carriers")
82
113
  .update(payload)
@@ -88,6 +119,12 @@ export const upsertCarrier = createServerFn({ method: "POST" })
88
119
  carrierId = updated.id;
89
120
  }
90
121
  else {
122
+ if (carrier.is_default) {
123
+ await context.supabase
124
+ .from("carriers")
125
+ .update({ is_default: false })
126
+ .eq("user_id", context.userId);
127
+ }
91
128
  const { data: inserted, error } = await context.supabase
92
129
  .from("carriers")
93
130
  .insert({ ...payload, user_id: context.userId })