@flowselections/floriday-voorraad 1.0.77 → 1.0.78
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/components/TemplatePage.d.ts +2 -0
- package/dist-lib/components/TemplatePage.d.ts.map +1 -0
- package/dist-lib/components/TemplatePage.js +4 -0
- package/dist-lib/components/settings/VoorraadSettingsCard.d.ts +2 -0
- package/dist-lib/components/settings/VoorraadSettingsCard.d.ts.map +1 -0
- package/dist-lib/components/settings/VoorraadSettingsCard.js +39 -0
- package/dist-lib/components/voorraad/AdditionalPackagingDialog.d.ts +2 -2
- package/dist-lib/components/voorraad/AdditionalPackagingDialog.d.ts.map +1 -1
- package/dist-lib/components/voorraad/AdditionalPackagingDialog.js +2 -2
- package/dist-lib/components/voorraad/ArtikelCompositionCard.d.ts +1 -1
- package/dist-lib/components/voorraad/ArtikelCompositionCard.d.ts.map +1 -1
- package/dist-lib/components/voorraad/ArtikelCompositionCard.js +1 -1
- package/dist-lib/components/voorraad/ArtikelWizard.d.ts +1 -1
- package/dist-lib/components/voorraad/ArtikelWizard.d.ts.map +1 -1
- package/dist-lib/components/voorraad/ArtikelWizard.js +40 -40
- package/dist-lib/components/voorraad/CollapsibleText.d.ts +1 -1
- package/dist-lib/components/voorraad/CollapsibleText.d.ts.map +1 -1
- package/dist-lib/components/voorraad/ConnectionBadge.d.ts +6 -0
- package/dist-lib/components/voorraad/ConnectionBadge.d.ts.map +1 -0
- package/dist-lib/components/voorraad/ConnectionBadge.js +12 -0
- package/dist-lib/components/voorraad/ConnectionPicker.d.ts +8 -0
- package/dist-lib/components/voorraad/ConnectionPicker.d.ts.map +1 -0
- package/dist-lib/components/voorraad/ConnectionPicker.js +8 -0
- package/dist-lib/components/voorraad/EditArtikelPage.d.ts +1 -1
- package/dist-lib/components/voorraad/EditArtikelPage.d.ts.map +1 -1
- package/dist-lib/components/voorraad/EditArtikelPage.js +4 -4
- package/dist-lib/components/voorraad/ExcelExportButton.d.ts +2 -2
- package/dist-lib/components/voorraad/ExcelExportButton.d.ts.map +1 -1
- package/dist-lib/components/voorraad/ExcelExportButton.js +1 -1
- package/dist-lib/components/voorraad/FloridayInfoCard.d.ts +1 -1
- package/dist-lib/components/voorraad/FloridayInfoCard.d.ts.map +1 -1
- package/dist-lib/components/voorraad/FloridayInfoCard.js +2 -2
- package/dist-lib/components/voorraad/FloridaySentCard.d.ts +1 -1
- package/dist-lib/components/voorraad/FloridaySentCard.d.ts.map +1 -1
- package/dist-lib/components/voorraad/FloridaySentCard.js +2 -2
- package/dist-lib/components/voorraad/FloridayStatusBadge.d.ts +4 -0
- package/dist-lib/components/voorraad/FloridayStatusBadge.d.ts.map +1 -0
- package/dist-lib/components/voorraad/FloridayStatusBadge.js +8 -0
- package/dist-lib/components/voorraad/FustenPage.d.ts +1 -1
- package/dist-lib/components/voorraad/FustenPage.d.ts.map +1 -1
- package/dist-lib/components/voorraad/FustenPage.js +4 -4
- package/dist-lib/components/voorraad/InventorySettingsDrawer.d.ts +2 -2
- package/dist-lib/components/voorraad/InventorySettingsDrawer.d.ts.map +1 -1
- package/dist-lib/components/voorraad/InventorySettingsDrawer.js +3 -3
- package/dist-lib/components/voorraad/InventoryStatusBadge.d.ts +3 -3
- package/dist-lib/components/voorraad/InventoryStatusBadge.d.ts.map +1 -1
- package/dist-lib/components/voorraad/InventoryStatusBadge.js +1 -1
- package/dist-lib/components/voorraad/ModuleHealthCard.d.ts +2 -0
- package/dist-lib/components/voorraad/ModuleHealthCard.d.ts.map +1 -0
- package/dist-lib/components/voorraad/ModuleHealthCard.js +40 -0
- package/dist-lib/components/voorraad/NieuwArtikelPage.d.ts +1 -1
- package/dist-lib/components/voorraad/NieuwArtikelPage.d.ts.map +1 -1
- package/dist-lib/components/voorraad/NieuwArtikelPage.js +3 -3
- package/dist-lib/components/voorraad/OrderHistoryCard.d.ts +1 -1
- package/dist-lib/components/voorraad/OrderHistoryCard.d.ts.map +1 -1
- package/dist-lib/components/voorraad/OrderHistoryCard.js +1 -1
- package/dist-lib/components/voorraad/PriceStatusBadge.d.ts +1 -1
- package/dist-lib/components/voorraad/PriceStatusBadge.d.ts.map +1 -1
- package/dist-lib/components/voorraad/ProductCustomFieldsCard.d.ts +1 -1
- package/dist-lib/components/voorraad/ProductCustomFieldsCard.d.ts.map +1 -1
- package/dist-lib/components/voorraad/ProductCustomFieldsCard.js +2 -2
- package/dist-lib/components/voorraad/ProductLinkCard.d.ts +1 -1
- package/dist-lib/components/voorraad/ProductLinkCard.d.ts.map +1 -1
- package/dist-lib/components/voorraad/ProductLinkCard.js +1 -1
- package/dist-lib/components/voorraad/ProductSalePriceField.d.ts +2 -2
- package/dist-lib/components/voorraad/ProductSalePriceField.d.ts.map +1 -1
- package/dist-lib/components/voorraad/ProductSalePriceField.js +2 -2
- package/dist-lib/components/voorraad/ProductStructureCard.d.ts +2 -2
- package/dist-lib/components/voorraad/ProductStructureCard.d.ts.map +1 -1
- package/dist-lib/components/voorraad/ProductStructureCard.js +3 -3
- package/dist-lib/components/voorraad/PublicatiesPage.d.ts +1 -1
- package/dist-lib/components/voorraad/PublicatiesPage.d.ts.map +1 -1
- package/dist-lib/components/voorraad/PublicatiesPage.js +2 -2
- package/dist-lib/components/voorraad/PublishProgressCard.d.ts +2 -2
- package/dist-lib/components/voorraad/PublishProgressCard.d.ts.map +1 -1
- package/dist-lib/components/voorraad/PublishReadinessCard.d.ts +2 -2
- package/dist-lib/components/voorraad/PublishReadinessCard.d.ts.map +1 -1
- package/dist-lib/components/voorraad/StepSamenstelling.d.ts +2 -2
- package/dist-lib/components/voorraad/StepSamenstelling.d.ts.map +1 -1
- package/dist-lib/components/voorraad/StepSamenstelling.js +1 -1
- package/dist-lib/components/voorraad/StockBulkButtons.d.ts +2 -2
- package/dist-lib/components/voorraad/StockBulkButtons.d.ts.map +1 -1
- package/dist-lib/components/voorraad/StockBulkButtons.js +5 -5
- package/dist-lib/components/voorraad/StockHistoryChart.d.ts +1 -1
- package/dist-lib/components/voorraad/StockHistoryChart.d.ts.map +1 -1
- package/dist-lib/components/voorraad/StockHistoryChart.js +1 -1
- package/dist-lib/components/voorraad/StockIntegrityAlert.d.ts +1 -1
- package/dist-lib/components/voorraad/StockIntegrityAlert.d.ts.map +1 -1
- package/dist-lib/components/voorraad/StockIntegrityAlert.js +1 -1
- package/dist-lib/components/voorraad/StockMutationHistoryCard.d.ts +1 -1
- package/dist-lib/components/voorraad/StockMutationHistoryCard.d.ts.map +1 -1
- package/dist-lib/components/voorraad/StockMutationHistoryCard.js +2 -2
- package/dist-lib/components/voorraad/StockPushMonitor.d.ts +1 -1
- package/dist-lib/components/voorraad/StockPushMonitor.d.ts.map +1 -1
- package/dist-lib/components/voorraad/StockPushMonitor.js +3 -3
- package/dist-lib/components/voorraad/StockSyncStatus.d.ts +1 -1
- package/dist-lib/components/voorraad/StockSyncStatus.d.ts.map +1 -1
- package/dist-lib/components/voorraad/StockSyncStatus.js +2 -2
- package/dist-lib/components/voorraad/SupplyReadScopeAlert.d.ts +1 -1
- package/dist-lib/components/voorraad/SupplyReadScopeAlert.d.ts.map +1 -1
- package/dist-lib/components/voorraad/SupplyReadScopeAlert.js +1 -1
- package/dist-lib/components/voorraad/TrayStickerCard.d.ts +1 -1
- package/dist-lib/components/voorraad/TrayStickerCard.d.ts.map +1 -1
- package/dist-lib/components/voorraad/ValidationOverviewTable.d.ts +2 -2
- package/dist-lib/components/voorraad/ValidationOverviewTable.d.ts.map +1 -1
- package/dist-lib/components/voorraad/ValidationOverviewTable.js +5 -5
- package/dist-lib/components/voorraad/ValidationPage.d.ts +1 -1
- package/dist-lib/components/voorraad/ValidationPage.d.ts.map +1 -1
- package/dist-lib/components/voorraad/ValidationPage.js +3 -3
- package/dist-lib/components/voorraad/VoorraadDashboard.d.ts +10 -0
- package/dist-lib/components/voorraad/VoorraadDashboard.d.ts.map +1 -0
- package/dist-lib/components/voorraad/VoorraadDashboard.js +53 -0
- package/dist-lib/components/voorraad/VoorraadPage.d.ts +1 -1
- package/dist-lib/components/voorraad/VoorraadPage.d.ts.map +1 -1
- package/dist-lib/components/voorraad/VoorraadPage.js +14 -14
- package/dist-lib/components/voorraad/VoorraadPagination.d.ts +1 -1
- package/dist-lib/components/voorraad/VoorraadPagination.d.ts.map +1 -1
- package/dist-lib/components/voorraad/VoorraadStockCard.d.ts +1 -1
- package/dist-lib/components/voorraad/VoorraadStockCard.d.ts.map +1 -1
- package/dist-lib/components/voorraad/VoorraadStockCard.js +3 -3
- package/dist-lib/components/voorraad/VoorraadTable.d.ts +3 -3
- package/dist-lib/components/voorraad/VoorraadTable.d.ts.map +1 -1
- package/dist-lib/components/voorraad/VoorraadTable.js +5 -5
- package/dist-lib/components/voorraad/VoorraadVeldenCard.d.ts +1 -1
- package/dist-lib/components/voorraad/VoorraadVeldenCard.d.ts.map +1 -1
- package/dist-lib/components/voorraad/VoorraadVeldenCard.js +2 -2
- package/dist-lib/hooks/useFloriday.d.ts +1 -1
- package/dist-lib/hooks/useFloriday.js +4 -4
- package/dist-lib/hooks/useFloridayConnection.d.ts +1 -1
- package/dist-lib/hooks/useFloridayConnection.js +1 -1
- package/dist-lib/hooks/useFloridayContinuousStock.js +1 -1
- package/dist-lib/hooks/useFloridayPriceGroups.js +1 -1
- package/dist-lib/hooks/useFloridayVbnRequired.js +1 -1
- package/dist-lib/hooks/useFlorydayCustomers.js +1 -1
- package/dist-lib/hooks/useFusten.d.ts +1 -1
- package/dist-lib/hooks/useFusten.js +2 -2
- package/dist-lib/hooks/useInventorySettings.d.ts +1 -1
- package/dist-lib/hooks/useInventorySettings.js +1 -1
- package/dist-lib/hooks/useLocalTradeItems.d.ts +2 -2
- package/dist-lib/hooks/useLocalTradeItems.js +3 -3
- package/dist-lib/hooks/usePublishJob.d.ts +1 -1
- package/dist-lib/hooks/usePublishJob.js +2 -2
- package/dist-lib/hooks/useStockPushJobs.js +1 -1
- package/dist-lib/hooks/useStockSyncHealth.js +1 -1
- package/dist-lib/hooks/useTradeItemSpec.d.ts +2 -2
- package/dist-lib/hooks/useTradeItemStock.js +3 -3
- package/dist-lib/hooks/useVbnRegulatoryFeatures.d.ts +1 -1
- package/dist-lib/hooks/useVbnRegulatoryFeatures.js +1 -1
- package/dist-lib/hooks/useVoorraadCustomFields.d.ts +1 -1
- package/dist-lib/hooks/useVoorraadCustomFields.js +1 -1
- package/dist-lib/hooks/useVoorraadData.d.ts +1 -1
- package/dist-lib/hooks/useVoorraadData.js +6 -6
- package/dist-lib/hooks-entry.d.ts +5 -5
- package/dist-lib/hooks-entry.js +5 -5
- package/dist-lib/index.d.ts +11 -11
- package/dist-lib/index.js +12 -12
- package/dist-lib/integrations/supabase/auth-attacher.js +1 -1
- package/dist-lib/integrations/supabase/auth-middleware.d.ts +1 -1
- package/dist-lib/integrations/supabase/client.d.ts +1 -1
- package/dist-lib/integrations/supabase/client.js +1 -1
- package/dist-lib/integrations/supabase/client.server.d.ts +1 -1
- package/dist-lib/integrations/supabase/client.server.js +1 -1
- package/dist-lib/integrations/supabase/types.d.ts +346 -0
- package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
- package/dist-lib/lib/__tests__/floricode-required-features.test.js +1 -1
- package/dist-lib/lib/__tests__/floriday-base-supply.test.js +1 -1
- package/dist-lib/lib/base-supply-reader.server.js +2 -2
- package/dist-lib/lib/ensure-article-codes.d.ts +1 -1
- package/dist-lib/lib/ensure-article-codes.js +1 -1
- package/dist-lib/lib/floricode-client.js +1 -1
- package/dist-lib/lib/floriday-2026v1.server.js +2 -2
- package/dist-lib/lib/floriday-client.d.ts +2 -2
- package/dist-lib/lib/floriday-client.js +2 -2
- package/dist-lib/lib/floriday-customer-offer.functions.d.ts +1 -1
- package/dist-lib/lib/floriday-customer-offer.functions.js +4 -4
- package/dist-lib/lib/floriday-env.functions.d.ts +4 -4
- package/dist-lib/lib/floriday-env.functions.js +4 -4
- package/dist-lib/lib/floriday-env.server.d.ts +2 -2
- package/dist-lib/lib/floriday-env.server.js +2 -2
- 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.functions.d.ts +10 -10
- package/dist-lib/lib/floriday-gateway.functions.js +14 -14
- package/dist-lib/lib/floriday-gateway.server.d.ts +1 -1
- package/dist-lib/lib/floriday-gateway.server.js +9 -9
- package/dist-lib/lib/floriday-import-validator.d.ts +1 -1
- package/dist-lib/lib/floriday-readiness.server.d.ts +1 -1
- package/dist-lib/lib/floriday-readiness.server.js +2 -2
- package/dist-lib/lib/floriday-relink.js +1 -1
- 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-stock-supply.server.d.ts +1 -1
- package/dist-lib/lib/floriday-stock-supply.server.js +1 -1
- package/dist-lib/lib/floriday-supply-line.js +2 -2
- package/dist-lib/lib/floriday-vbn-required.functions.d.ts +2 -2
- package/dist-lib/lib/floriday-vbn-required.functions.js +2 -2
- package/dist-lib/lib/floriday-warehouse.functions.d.ts +6 -6
- package/dist-lib/lib/floriday-warehouse.functions.js +7 -7
- package/dist-lib/lib/floriday-write-gate.server.js +1 -1
- package/dist-lib/lib/floriday-writes.functions.d.ts +2 -2
- package/dist-lib/lib/floriday-writes.functions.js +6 -6
- package/dist-lib/lib/fusten.d.ts +1 -1
- package/dist-lib/lib/fusten.js +2 -2
- package/dist-lib/lib/inventory-settings.functions.js +1 -1
- package/dist-lib/lib/logistics-buffer-events.server.js +2 -2
- package/dist-lib/lib/logistics-events.js +2 -2
- package/dist-lib/lib/logistics-tasks.server.js +5 -5
- package/dist-lib/lib/merge-products.d.ts +8 -0
- package/dist-lib/lib/merge-products.d.ts.map +1 -0
- package/dist-lib/lib/merge-products.js +17 -0
- package/dist-lib/lib/module-health.functions.d.ts +53497 -0
- package/dist-lib/lib/module-health.functions.d.ts.map +1 -0
- package/dist-lib/lib/module-health.functions.js +261 -0
- package/dist-lib/lib/module-runtime-config.functions.d.ts +1 -1
- package/dist-lib/lib/module-runtime-config.functions.js +2 -2
- package/dist-lib/lib/module-runtime.server.js +1 -1
- package/dist-lib/lib/product-packing.js +1 -1
- package/dist-lib/lib/publish-pipeline.d.ts +1 -1
- package/dist-lib/lib/publish-pipeline.js +2 -2
- package/dist-lib/lib/publish-readiness.d.ts +2 -2
- package/dist-lib/lib/trade-item-prices.d.ts +1 -1
- package/dist-lib/lib/trade-item-prices.js +2 -2
- package/dist-lib/lib/validationSchemas.d.ts +15 -0
- package/dist-lib/lib/validationSchemas.d.ts.map +1 -0
- package/dist-lib/lib/validationSchemas.js +25 -0
- package/dist-lib/lib/voorraad-custom-fields.js +1 -1
- package/dist-lib/server-hooks/floriday-base-supply.js +1 -1
- package/dist-lib/server-hooks/floriday-continuous-stock-pull.js +1 -1
- package/dist-lib/server-hooks/floriday-continuous-stock.js +1 -1
- package/dist-lib/server-hooks/floriday-stock-reconcile.js +1 -1
- package/dist-lib/server-hooks/logistics-tasks-run.js +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TemplatePage.d.ts","sourceRoot":"","sources":["../../src/components/TemplatePage.tsx"],"names":[],"mappings":"AAAA,wBAAgB,YAAY,4CAS3B"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
export function TemplatePage() {
|
|
3
|
+
return (_jsxs("div", { className: "p-6", children: [_jsx("h1", { className: "text-2xl font-semibold", children: "Module pagina" }), _jsx("p", { className: "text-muted-foreground mt-2", children: "Vervang dit component met de pagina's van jouw module." })] }));
|
|
4
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VoorraadSettingsCard.d.ts","sourceRoot":"","sources":["../../../src/components/settings/VoorraadSettingsCard.tsx"],"names":[],"mappings":"AAeA,wBAAgB,oBAAoB,4CA8DnC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect, useState } from "react";
|
|
3
|
+
import { Card, CardContent, CardDescription, CardHeader, CardTitle, Button, Input, Label, supabase, toast, } from "@flowselections/core";
|
|
4
|
+
import { Package } from "lucide-react";
|
|
5
|
+
export function VoorraadSettingsCard() {
|
|
6
|
+
const [lowStockThreshold, setLowStockThreshold] = useState("");
|
|
7
|
+
const [loading, setLoading] = useState(true);
|
|
8
|
+
const [saving, setSaving] = useState(false);
|
|
9
|
+
useEffect(() => {
|
|
10
|
+
(async () => {
|
|
11
|
+
try {
|
|
12
|
+
const { data } = await supabase
|
|
13
|
+
.from("inventory_settings")
|
|
14
|
+
.select("*")
|
|
15
|
+
.limit(1)
|
|
16
|
+
.maybeSingle();
|
|
17
|
+
if (data && "low_stock_threshold" in data) {
|
|
18
|
+
setLowStockThreshold(String(data.low_stock_threshold ?? ""));
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
finally {
|
|
22
|
+
setLoading(false);
|
|
23
|
+
}
|
|
24
|
+
})();
|
|
25
|
+
}, []);
|
|
26
|
+
const handleSave = async () => {
|
|
27
|
+
setSaving(true);
|
|
28
|
+
try {
|
|
29
|
+
toast.success("Instellingen opgeslagen");
|
|
30
|
+
}
|
|
31
|
+
catch {
|
|
32
|
+
toast.error("Fout bij het opslaan");
|
|
33
|
+
}
|
|
34
|
+
finally {
|
|
35
|
+
setSaving(false);
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
return (_jsxs(Card, { children: [_jsxs(CardHeader, { children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Package, { className: "h-5 w-5 text-primary" }), _jsx(CardTitle, { children: "Voorraad Instellingen" })] }), _jsx(CardDescription, { children: "Beheer drempelwaarden en standaarden voor de voorraad module" })] }), _jsxs(CardContent, { className: "space-y-4", children: [_jsxs("div", { className: "space-y-2", children: [_jsx(Label, { htmlFor: "threshold", children: "Lage-voorraad drempel" }), _jsx(Input, { id: "threshold", type: "number", value: lowStockThreshold, onChange: (e) => setLowStockThreshold(e.target.value), placeholder: "bv. 10", disabled: loading })] }), _jsx(Button, { onClick: handleSave, disabled: saving || loading, children: saving ? "Opslaan..." : "Opslaan" })] })] }));
|
|
39
|
+
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { type AdditionalPackagingInput } from "../../lib/floriday-payload";
|
|
1
|
+
import { type AdditionalPackagingInput } from "../../lib/floriday-payload.js";
|
|
2
2
|
interface Props {
|
|
3
3
|
open: boolean;
|
|
4
4
|
onOpenChange: (open: boolean) => void;
|
|
5
5
|
onSave: (item: AdditionalPackagingInput) => void;
|
|
6
6
|
}
|
|
7
|
-
export declare function AdditionalPackagingDialog({ open, onOpenChange, onSave }: Props): import("react").JSX.Element;
|
|
7
|
+
export declare function AdditionalPackagingDialog({ open, onOpenChange, onSave }: Props): import("react/jsx-runtime").JSX.Element;
|
|
8
8
|
export {};
|
|
9
9
|
//# sourceMappingURL=AdditionalPackagingDialog.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdditionalPackagingDialog.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/AdditionalPackagingDialog.tsx"],"names":[],"mappings":"AAeA,OAAO,EAEL,KAAK,wBAAwB,EAC9B,MAAM,4BAA4B,CAAC;AAMpC,UAAU,KAAK;IACb,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,MAAM,EAAE,CAAC,IAAI,EAAE,wBAAwB,KAAK,IAAI,CAAC;CAClD;AAED,wBAAgB,yBAAyB,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,KAAK
|
|
1
|
+
{"version":3,"file":"AdditionalPackagingDialog.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/AdditionalPackagingDialog.tsx"],"names":[],"mappings":"AAeA,OAAO,EAEL,KAAK,wBAAwB,EAC9B,MAAM,4BAA4B,CAAC;AAMpC,UAAU,KAAK;IACb,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,MAAM,EAAE,CAAC,IAAI,EAAE,wBAAwB,KAAK,IAAI,CAAC;CAClD;AAED,wBAAgB,yBAAyB,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,KAAK,2CA2I9E"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useMemo, useState, useEffect } from "react";
|
|
3
3
|
import { Dialog, DialogContent, DialogFooter, DialogHeader, DialogTitle, Button, Label, Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from "@flowselections/core";
|
|
4
|
-
import { PACKAGING_SUPPLIERS, } from "../../lib/floriday-payload";
|
|
5
|
-
import { getMaterialTypesForSupplier, getMaterialsForSupplier, } from "../../lib/vrs-catalog";
|
|
4
|
+
import { PACKAGING_SUPPLIERS, } from "../../lib/floriday-payload.js";
|
|
5
|
+
import { getMaterialTypesForSupplier, getMaterialsForSupplier, } from "../../lib/vrs-catalog.js";
|
|
6
6
|
export function AdditionalPackagingDialog({ open, onOpenChange, onSave }) {
|
|
7
7
|
const [supplierId, setSupplierId] = useState("");
|
|
8
8
|
const [typeCode, setTypeCode] = useState("");
|
|
@@ -2,6 +2,6 @@ interface Props {
|
|
|
2
2
|
productId: string | null;
|
|
3
3
|
floridayId: string | null;
|
|
4
4
|
}
|
|
5
|
-
export declare function ArtikelCompositionCard({ productId, floridayId }: Props): import("react").JSX.Element | null;
|
|
5
|
+
export declare function ArtikelCompositionCard({ productId, floridayId }: Props): import("react/jsx-runtime").JSX.Element | null;
|
|
6
6
|
export {};
|
|
7
7
|
//# sourceMappingURL=ArtikelCompositionCard.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArtikelCompositionCard.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/ArtikelCompositionCard.tsx"],"names":[],"mappings":"AAMA,UAAU,KAAK;IACb,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAkHD,wBAAgB,sBAAsB,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"ArtikelCompositionCard.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/ArtikelCompositionCard.tsx"],"names":[],"mappings":"AAMA,UAAU,KAAK;IACb,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAkHD,wBAAgB,sBAAsB,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,KAAK,kDA6RtE"}
|
|
@@ -3,7 +3,7 @@ import { useCallback, useEffect, useState } from "react";
|
|
|
3
3
|
import { toast } from "sonner";
|
|
4
4
|
import { Card, CardContent, CardDescription, CardHeader, CardTitle, Badge } from "@flowselections/core";
|
|
5
5
|
import { ArrowDown, ArrowUp, Loader2, Package } from "lucide-react";
|
|
6
|
-
import { supabase } from "../../integrations/supabase/client";
|
|
6
|
+
import { supabase } from "../../integrations/supabase/client.js";
|
|
7
7
|
async function loadStock(productIds, floridayIds) {
|
|
8
8
|
const out = new Map();
|
|
9
9
|
const idToProduct = new Map();
|
|
@@ -3,5 +3,5 @@ export declare function ArtikelWizard({ draftId: initialDraftId, tradeItemId, pr
|
|
|
3
3
|
tradeItemId?: string;
|
|
4
4
|
productId?: string;
|
|
5
5
|
resumeJobId?: string;
|
|
6
|
-
}): import("react").JSX.Element;
|
|
6
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
7
7
|
//# sourceMappingURL=ArtikelWizard.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArtikelWizard.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/ArtikelWizard.tsx"],"names":[],"mappings":"AA6MA,wBAAgB,aAAa,CAAC,EAC5B,OAAO,EAAE,cAAc,EACvB,WAAW,EACX,SAAS,EACT,WAAW,GACZ,GAAE;IACD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACjB
|
|
1
|
+
{"version":3,"file":"ArtikelWizard.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/ArtikelWizard.tsx"],"names":[],"mappings":"AA6MA,wBAAgB,aAAa,CAAC,EAC5B,OAAO,EAAE,cAAc,EACvB,WAAW,EACX,SAAS,EACT,WAAW,GACZ,GAAE;IACD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACjB,2CAusEL"}
|
|
@@ -3,44 +3,44 @@ import { useCallback, useEffect, useMemo, useRef, useState } from "react";
|
|
|
3
3
|
import { Link, useNavigate } from "@tanstack/react-router";
|
|
4
4
|
import { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle, AlertDialogTrigger, Button, Card, CardContent, Checkbox, Dialog, DialogContent, DialogFooter, DialogHeader, DialogTitle, Input, Label, Popover, PopoverContent, PopoverTrigger, Select, SelectContent, SelectItem, SelectTrigger, SelectValue, Switch, toast, } from "@flowselections/core";
|
|
5
5
|
import { ArrowLeft, ArrowRight, Check, ChevronDown, ClipboardList, Info, Loader2, Plus, Search, Trash2, Upload, UploadCloud, Users, X, Star, } from "lucide-react";
|
|
6
|
-
import { useFloridayConnection } from "../../hooks/useFloridayConnection";
|
|
7
|
-
import { useFlorydayCustomers } from "../../hooks/useFlorydayCustomers";
|
|
8
|
-
import { floriday } from "../../lib/floriday-client";
|
|
9
|
-
import { listFloricode, listFloricodeByField } from "../../lib/floricode-client";
|
|
10
|
-
import { supabase } from "../../integrations/supabase/client";
|
|
11
|
-
import { buildAddTradeItemPayload, buildUpdateTradeItemPayload, buildPrimaryPackingBase, emptyWizardData, floridayCacheToWizardData, isValidGtin13, normalizeFloridayProductGroup, PACKAGING_SUPPLIERS, validateStep, } from "../../lib/floriday-payload";
|
|
12
|
-
import { AdditionalPackagingDialog } from "./AdditionalPackagingDialog";
|
|
13
|
-
import { publishCustomerOfferFn } from "../../lib/floriday-customer-offer.functions";
|
|
14
|
-
import { upsertSupplyLineForTradeItem } from "../../lib/floriday-supply-line";
|
|
15
|
-
import { deleteLocalTradeItem, getLocalTradeItem, markLocalSyncStatus, readLocalSyncStatus, upsertLocalTradeItem, } from "../../hooks/useLocalTradeItems";
|
|
16
|
-
import { useTradeItemSpec } from "../../hooks/useTradeItemSpec";
|
|
17
|
-
import { useVbnRegulatoryFeatures } from "../../hooks/useVbnRegulatoryFeatures";
|
|
18
|
-
import { useFloridayVbnRequired } from "../../hooks/useFloridayVbnRequired";
|
|
19
|
-
import { saveFloridayVbnRequired } from "../../lib/floriday-vbn-required.functions";
|
|
6
|
+
import { useFloridayConnection } from "../../hooks/useFloridayConnection.js";
|
|
7
|
+
import { useFlorydayCustomers } from "../../hooks/useFlorydayCustomers.js";
|
|
8
|
+
import { floriday } from "../../lib/floriday-client.js";
|
|
9
|
+
import { listFloricode, listFloricodeByField } from "../../lib/floricode-client.js";
|
|
10
|
+
import { supabase } from "../../integrations/supabase/client.js";
|
|
11
|
+
import { buildAddTradeItemPayload, buildUpdateTradeItemPayload, buildPrimaryPackingBase, emptyWizardData, floridayCacheToWizardData, isValidGtin13, normalizeFloridayProductGroup, PACKAGING_SUPPLIERS, validateStep, } from "../../lib/floriday-payload.js";
|
|
12
|
+
import { AdditionalPackagingDialog } from "./AdditionalPackagingDialog.js";
|
|
13
|
+
import { publishCustomerOfferFn } from "../../lib/floriday-customer-offer.functions.js";
|
|
14
|
+
import { upsertSupplyLineForTradeItem } from "../../lib/floriday-supply-line.js";
|
|
15
|
+
import { deleteLocalTradeItem, getLocalTradeItem, markLocalSyncStatus, readLocalSyncStatus, upsertLocalTradeItem, } from "../../hooks/useLocalTradeItems.js";
|
|
16
|
+
import { useTradeItemSpec } from "../../hooks/useTradeItemSpec.js";
|
|
17
|
+
import { useVbnRegulatoryFeatures } from "../../hooks/useVbnRegulatoryFeatures.js";
|
|
18
|
+
import { useFloridayVbnRequired } from "../../hooks/useFloridayVbnRequired.js";
|
|
19
|
+
import { saveFloridayVbnRequired } from "../../lib/floriday-vbn-required.functions.js";
|
|
20
20
|
import { useQuery, useQueryClient } from "@tanstack/react-query";
|
|
21
|
-
import { useCodeList, useTradeItemFormSchema } from "../../hooks/useFloriday";
|
|
22
|
-
import { useFloridayPriceGroups } from "../../hooks/useFloridayPriceGroups";
|
|
23
|
-
import { readTradeItemPrices, syncTradeItemPrices } from "../../lib/trade-item-prices";
|
|
24
|
-
import { createPublishJob, finishPublishJob, markStepSkipped, rememberPublishRejection, runPublishStep, } from "../../lib/publish-pipeline";
|
|
25
|
-
import { translatePublishError, } from "../../lib/publish-errors";
|
|
26
|
-
import { buildReadinessReport } from "../../lib/publish-readiness";
|
|
27
|
-
import { usePublishJob } from "../../hooks/usePublishJob";
|
|
28
|
-
import { PublishReadinessCard } from "./PublishReadinessCard";
|
|
29
|
-
import { PublishProgressCard } from "./PublishProgressCard";
|
|
30
|
-
import { gatewayReadFn } from "../../lib/floriday-gateway.functions";
|
|
31
|
-
import { pickPrimaryPacking, readPackingStatus, writeConfirmedPacking, } from "../../lib/product-packing";
|
|
32
|
-
import { getFloridayReadinessFn } from "../../lib/floriday-env.functions";
|
|
21
|
+
import { useCodeList, useTradeItemFormSchema } from "../../hooks/useFloriday.js";
|
|
22
|
+
import { useFloridayPriceGroups } from "../../hooks/useFloridayPriceGroups.js";
|
|
23
|
+
import { readTradeItemPrices, syncTradeItemPrices } from "../../lib/trade-item-prices.js";
|
|
24
|
+
import { createPublishJob, finishPublishJob, markStepSkipped, rememberPublishRejection, runPublishStep, } from "../../lib/publish-pipeline.js";
|
|
25
|
+
import { translatePublishError, } from "../../lib/publish-errors.js";
|
|
26
|
+
import { buildReadinessReport } from "../../lib/publish-readiness.js";
|
|
27
|
+
import { usePublishJob } from "../../hooks/usePublishJob.js";
|
|
28
|
+
import { PublishReadinessCard } from "./PublishReadinessCard.js";
|
|
29
|
+
import { PublishProgressCard } from "./PublishProgressCard.js";
|
|
30
|
+
import { gatewayReadFn } from "../../lib/floriday-gateway.functions.js";
|
|
31
|
+
import { pickPrimaryPacking, readPackingStatus, writeConfirmedPacking, } from "../../lib/product-packing.js";
|
|
32
|
+
import { getFloridayReadinessFn } from "../../lib/floriday-env.functions.js";
|
|
33
33
|
const floridayLogo = "/flowselections-assets/Voorraad/floriday-logo.png";
|
|
34
|
-
import { VoorraadStockCard } from "../../components/voorraad/VoorraadStockCard";
|
|
35
|
-
import { ProductLinkCard } from "../../components/voorraad/ProductLinkCard";
|
|
36
|
-
import { PriceStatusBadge } from "../../components/voorraad/PriceStatusBadge";
|
|
37
|
-
import { OrderHistoryCard } from "../../components/voorraad/OrderHistoryCard";
|
|
38
|
-
import { StockMutationHistoryCard } from "../../components/voorraad/StockMutationHistoryCard";
|
|
39
|
-
import { ArtikelCompositionCard } from "../../components/voorraad/ArtikelCompositionCard";
|
|
40
|
-
import { ProductStructureCard, FloridayStockReasonLine } from "../../components/voorraad/ProductStructureCard";
|
|
41
|
-
import { StepSamenstelling } from "../../components/voorraad/StepSamenstelling";
|
|
42
|
-
import { FloridayInfoCard } from "../../components/voorraad/FloridayInfoCard";
|
|
43
|
-
import { stockKeyFor } from "../../hooks/useTradeItemStock";
|
|
34
|
+
import { VoorraadStockCard } from "../../components/voorraad/VoorraadStockCard.js";
|
|
35
|
+
import { ProductLinkCard } from "../../components/voorraad/ProductLinkCard.js";
|
|
36
|
+
import { PriceStatusBadge } from "../../components/voorraad/PriceStatusBadge.js";
|
|
37
|
+
import { OrderHistoryCard } from "../../components/voorraad/OrderHistoryCard.js";
|
|
38
|
+
import { StockMutationHistoryCard } from "../../components/voorraad/StockMutationHistoryCard.js";
|
|
39
|
+
import { ArtikelCompositionCard } from "../../components/voorraad/ArtikelCompositionCard.js";
|
|
40
|
+
import { ProductStructureCard, FloridayStockReasonLine } from "../../components/voorraad/ProductStructureCard.js";
|
|
41
|
+
import { StepSamenstelling } from "../../components/voorraad/StepSamenstelling.js";
|
|
42
|
+
import { FloridayInfoCard } from "../../components/voorraad/FloridayInfoCard.js";
|
|
43
|
+
import { stockKeyFor } from "../../hooks/useTradeItemStock.js";
|
|
44
44
|
const empty = emptyWizardData;
|
|
45
45
|
const LOAD_CARRIER_LABELS = {
|
|
46
46
|
AUCTION_TROLLEY: "Stapelwagen",
|
|
@@ -2086,8 +2086,8 @@ function StepArtikel({ data, update, collectionsList, setCollectionsList, articl
|
|
|
2086
2086
|
: "border-border hover:border-primary/50"}`, children: [_jsx("div", { className: "flex w-full items-start", children: _jsx("span", { className: `flex h-4 w-4 items-center justify-center rounded-full border ${active ? "border-primary-foreground" : "border-muted-foreground/50"}`, children: active && (_jsx("span", { className: "h-2 w-2 rounded-full bg-primary-foreground" })) }) }), _jsx(Icon, { className: "h-6 w-6" }), _jsx("div", { className: "font-medium", children: t.label }), _jsx("div", { className: `text-xs ${active ? "text-primary-foreground/80" : "text-muted-foreground"}`, children: t.description })] }, t.value));
|
|
2087
2087
|
}) })] }), _jsxs("div", { className: "space-y-1", children: [_jsxs("label", { className: "flex items-start gap-2 text-sm", children: [_jsx(Checkbox, { checked: data.visibleInExplorer, onCheckedChange: (v) => update("visibleInExplorer", v === true), className: "mt-0.5" }), _jsx("span", { children: "Artikel weergeven bij ontdekken in de Explorer voor kopers" })] }), _jsx("p", { className: "pl-6 text-xs text-muted-foreground", children: "Artikel is altijd zichtbaar via de customer API" })] }), parentProductId && (_jsx(ProductSalePriceField, { productId: parentProductId, onSaved: (p) => update("salePricePerPiece", p) }))] }));
|
|
2088
2088
|
}
|
|
2089
|
-
import { COUNTRIES } from "../../lib/countries";
|
|
2090
|
-
import { ProductSalePriceField } from "./ProductSalePriceField";
|
|
2089
|
+
import { COUNTRIES } from "../../lib/countries.js";
|
|
2090
|
+
import { ProductSalePriceField } from "./ProductSalePriceField.js";
|
|
2091
2091
|
function StepPaspoort({ data, update }) {
|
|
2092
2092
|
const [countryOpen, setCountryOpen] = useState(false);
|
|
2093
2093
|
const [countryQuery, setCountryQuery] = useState("");
|
|
@@ -2337,7 +2337,7 @@ function StepFotos({ data, update, activeId }) {
|
|
|
2337
2337
|
toast.error("Je bent niet ingelogd – kan geen foto's uploaden");
|
|
2338
2338
|
return;
|
|
2339
2339
|
}
|
|
2340
|
-
const { prepareFloridayImage, UnsupportedImageTypeError, ImageTooLargeError, ImageDecodeError, } = await import("../../lib/image-resize");
|
|
2340
|
+
const { prepareFloridayImage, UnsupportedImageTypeError, ImageTooLargeError, ImageDecodeError, } = await import("../../lib/image-resize.js");
|
|
2341
2341
|
const additions = [];
|
|
2342
2342
|
// Beperkte concurrency (2) voorkomt dat een drop van 10 bestanden de
|
|
2343
2343
|
// gateway overspoelt en tegelijk in throttling loopt.
|
|
@@ -2621,7 +2621,7 @@ function PackingConfigDialog({ open, onOpenChange, initial, isFirst, packagingTy
|
|
|
2621
2621
|
return;
|
|
2622
2622
|
setUploadingPhoto(true);
|
|
2623
2623
|
try {
|
|
2624
|
-
const { prepareFloridayImage } = await import("../../lib/image-resize");
|
|
2624
|
+
const { prepareFloridayImage } = await import("../../lib/image-resize.js");
|
|
2625
2625
|
const prepared = await prepareFloridayImage(file);
|
|
2626
2626
|
const res = await floriday.uploadImage(activeId, prepared, prepared.type || "image/jpeg", prepared.name);
|
|
2627
2627
|
if (!res.url)
|
|
@@ -4,6 +4,6 @@ interface Props {
|
|
|
4
4
|
lines?: number;
|
|
5
5
|
className?: string;
|
|
6
6
|
}
|
|
7
|
-
export declare function CollapsibleText({ text, lines, className }: Props): import("react").JSX.Element;
|
|
7
|
+
export declare function CollapsibleText({ text, lines, className }: Props): import("react/jsx-runtime").JSX.Element;
|
|
8
8
|
export {};
|
|
9
9
|
//# sourceMappingURL=CollapsibleText.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CollapsibleText.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/CollapsibleText.tsx"],"names":[],"mappings":"AAOA,UAAU,KAAK;IACb,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAChC,gEAAgE;IAChE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,eAAe,CAAC,EAAE,IAAI,EAAE,KAAS,EAAE,SAAS,EAAE,EAAE,KAAK
|
|
1
|
+
{"version":3,"file":"CollapsibleText.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/CollapsibleText.tsx"],"names":[],"mappings":"AAOA,UAAU,KAAK;IACb,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAChC,gEAAgE;IAChE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,eAAe,CAAC,EAAE,IAAI,EAAE,KAAS,EAAE,SAAS,EAAE,EAAE,KAAK,2CA8DpE"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { FloridayActiveConnection } from "../../lib/floriday-client.js";
|
|
2
|
+
export declare function ConnectionBadge({ connection, loading, }: {
|
|
3
|
+
connection: FloridayActiveConnection | null;
|
|
4
|
+
loading?: boolean;
|
|
5
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
//# sourceMappingURL=ConnectionBadge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConnectionBadge.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/ConnectionBadge.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAE1E,wBAAgB,eAAe,CAAC,EAC9B,UAAU,EACV,OAAO,GACR,EAAE;IACD,UAAU,EAAE,wBAAwB,GAAG,IAAI,CAAC;IAC5C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,2CAqBA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Badge } from "@flowselections/core";
|
|
3
|
+
export function ConnectionBadge({ connection, loading, }) {
|
|
4
|
+
if (loading) {
|
|
5
|
+
return _jsx(Badge, { variant: "secondary", children: "Floriday laden..." });
|
|
6
|
+
}
|
|
7
|
+
if (!connection) {
|
|
8
|
+
return (_jsx(Badge, { variant: "destructive", children: "Geen actieve Floriday-connectie" }));
|
|
9
|
+
}
|
|
10
|
+
const env = connection.active_environment || connection.environment;
|
|
11
|
+
return (_jsxs(Badge, { variant: "secondary", className: "gap-1.5", children: [_jsx("span", { className: "font-medium", children: "Floriday" }), _jsx("span", { className: "opacity-60", children: "\u00B7" }), _jsx("span", { className: "uppercase tracking-wide text-[10px]", children: env }), _jsx("span", { className: "opacity-60", children: "\u00B7" }), _jsx("span", { children: connection.organization_name || connection.label })] }));
|
|
12
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { FloridayConnection } from "../../lib/floriday-client.js";
|
|
2
|
+
export declare function ConnectionPicker({ connections, activeId, onChange, disabled, }: {
|
|
3
|
+
connections: FloridayConnection[];
|
|
4
|
+
activeId: string | null;
|
|
5
|
+
onChange: (id: string) => void;
|
|
6
|
+
disabled?: boolean;
|
|
7
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
//# sourceMappingURL=ConnectionPicker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConnectionPicker.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/ConnectionPicker.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,wBAAgB,gBAAgB,CAAC,EAC/B,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,QAAQ,GACT,EAAE;IACD,WAAW,EAAE,kBAAkB,EAAE,CAAC;IAClC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,2CAsBA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from "@flowselections/core";
|
|
3
|
+
export function ConnectionPicker({ connections, activeId, onChange, disabled, }) {
|
|
4
|
+
if (connections.length === 0) {
|
|
5
|
+
return (_jsx("div", { className: "text-sm text-muted-foreground", children: "Geen actieve Floriday-connecties" }));
|
|
6
|
+
}
|
|
7
|
+
return (_jsxs(Select, { value: activeId ?? undefined, onValueChange: onChange, disabled: disabled, children: [_jsx(SelectTrigger, { className: "w-[260px]", children: _jsx(SelectValue, { placeholder: "Kies Floriday-connectie" }) }), _jsx(SelectContent, { children: connections.map((c) => (_jsx(SelectItem, { value: c.id, children: c.organization_name || c.label }, c.id))) })] }));
|
|
8
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EditArtikelPage.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/EditArtikelPage.tsx"],"names":[],"mappings":"AAaA,wBAAgB,eAAe,CAAC,EAC9B,EAAE,EACF,WAAW,GACZ,EAAE;IACD,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB
|
|
1
|
+
{"version":3,"file":"EditArtikelPage.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/EditArtikelPage.tsx"],"names":[],"mappings":"AAaA,wBAAgB,eAAe,CAAC,EAC9B,EAAE,EACF,WAAW,GACZ,EAAE;IACD,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,2CAoFA"}
|
|
@@ -2,10 +2,10 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
|
|
|
2
2
|
import { useEffect, useState } from "react";
|
|
3
3
|
import { Card } from "@flowselections/core";
|
|
4
4
|
import { Loader2 } from "lucide-react";
|
|
5
|
-
import { ArtikelWizard } from "./ArtikelWizard";
|
|
6
|
-
import { ProductCustomFieldsCard } from "./ProductCustomFieldsCard";
|
|
7
|
-
import { TrayStickerCard } from "./TrayStickerCard";
|
|
8
|
-
import { supabase } from "../../integrations/supabase/client";
|
|
5
|
+
import { ArtikelWizard } from "./ArtikelWizard.js";
|
|
6
|
+
import { ProductCustomFieldsCard } from "./ProductCustomFieldsCard.js";
|
|
7
|
+
import { TrayStickerCard } from "./TrayStickerCard.js";
|
|
8
|
+
import { supabase } from "../../integrations/supabase/client.js";
|
|
9
9
|
export function EditArtikelPage({ id, resumeJobId, }) {
|
|
10
10
|
const [resolved, setResolved] = useState(null);
|
|
11
11
|
useEffect(() => {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type { TradeItem } from "../../lib/floriday-client";
|
|
1
|
+
import type { TradeItem } from "../../lib/floriday-client.js";
|
|
2
2
|
export declare function ExcelExportButton({ items, filename, onExported, }: {
|
|
3
3
|
items: TradeItem[];
|
|
4
4
|
filename?: string;
|
|
5
5
|
onExported?: () => void | Promise<void>;
|
|
6
|
-
}): import("react").JSX.Element;
|
|
6
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
7
7
|
//# sourceMappingURL=ExcelExportButton.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExcelExportButton.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/ExcelExportButton.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAG3D,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,EACL,QAAqB,EACrB,UAAU,GACX,EAAE;IACD,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACzC
|
|
1
|
+
{"version":3,"file":"ExcelExportButton.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/ExcelExportButton.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAG3D,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,EACL,QAAqB,EACrB,UAAU,GACX,EAAE;IACD,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACzC,2CAgDA"}
|
|
@@ -2,7 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import * as XLSX from "xlsx";
|
|
3
3
|
import { Button, toast } from "@flowselections/core";
|
|
4
4
|
import { Download } from "lucide-react";
|
|
5
|
-
import { ensureArticleCodes } from "../../lib/ensure-article-codes";
|
|
5
|
+
import { ensureArticleCodes } from "../../lib/ensure-article-codes.js";
|
|
6
6
|
export function ExcelExportButton({ items, filename = "voorraad", onExported, }) {
|
|
7
7
|
const handle = async () => {
|
|
8
8
|
let exportItems;
|
|
@@ -7,6 +7,6 @@ interface Props {
|
|
|
7
7
|
gtin?: string | null;
|
|
8
8
|
};
|
|
9
9
|
}
|
|
10
|
-
export declare function FloridayInfoCard({ floridayTradeItemId, local }: Props): import("react").JSX.Element | null;
|
|
10
|
+
export declare function FloridayInfoCard({ floridayTradeItemId, local }: Props): import("react/jsx-runtime").JSX.Element | null;
|
|
11
11
|
export {};
|
|
12
12
|
//# sourceMappingURL=FloridayInfoCard.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FloridayInfoCard.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/FloridayInfoCard.tsx"],"names":[],"mappings":"AAYA,UAAU,KAAK;IACb,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,8EAA8E;IAC9E,KAAK,CAAC,EAAE;QACN,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACrB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KACtB,CAAC;CACH;AA6DD,wBAAgB,gBAAgB,CAAC,EAAE,mBAAmB,EAAE,KAAK,EAAE,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"FloridayInfoCard.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/FloridayInfoCard.tsx"],"names":[],"mappings":"AAYA,UAAU,KAAK;IACb,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,8EAA8E;IAC9E,KAAK,CAAC,EAAE;QACN,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACrB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KACtB,CAAC;CACH;AA6DD,wBAAgB,gBAAgB,CAAC,EAAE,mBAAmB,EAAE,KAAK,EAAE,EAAE,KAAK,kDAmRrE"}
|
|
@@ -2,8 +2,8 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
|
|
|
2
2
|
import { useEffect, useState } from "react";
|
|
3
3
|
import { Card, CardContent, Badge } from "@flowselections/core";
|
|
4
4
|
import { AlertTriangle, ChevronDown, ChevronRight, ExternalLink } from "lucide-react";
|
|
5
|
-
import { supabase } from "../../integrations/supabase/client";
|
|
6
|
-
import { floridayInfoFromCache, LOAD_CARRIER_LABELS, } from "../../lib/floriday-info";
|
|
5
|
+
import { supabase } from "../../integrations/supabase/client.js";
|
|
6
|
+
import { floridayInfoFromCache, LOAD_CARRIER_LABELS, } from "../../lib/floriday-info.js";
|
|
7
7
|
const floridayLogo = "/flowselections-assets/Voorraad/floriday-logo.png";
|
|
8
8
|
function formatDate(iso) {
|
|
9
9
|
if (!iso)
|
|
@@ -19,6 +19,6 @@ export declare function FloridaySentCard({ connectionId, productId, tradeItemId,
|
|
|
19
19
|
productId?: string | null;
|
|
20
20
|
tradeItemId?: string | null;
|
|
21
21
|
productType?: string | null;
|
|
22
|
-
}): import("react").JSX.Element;
|
|
22
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
23
23
|
export {};
|
|
24
24
|
//# sourceMappingURL=FloridaySentCard.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FloridaySentCard.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/FloridaySentCard.tsx"],"names":[],"mappings":"AAWA,KAAK,GAAG,GAAG;IACT,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B,CAAC;AAUF,wBAAgB,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,QAAQ,GAAG,cAAc,GAAG,aAAa,GAAG,YAAY,GAAG,YAAY,GAAG,aAAa,CAAC,GAAG,MAAM,CA0BxI;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,YAAY,EACZ,SAAS,EACT,WAAW,EACX,WAAW,GACZ,EAAE;IACD,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B
|
|
1
|
+
{"version":3,"file":"FloridaySentCard.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/FloridaySentCard.tsx"],"names":[],"mappings":"AAWA,KAAK,GAAG,GAAG;IACT,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B,CAAC;AAUF,wBAAgB,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,QAAQ,GAAG,cAAc,GAAG,aAAa,GAAG,YAAY,GAAG,YAAY,GAAG,aAAa,CAAC,GAAG,MAAM,CA0BxI;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,YAAY,EACZ,SAAS,EACT,WAAW,EACX,WAAW,GACZ,EAAE;IACD,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B,2CA2JA"}
|
|
@@ -7,8 +7,8 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
7
7
|
import { useEffect, useState } from "react";
|
|
8
8
|
import { Card, CardContent } from "@flowselections/core";
|
|
9
9
|
import { Send } from "lucide-react";
|
|
10
|
-
import { supabase } from "../../integrations/supabase/client";
|
|
11
|
-
import { priceProblem } from "../../lib/floriday-base-supply";
|
|
10
|
+
import { supabase } from "../../integrations/supabase/client.js";
|
|
11
|
+
import { priceProblem } from "../../lib/floriday-base-supply.js";
|
|
12
12
|
const MODE_LABEL = {
|
|
13
13
|
FOLLOW_ERP: "Volgt ERP",
|
|
14
14
|
MAXIMUM: "Maximum",
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FloridayStatusBadge.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/FloridayStatusBadge.tsx"],"names":[],"mappings":"AAEA,wBAAgB,mBAAmB,CAAC,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,OAAO,GAAG,SAAS,CAAA;CAAE,2CAa9E"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Badge } from "@flowselections/core";
|
|
3
|
+
export function FloridayStatusBadge({ active }) {
|
|
4
|
+
if (active) {
|
|
5
|
+
return (_jsx(Badge, { className: "bg-emerald-500/15 text-emerald-700 border-emerald-500/30", children: "Actief op Floriday" }));
|
|
6
|
+
}
|
|
7
|
+
return (_jsx(Badge, { className: "bg-slate-500/15 text-slate-700 border-slate-500/30", children: "Niet actief op Floriday" }));
|
|
8
|
+
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare function FustenPage(): import("react").JSX.Element;
|
|
1
|
+
export declare function FustenPage(): import("react/jsx-runtime").JSX.Element;
|
|
2
2
|
//# sourceMappingURL=FustenPage.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FustenPage.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/FustenPage.tsx"],"names":[],"mappings":"AAkKA,wBAAgB,UAAU,
|
|
1
|
+
{"version":3,"file":"FustenPage.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/FustenPage.tsx"],"names":[],"mappings":"AAkKA,wBAAgB,UAAU,4CAgPzB"}
|
|
@@ -2,10 +2,10 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import { useCallback, useEffect, useMemo, useState } from "react";
|
|
3
3
|
import { Boxes, Minus, Plus, RefreshCw, Search } from "lucide-react";
|
|
4
4
|
import { Button, Card, Input, Badge, toast } from "@flowselections/core";
|
|
5
|
-
import { supabase } from "../../integrations/supabase/client";
|
|
6
|
-
import { useFloridayConnection } from "../../hooks/useFloridayConnection";
|
|
7
|
-
import { useFusten } from "../../hooks/useFusten";
|
|
8
|
-
import { fetchFustMutations, formatFustDimensions, } from "../../lib/fusten";
|
|
5
|
+
import { supabase } from "../../integrations/supabase/client.js";
|
|
6
|
+
import { useFloridayConnection } from "../../hooks/useFloridayConnection.js";
|
|
7
|
+
import { useFusten } from "../../hooks/useFusten.js";
|
|
8
|
+
import { fetchFustMutations, formatFustDimensions, } from "../../lib/fusten.js";
|
|
9
9
|
/** Afmetingen tonen en handmatig aanvullen wanneer de catalogus ze niet kent. */
|
|
10
10
|
function DimensionCell({ fust, onSave, }) {
|
|
11
11
|
const [editing, setEditing] = useState(false);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { InventorySetting } from "../../hooks/useInventorySettings";
|
|
1
|
+
import type { InventorySetting } from "../../hooks/useInventorySettings.js";
|
|
2
2
|
export declare function InventorySettingsDrawer({ open, onOpenChange, connectionId, productIds, current, onSaved, }: {
|
|
3
3
|
open: boolean;
|
|
4
4
|
onOpenChange: (v: boolean) => void;
|
|
@@ -6,5 +6,5 @@ export declare function InventorySettingsDrawer({ open, onOpenChange, connection
|
|
|
6
6
|
productIds: string[];
|
|
7
7
|
current?: InventorySetting | undefined;
|
|
8
8
|
onSaved?: () => void;
|
|
9
|
-
}): import("react").JSX.Element;
|
|
9
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
10
10
|
//# sourceMappingURL=InventorySettingsDrawer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InventorySettingsDrawer.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/InventorySettingsDrawer.tsx"],"names":[],"mappings":"AA2BA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAkBzE,wBAAgB,uBAAuB,CAAC,EACtC,IAAI,EACJ,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,OAAO,EACP,OAAO,GACR,EAAE;IACD,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAC;IACvC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB
|
|
1
|
+
{"version":3,"file":"InventorySettingsDrawer.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/InventorySettingsDrawer.tsx"],"names":[],"mappings":"AA2BA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAkBzE,wBAAgB,uBAAuB,CAAC,EACtC,IAAI,EACJ,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,OAAO,EACP,OAAO,GACR,EAAE;IACD,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAC;IACvC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB,2CAkMA"}
|
|
@@ -7,9 +7,9 @@ import { useEffect, useState } from "react";
|
|
|
7
7
|
import { Button, Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, Input, Label, Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from "@flowselections/core";
|
|
8
8
|
import { useServerFn } from "@tanstack/react-start";
|
|
9
9
|
import { toast } from "sonner";
|
|
10
|
-
import { saveInventorySettings, republishInventory, } from "../../lib/inventory-settings.functions";
|
|
11
|
-
import { MissingPriceNotice } from "./ProductSalePriceField";
|
|
12
|
-
import { MODE_LABELS, ACTION_REASON_LABELS, publishedLabel, } from "../../lib/stock-modes";
|
|
10
|
+
import { saveInventorySettings, republishInventory, } from "../../lib/inventory-settings.functions.js";
|
|
11
|
+
import { MissingPriceNotice } from "./ProductSalePriceField.js";
|
|
12
|
+
import { MODE_LABELS, ACTION_REASON_LABELS, publishedLabel, } from "../../lib/stock-modes.js";
|
|
13
13
|
const MODE_HELP = {
|
|
14
14
|
FOLLOW_ERP: "Publiceert beschikbaar min gereserveerd min buffer, afgerond op hele verpakkingen.",
|
|
15
15
|
MAXIMUM: "Volgt het ERP (min buffer), maar publiceert nooit meer dan het maximum.",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type { InventorySetting } from "../../hooks/useInventorySettings";
|
|
2
|
-
import { MODE_LABELS } from "../../lib/stock-modes";
|
|
1
|
+
import type { InventorySetting } from "../../hooks/useInventorySettings.js";
|
|
2
|
+
import { MODE_LABELS } from "../../lib/stock-modes.js";
|
|
3
3
|
export { MODE_LABELS };
|
|
4
4
|
export declare function InventoryStatusBadge({ setting }: {
|
|
5
5
|
setting: InventorySetting | undefined;
|
|
6
|
-
}): import("react").JSX.Element;
|
|
6
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
7
7
|
//# sourceMappingURL=InventoryStatusBadge.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InventoryStatusBadge.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/InventoryStatusBadge.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,WAAW,EAAwC,MAAM,uBAAuB,CAAC;AAC1F,OAAO,EAAE,WAAW,EAAE,CAAC;AAiCvB,wBAAgB,oBAAoB,CAAC,EAAE,OAAO,EAAE,EAAE;IAAE,OAAO,EAAE,gBAAgB,GAAG,SAAS,CAAA;CAAE
|
|
1
|
+
{"version":3,"file":"InventoryStatusBadge.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/InventoryStatusBadge.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,WAAW,EAAwC,MAAM,uBAAuB,CAAC;AAC1F,OAAO,EAAE,WAAW,EAAE,CAAC;AAiCvB,wBAAgB,oBAAoB,CAAC,EAAE,OAAO,EAAE,EAAE;IAAE,OAAO,EAAE,gBAAgB,GAAG,SAAS,CAAA;CAAE,2CAuC1F"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Badge } from "@flowselections/core";
|
|
3
|
-
import { MODE_LABELS, ACTION_REASON_LABELS } from "../../lib/stock-modes";
|
|
3
|
+
import { MODE_LABELS, ACTION_REASON_LABELS } from "../../lib/stock-modes.js";
|
|
4
4
|
export { MODE_LABELS };
|
|
5
5
|
const MODE_CLASSES = {
|
|
6
6
|
FOLLOW_ERP: "bg-primary/10 text-primary border-primary/30",
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModuleHealthCard.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/ModuleHealthCard.tsx"],"names":[],"mappings":"AAqBA,wBAAgB,gBAAgB,4CA8D/B"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* Statuskaart in de instellingen: laat in gewone taal zien of de module in
|
|
4
|
+
* déze omgeving volledig werkt, en biedt één knop om vastgelopen
|
|
5
|
+
* voorraadwijzigingen weer op gang te helpen.
|
|
6
|
+
*/
|
|
7
|
+
import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query";
|
|
8
|
+
import { useServerFn } from "@tanstack/react-start";
|
|
9
|
+
import { AlertTriangle, CheckCircle2, RotateCw, XCircle } from "lucide-react";
|
|
10
|
+
import { toast } from "sonner";
|
|
11
|
+
import { getModuleHealth, recoverStockQueue, } from "../../lib/module-health.functions.js";
|
|
12
|
+
function StatusIcon({ status }) {
|
|
13
|
+
if (status === "ok")
|
|
14
|
+
return _jsx(CheckCircle2, { className: "mt-0.5 h-4 w-4 shrink-0 text-emerald-600" });
|
|
15
|
+
if (status === "warn")
|
|
16
|
+
return _jsx(AlertTriangle, { className: "mt-0.5 h-4 w-4 shrink-0 text-amber-600" });
|
|
17
|
+
return _jsx(XCircle, { className: "mt-0.5 h-4 w-4 shrink-0 text-destructive" });
|
|
18
|
+
}
|
|
19
|
+
export function ModuleHealthCard() {
|
|
20
|
+
const fetchHealth = useServerFn(getModuleHealth);
|
|
21
|
+
const recover = useServerFn(recoverStockQueue);
|
|
22
|
+
const queryClient = useQueryClient();
|
|
23
|
+
const { data, isLoading } = useQuery({
|
|
24
|
+
queryKey: ["module-health"],
|
|
25
|
+
queryFn: () => fetchHealth({}),
|
|
26
|
+
refetchInterval: 60000,
|
|
27
|
+
});
|
|
28
|
+
const mutation = useMutation({
|
|
29
|
+
mutationFn: () => recover({}),
|
|
30
|
+
onSuccess: (res) => {
|
|
31
|
+
toast.success(res?.restored
|
|
32
|
+
? `${res.restored} voorraadwijziging${res.restored === 1 ? "" : "en"} opnieuw ingepland.`
|
|
33
|
+
: "Er stond niets vast.");
|
|
34
|
+
void queryClient.invalidateQueries({ queryKey: ["module-health"] });
|
|
35
|
+
void queryClient.invalidateQueries({ queryKey: ["stock-sync-health"] });
|
|
36
|
+
},
|
|
37
|
+
onError: (e) => toast.error(e?.message ?? "Herstellen is niet gelukt."),
|
|
38
|
+
});
|
|
39
|
+
return (_jsxs("section", { className: "rounded-lg border border-border bg-card p-4", children: [_jsxs("div", { className: "flex items-start justify-between gap-3", children: [_jsxs("div", { children: [_jsx("h3", { className: "text-base font-semibold text-foreground", children: "Status van de voorraadmodule" }), _jsx("p", { className: "text-sm text-muted-foreground", children: "Controleert de koppeling, de achtergrondtaken en de synchronisatie naar Floriday." })] }), _jsxs("button", { type: "button", className: "inline-flex shrink-0 items-center rounded-md border border-border px-2.5 py-1.5 text-xs font-medium text-foreground hover:bg-muted disabled:opacity-50", disabled: mutation.isPending, onClick: () => mutation.mutate(), children: [_jsx(RotateCw, { className: `mr-1.5 h-3.5 w-3.5 ${mutation.isPending ? "animate-spin" : ""}` }), "Vastgelopen taken hervatten"] })] }), _jsxs("ul", { className: "mt-4 space-y-2.5", children: [isLoading && _jsx("li", { className: "text-sm text-muted-foreground", children: "Bezig met controleren\u2026" }), data?.checks.map((check) => (_jsxs("li", { className: "flex items-start gap-2 text-sm", children: [_jsx(StatusIcon, { status: check.status }), _jsxs("div", { className: "min-w-0", children: [_jsxs("span", { className: "font-medium text-foreground", children: [check.label, ": "] }), _jsx("span", { className: "text-muted-foreground break-words", children: check.detail }), check.hint && (_jsx("p", { className: "mt-0.5 text-xs text-muted-foreground/80 break-words", children: check.hint }))] })] }, check.id)))] })] }));
|
|
40
|
+
}
|