@flowselections/floriday-voorraad 1.0.13 → 1.0.15
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.
- package/dist-lib/assets/floriday-logo.png.asset.json +11 -0
- package/dist-lib/components/voorraad/ArtikelWizard.d.ts +5 -0
- package/dist-lib/components/voorraad/ArtikelWizard.d.ts.map +1 -0
- package/dist-lib/components/voorraad/ArtikelWizard.js +1229 -0
- package/dist-lib/components/voorraad/EditArtikelPage.d.ts +4 -0
- package/dist-lib/components/voorraad/EditArtikelPage.d.ts.map +1 -0
- package/dist-lib/components/voorraad/EditArtikelPage.js +51 -0
- package/dist-lib/components/voorraad/NieuwArtikelPage.d.ts +2 -0
- package/dist-lib/components/voorraad/NieuwArtikelPage.d.ts.map +1 -0
- package/dist-lib/components/voorraad/NieuwArtikelPage.js +5 -0
- package/dist-lib/components/voorraad/StockBulkButtons.d.ts +7 -0
- package/dist-lib/components/voorraad/StockBulkButtons.d.ts.map +1 -0
- package/dist-lib/components/voorraad/StockBulkButtons.js +356 -0
- package/dist-lib/components/voorraad/ValidationOverviewTable.d.ts +7 -0
- package/dist-lib/components/voorraad/ValidationOverviewTable.d.ts.map +1 -0
- package/dist-lib/components/voorraad/ValidationOverviewTable.js +87 -0
- package/dist-lib/components/voorraad/ValidationPage.d.ts +2 -0
- package/dist-lib/components/voorraad/ValidationPage.d.ts.map +1 -0
- package/dist-lib/components/voorraad/ValidationPage.js +12 -0
- package/dist-lib/components/voorraad/VoorraadDashboard.d.ts +6 -0
- package/dist-lib/components/voorraad/VoorraadDashboard.d.ts.map +1 -0
- package/dist-lib/components/voorraad/VoorraadDashboard.js +42 -0
- package/dist-lib/components/voorraad/VoorraadPage.d.ts.map +1 -1
- package/dist-lib/components/voorraad/VoorraadPage.js +70 -11
- package/dist-lib/components/voorraad/VoorraadPagination.d.ts +10 -0
- package/dist-lib/components/voorraad/VoorraadPagination.d.ts.map +1 -0
- package/dist-lib/components/voorraad/VoorraadPagination.js +12 -0
- package/dist-lib/components/voorraad/VoorraadStockCard.d.ts +8 -0
- package/dist-lib/components/voorraad/VoorraadStockCard.d.ts.map +1 -0
- package/dist-lib/components/voorraad/VoorraadStockCard.js +33 -0
- package/dist-lib/components/voorraad/VoorraadTable.d.ts.map +1 -1
- package/dist-lib/components/voorraad/VoorraadTable.js +16 -5
- package/dist-lib/hooks/useFloriday.d.ts +55 -0
- package/dist-lib/hooks/useFloriday.d.ts.map +1 -0
- package/dist-lib/hooks/useFloriday.js +298 -0
- package/dist-lib/hooks/useLocalTradeItems.d.ts +17 -1
- package/dist-lib/hooks/useLocalTradeItems.d.ts.map +1 -1
- package/dist-lib/hooks/useLocalTradeItems.js +54 -10
- package/dist-lib/hooks/useTradeItemSpec.d.ts +42 -0
- package/dist-lib/hooks/useTradeItemSpec.d.ts.map +1 -0
- package/dist-lib/hooks/useTradeItemSpec.js +448 -0
- package/dist-lib/hooks/useTradeItemStock.d.ts +19 -0
- package/dist-lib/hooks/useTradeItemStock.d.ts.map +1 -0
- package/dist-lib/hooks/useTradeItemStock.js +78 -0
- package/dist-lib/hooks/useVbnRegulatoryFeatures.d.ts +3 -0
- package/dist-lib/hooks/useVbnRegulatoryFeatures.d.ts.map +1 -0
- package/dist-lib/hooks/useVbnRegulatoryFeatures.js +19 -0
- package/dist-lib/hooks/useVoorraadData.d.ts +2 -1
- package/dist-lib/hooks/useVoorraadData.d.ts.map +1 -1
- package/dist-lib/hooks/useVoorraadData.js +39 -11
- package/dist-lib/index.d.ts +4 -0
- package/dist-lib/index.d.ts.map +1 -1
- package/dist-lib/index.js +6 -5
- package/dist-lib/integrations/supabase/auth-middleware.d.ts +8346 -3367
- package/dist-lib/integrations/supabase/auth-middleware.d.ts.map +1 -1
- package/dist-lib/integrations/supabase/client.d.ts +8346 -3367
- package/dist-lib/integrations/supabase/client.d.ts.map +1 -1
- package/dist-lib/integrations/supabase/client.server.d.ts +8346 -3367
- package/dist-lib/integrations/supabase/client.server.d.ts.map +1 -1
- package/dist-lib/integrations/supabase/types.d.ts +8460 -3341
- package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
- package/dist-lib/integrations/supabase/types.js +10 -1
- package/dist-lib/lib/__tests__/floricode-required-features.test.d.ts +2 -0
- package/dist-lib/lib/__tests__/floricode-required-features.test.d.ts.map +1 -0
- package/dist-lib/lib/__tests__/floricode-required-features.test.js +186 -0
- package/dist-lib/lib/floricode-client.d.ts +15 -1
- package/dist-lib/lib/floricode-client.d.ts.map +1 -1
- package/dist-lib/lib/floricode-client.js +42 -4
- package/dist-lib/lib/floricode-required-features.functions.d.ts +10026 -0
- package/dist-lib/lib/floricode-required-features.functions.d.ts.map +1 -0
- package/dist-lib/lib/floricode-required-features.functions.js +170 -0
- package/dist-lib/lib/floriday-client.d.ts +36 -8
- package/dist-lib/lib/floriday-client.d.ts.map +1 -1
- package/dist-lib/lib/floriday-client.js +206 -25
- package/dist-lib/lib/floriday-env.d.ts +29 -0
- package/dist-lib/lib/floriday-env.d.ts.map +1 -0
- package/dist-lib/lib/floriday-env.js +42 -0
- package/dist-lib/lib/floriday-env.server.d.ts +15 -0
- package/dist-lib/lib/floriday-env.server.d.ts.map +1 -0
- package/dist-lib/lib/floriday-env.server.js +13 -0
- package/dist-lib/lib/floriday-field-sources.d.ts +18 -0
- package/dist-lib/lib/floriday-field-sources.d.ts.map +1 -0
- package/dist-lib/lib/floriday-field-sources.js +45 -0
- package/dist-lib/lib/floriday-gateway-entities.d.ts +44 -0
- package/dist-lib/lib/floriday-gateway-entities.d.ts.map +1 -0
- package/dist-lib/lib/floriday-gateway-entities.js +51 -0
- package/dist-lib/lib/floriday-gateway.functions.d.ts +39999 -0
- package/dist-lib/lib/floriday-gateway.functions.d.ts.map +1 -0
- package/dist-lib/lib/floriday-gateway.functions.js +68 -0
- package/dist-lib/lib/floriday-gateway.server.d.ts +122 -0
- package/dist-lib/lib/floriday-gateway.server.d.ts.map +1 -0
- package/dist-lib/lib/floriday-gateway.server.js +230 -0
- package/dist-lib/lib/floriday-import-validator.d.ts +26 -0
- package/dist-lib/lib/floriday-import-validator.d.ts.map +1 -0
- package/dist-lib/lib/floriday-import-validator.js +41 -0
- package/dist-lib/lib/floriday-payload.d.ts +47 -3
- package/dist-lib/lib/floriday-payload.d.ts.map +1 -1
- package/dist-lib/lib/floriday-payload.js +179 -7
- package/dist-lib/lib/floriday-schema-to-zod.d.ts +9 -0
- package/dist-lib/lib/floriday-schema-to-zod.d.ts.map +1 -0
- package/dist-lib/lib/floriday-schema-to-zod.js +53 -0
- package/dist-lib/lib/floriday-writes.functions.d.ts +19998 -0
- package/dist-lib/lib/floriday-writes.functions.d.ts.map +1 -0
- package/dist-lib/lib/floriday-writes.functions.js +74 -0
- package/dist-lib/lib/image-resize.d.ts +43 -0
- package/dist-lib/lib/image-resize.d.ts.map +1 -0
- package/dist-lib/lib/image-resize.js +212 -0
- package/dist-lib/lib/normalize-errors-middleware.d.ts +2 -0
- package/dist-lib/lib/normalize-errors-middleware.d.ts.map +1 -0
- package/dist-lib/lib/normalize-errors-middleware.js +24 -0
- package/dist-lib/lib/wizard-step-fields.d.ts +15 -0
- package/dist-lib/lib/wizard-step-fields.d.ts.map +1 -0
- package/dist-lib/lib/wizard-step-fields.js +51 -0
- package/package.json +35 -14
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { useCallback, useEffect, useState } from "react";
|
|
2
|
+
import { supabase } from "../integrations/supabase/client";
|
|
3
|
+
const EMPTY = {
|
|
4
|
+
physical_stock: 0,
|
|
5
|
+
minimum_stock: 0,
|
|
6
|
+
reserved_stock: 0,
|
|
7
|
+
incoming_stock: 0,
|
|
8
|
+
notes: null,
|
|
9
|
+
};
|
|
10
|
+
export function stockKeyFor(params) {
|
|
11
|
+
if (params.tradeItemId)
|
|
12
|
+
return params.tradeItemId;
|
|
13
|
+
if (params.draftId)
|
|
14
|
+
return `draft:${params.draftId}`;
|
|
15
|
+
return null;
|
|
16
|
+
}
|
|
17
|
+
export function useTradeItemStock(connectionId, key) {
|
|
18
|
+
const [row, setRow] = useState(null);
|
|
19
|
+
const [loading, setLoading] = useState(false);
|
|
20
|
+
useEffect(() => {
|
|
21
|
+
if (!connectionId || !key) {
|
|
22
|
+
setRow(null);
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
let cancelled = false;
|
|
26
|
+
setLoading(true);
|
|
27
|
+
(async () => {
|
|
28
|
+
const { data } = await supabase
|
|
29
|
+
.from("trade_item_stock")
|
|
30
|
+
.select("physical_stock,minimum_stock,reserved_stock,incoming_stock,notes,updated_at")
|
|
31
|
+
.eq("connection_id", connectionId)
|
|
32
|
+
.eq("trade_item_key", key)
|
|
33
|
+
.maybeSingle();
|
|
34
|
+
if (cancelled)
|
|
35
|
+
return;
|
|
36
|
+
setRow(data ?? { ...EMPTY });
|
|
37
|
+
setLoading(false);
|
|
38
|
+
})();
|
|
39
|
+
return () => {
|
|
40
|
+
cancelled = true;
|
|
41
|
+
};
|
|
42
|
+
}, [connectionId, key]);
|
|
43
|
+
const save = useCallback(async (values) => {
|
|
44
|
+
if (!connectionId || !key)
|
|
45
|
+
throw new Error("Ontbrekende connectie of artikel-key");
|
|
46
|
+
const userRes = await supabase.auth.getUser();
|
|
47
|
+
const userId = userRes.data.user?.id;
|
|
48
|
+
if (!userId)
|
|
49
|
+
throw new Error("Niet ingelogd");
|
|
50
|
+
const { error } = await supabase
|
|
51
|
+
.from("trade_item_stock")
|
|
52
|
+
.upsert({
|
|
53
|
+
user_id: userId,
|
|
54
|
+
connection_id: connectionId,
|
|
55
|
+
trade_item_key: key,
|
|
56
|
+
physical_stock: values.physical_stock,
|
|
57
|
+
minimum_stock: values.minimum_stock,
|
|
58
|
+
reserved_stock: values.reserved_stock,
|
|
59
|
+
incoming_stock: values.incoming_stock,
|
|
60
|
+
notes: values.notes,
|
|
61
|
+
}, { onConflict: "connection_id,trade_item_key" });
|
|
62
|
+
if (error)
|
|
63
|
+
throw new Error(error.message);
|
|
64
|
+
setRow(values);
|
|
65
|
+
}, [connectionId, key]);
|
|
66
|
+
return { row: row ?? EMPTY, loading, save };
|
|
67
|
+
}
|
|
68
|
+
export async function fetchStockMap(connectionId) {
|
|
69
|
+
const { data } = await supabase
|
|
70
|
+
.from("trade_item_stock")
|
|
71
|
+
.select("trade_item_key,physical_stock,minimum_stock,reserved_stock,incoming_stock,notes,updated_at")
|
|
72
|
+
.eq("connection_id", connectionId);
|
|
73
|
+
const map = new Map();
|
|
74
|
+
for (const r of (data ?? [])) {
|
|
75
|
+
map.set(r.trade_item_key, r);
|
|
76
|
+
}
|
|
77
|
+
return map;
|
|
78
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { type GetRequiredFeaturesResult } from "../lib/floricode-required-features.functions";
|
|
2
|
+
export declare function useVbnRegulatoryFeatures(vbnCode: string | null | undefined): import("@tanstack/react-query").UseQueryResult<GetRequiredFeaturesResult, Error>;
|
|
3
|
+
//# sourceMappingURL=useVbnRegulatoryFeatures.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useVbnRegulatoryFeatures.d.ts","sourceRoot":"","sources":["../../src/hooks/useVbnRegulatoryFeatures.ts"],"names":[],"mappings":"AAQA,OAAO,EAEL,KAAK,yBAAyB,EAC/B,MAAM,8CAA8C,CAAC;AAEtD,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,oFAS1E"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Autoritatieve verplichte/geadviseerde karakteristieken per VBN-productcode,
|
|
3
|
+
* gelezen uit `floricode_records.RegulatoryFeatureType`.
|
|
4
|
+
*
|
|
5
|
+
* Vervangt de vroegere afleiding uit `codeLists['vbn-product-code']` /
|
|
6
|
+
* `vbn-product-group`, die deze koppeling niet bevat.
|
|
7
|
+
*/
|
|
8
|
+
import { useQuery } from "@tanstack/react-query";
|
|
9
|
+
import { getVbnRequiredFeatures, } from "../lib/floricode-required-features.functions";
|
|
10
|
+
export function useVbnRegulatoryFeatures(vbnCode) {
|
|
11
|
+
const code = String(vbnCode ?? "").trim();
|
|
12
|
+
const enabled = /^\d{5,6}$/.test(code);
|
|
13
|
+
return useQuery({
|
|
14
|
+
queryKey: ["vbn-regulatory-features", code],
|
|
15
|
+
queryFn: () => getVbnRequiredFeatures({ data: { vbnCode: code } }),
|
|
16
|
+
enabled,
|
|
17
|
+
staleTime: 60 * 60 * 1000,
|
|
18
|
+
});
|
|
19
|
+
}
|
|
@@ -2,7 +2,8 @@ import { type TradeItem } from "../lib/floriday-client";
|
|
|
2
2
|
/**
|
|
3
3
|
* Reads trade items from the shared `floriday_trade_items_cache` (gepubliceerd,
|
|
4
4
|
* gevuld door de Auth-module elke 5 min) en merget lokale, niet-gepubliceerde
|
|
5
|
-
* producten uit `trade_item_drafts`.
|
|
5
|
+
* producten uit `trade_item_drafts`. Voorraadwaarden uit `trade_item_stock`
|
|
6
|
+
* overschrijven de cache-waarden (lokale bron van waarheid voor stock).
|
|
6
7
|
*/
|
|
7
8
|
export declare function useVoorraadData(connectionId: string | null): {
|
|
8
9
|
items: TradeItem[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useVoorraadData.d.ts","sourceRoot":"","sources":["../../src/hooks/useVoorraadData.ts"],"names":[],"mappings":"AAEA,OAAO,EAAsB,KAAK,SAAS,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"useVoorraadData.d.ts","sourceRoot":"","sources":["../../src/hooks/useVoorraadData.ts"],"names":[],"mappings":"AAEA,OAAO,EAAsB,KAAK,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAoB5E;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;;;;;EAkE1D"}
|
|
@@ -2,37 +2,61 @@ import { useCallback, useEffect, useState } from "react";
|
|
|
2
2
|
import { supabase } from "../integrations/supabase/client";
|
|
3
3
|
import { normaliseTradeItem } from "../lib/floriday-client";
|
|
4
4
|
import { useLocalTradeItems } from "./useLocalTradeItems";
|
|
5
|
+
import { fetchStockMap } from "./useTradeItemStock";
|
|
6
|
+
function applyStock(item, s) {
|
|
7
|
+
if (!s)
|
|
8
|
+
return item;
|
|
9
|
+
const physical = s.physical_stock;
|
|
10
|
+
const reserved = s.reserved_stock;
|
|
11
|
+
const available = Math.max(0, physical - reserved);
|
|
12
|
+
return {
|
|
13
|
+
...item,
|
|
14
|
+
quantity: physical,
|
|
15
|
+
minQuantity: s.minimum_stock,
|
|
16
|
+
reservedQuantity: reserved,
|
|
17
|
+
incomingQuantity: s.incoming_stock,
|
|
18
|
+
availableQuantity: available,
|
|
19
|
+
economicQuantity: available + s.incoming_stock,
|
|
20
|
+
};
|
|
21
|
+
}
|
|
5
22
|
/**
|
|
6
23
|
* Reads trade items from the shared `floriday_trade_items_cache` (gepubliceerd,
|
|
7
24
|
* gevuld door de Auth-module elke 5 min) en merget lokale, niet-gepubliceerde
|
|
8
|
-
* producten uit `trade_item_drafts`.
|
|
25
|
+
* producten uit `trade_item_drafts`. Voorraadwaarden uit `trade_item_stock`
|
|
26
|
+
* overschrijven de cache-waarden (lokale bron van waarheid voor stock).
|
|
9
27
|
*/
|
|
10
28
|
export function useVoorraadData(connectionId) {
|
|
11
29
|
const [publishedItems, setPublishedItems] = useState([]);
|
|
30
|
+
const [stockMap, setStockMap] = useState(new Map());
|
|
12
31
|
const [loading, setLoading] = useState(false);
|
|
13
32
|
const [error, setError] = useState(null);
|
|
14
33
|
const { items: localItems, loading: localLoading, reload: reloadLocal, } = useLocalTradeItems(connectionId);
|
|
15
34
|
const loadPublished = useCallback(async () => {
|
|
16
35
|
if (!connectionId) {
|
|
17
36
|
setPublishedItems([]);
|
|
37
|
+
setStockMap(new Map());
|
|
18
38
|
return;
|
|
19
39
|
}
|
|
20
40
|
setLoading(true);
|
|
21
41
|
setError(null);
|
|
22
42
|
try {
|
|
23
|
-
const
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
43
|
+
const [pubRes, stock] = await Promise.all([
|
|
44
|
+
supabase
|
|
45
|
+
.from("floriday_trade_items_cache")
|
|
46
|
+
.select("data,floriday_id,is_deleted")
|
|
47
|
+
.eq("connection_id", connectionId)
|
|
48
|
+
.eq("is_deleted", false)
|
|
49
|
+
.limit(1000),
|
|
50
|
+
fetchStockMap(connectionId),
|
|
51
|
+
]);
|
|
52
|
+
if (pubRes.error)
|
|
53
|
+
throw pubRes.error;
|
|
54
|
+
const normalised = (pubRes.data ?? [])
|
|
32
55
|
.map((row) => normaliseTradeItem({ ...row.data, id: row.floriday_id }))
|
|
33
56
|
.filter((i) => i.id)
|
|
34
57
|
.map((i) => ({ ...i, published: true }));
|
|
35
58
|
setPublishedItems(normalised);
|
|
59
|
+
setStockMap(stock);
|
|
36
60
|
}
|
|
37
61
|
catch (e) {
|
|
38
62
|
setError(e.message);
|
|
@@ -48,8 +72,12 @@ export function useVoorraadData(connectionId) {
|
|
|
48
72
|
const reload = useCallback(async () => {
|
|
49
73
|
await Promise.all([loadPublished(), reloadLocal()]);
|
|
50
74
|
}, [loadPublished, reloadLocal]);
|
|
75
|
+
const merged = [
|
|
76
|
+
...localItems.map((i) => applyStock(i, stockMap.get(i.localId ? `draft:${i.localId}` : ""))),
|
|
77
|
+
...publishedItems.map((i) => applyStock(i, stockMap.get(i.id))),
|
|
78
|
+
];
|
|
51
79
|
return {
|
|
52
|
-
items:
|
|
80
|
+
items: merged,
|
|
53
81
|
loading: loading || localLoading,
|
|
54
82
|
error,
|
|
55
83
|
reload,
|
package/dist-lib/index.d.ts
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import type { FlowModule } from "@flowselections/core";
|
|
2
2
|
export * from './_core-safelist';
|
|
3
3
|
export { VoorraadPage } from './components/voorraad/VoorraadPage';
|
|
4
|
+
export { NieuwArtikelPage } from './components/voorraad/NieuwArtikelPage';
|
|
5
|
+
export { EditArtikelPage } from './components/voorraad/EditArtikelPage';
|
|
6
|
+
export { ValidationPage } from './components/voorraad/ValidationPage';
|
|
7
|
+
export { ArtikelWizard } from './components/voorraad/ArtikelWizard';
|
|
4
8
|
export declare const floridayVoorraadModule: FlowModule;
|
|
5
9
|
//# sourceMappingURL=index.d.ts.map
|
package/dist-lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEvD,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEvD,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAEpE,eAAO,MAAM,sBAAsB,EAAE,UAUpC,CAAC"}
|
package/dist-lib/index.js
CHANGED
|
@@ -4,17 +4,18 @@
|
|
|
4
4
|
import { Package } from "lucide-react";
|
|
5
5
|
export * from './_core-safelist';
|
|
6
6
|
export { VoorraadPage } from './components/voorraad/VoorraadPage';
|
|
7
|
-
|
|
7
|
+
export { NieuwArtikelPage } from './components/voorraad/NieuwArtikelPage';
|
|
8
|
+
export { EditArtikelPage } from './components/voorraad/EditArtikelPage';
|
|
9
|
+
export { ValidationPage } from './components/voorraad/ValidationPage';
|
|
10
|
+
export { ArtikelWizard } from './components/voorraad/ArtikelWizard';
|
|
8
11
|
export const floridayVoorraadModule = {
|
|
9
12
|
id: "voorraad",
|
|
10
13
|
name: "Voorraad",
|
|
11
14
|
version: "1.0.0",
|
|
12
15
|
nav: {
|
|
13
16
|
label: "Voorraad",
|
|
14
|
-
href: "/
|
|
17
|
+
href: "/voorraad",
|
|
15
18
|
icon: Package,
|
|
16
19
|
},
|
|
17
|
-
settingsCards: [
|
|
18
|
-
{ component: VoorraadSettingsCard, order: 10 },
|
|
19
|
-
],
|
|
20
|
+
settingsCards: [],
|
|
20
21
|
};
|