@endora-commerce/mod-price-lists 0.100.0
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/LICENSE +21 -0
- package/README.md +59 -0
- package/dist/admin/components/ApplicationRuleBuilder.d.ts +24 -0
- package/dist/admin/components/ApplicationRuleBuilder.d.ts.map +1 -0
- package/dist/admin/components/ApplicationRuleBuilder.js +249 -0
- package/dist/admin/components/ApplicationRuleBuilder.js.map +1 -0
- package/dist/admin/components/BracketGrid.d.ts +29 -0
- package/dist/admin/components/BracketGrid.d.ts.map +1 -0
- package/dist/admin/components/BracketGrid.js +252 -0
- package/dist/admin/components/BracketGrid.js.map +1 -0
- package/dist/admin/components/DisplayModeOverrideRow.d.ts +46 -0
- package/dist/admin/components/DisplayModeOverrideRow.d.ts.map +1 -0
- package/dist/admin/components/DisplayModeOverrideRow.js +109 -0
- package/dist/admin/components/DisplayModeOverrideRow.js.map +1 -0
- package/dist/admin/components/LinkedPriceListsPanel.d.ts +55 -0
- package/dist/admin/components/LinkedPriceListsPanel.d.ts.map +1 -0
- package/dist/admin/components/LinkedPriceListsPanel.js +131 -0
- package/dist/admin/components/LinkedPriceListsPanel.js.map +1 -0
- package/dist/admin/index.d.ts +34 -0
- package/dist/admin/index.d.ts.map +1 -0
- package/dist/admin/index.js +119 -0
- package/dist/admin/index.js.map +1 -0
- package/dist/admin/pages/DisplayModeOverridesPage.d.ts +25 -0
- package/dist/admin/pages/DisplayModeOverridesPage.d.ts.map +1 -0
- package/dist/admin/pages/DisplayModeOverridesPage.js +266 -0
- package/dist/admin/pages/DisplayModeOverridesPage.js.map +1 -0
- package/dist/admin/pages/PriceListDetailPage.d.ts +23 -0
- package/dist/admin/pages/PriceListDetailPage.d.ts.map +1 -0
- package/dist/admin/pages/PriceListDetailPage.js +421 -0
- package/dist/admin/pages/PriceListDetailPage.js.map +1 -0
- package/dist/admin/pages/PriceListsPage.d.ts +17 -0
- package/dist/admin/pages/PriceListsPage.d.ts.map +1 -0
- package/dist/admin/pages/PriceListsPage.js +198 -0
- package/dist/admin/pages/PriceListsPage.js.map +1 -0
- package/dist/admin/zones/CategoryDisplayMode.d.ts +27 -0
- package/dist/admin/zones/CategoryDisplayMode.d.ts.map +1 -0
- package/dist/admin/zones/CategoryDisplayMode.js +11 -0
- package/dist/admin/zones/CategoryDisplayMode.js.map +1 -0
- package/dist/admin/zones/OrganizationDisplayMode.d.ts +36 -0
- package/dist/admin/zones/OrganizationDisplayMode.d.ts.map +1 -0
- package/dist/admin/zones/OrganizationDisplayMode.js +12 -0
- package/dist/admin/zones/OrganizationDisplayMode.js.map +1 -0
- package/dist/admin/zones/ProductLinkedPriceLists.d.ts +16 -0
- package/dist/admin/zones/ProductLinkedPriceLists.d.ts.map +1 -0
- package/dist/admin/zones/ProductLinkedPriceLists.js +7 -0
- package/dist/admin/zones/ProductLinkedPriceLists.js.map +1 -0
- package/dist/backend/entities/price-display-mode-override.entity.d.ts +23 -0
- package/dist/backend/entities/price-display-mode-override.entity.d.ts.map +1 -0
- package/dist/backend/entities/price-display-mode-override.entity.js +58 -0
- package/dist/backend/entities/price-display-mode-override.entity.js.map +1 -0
- package/dist/backend/entities/price-list-price-bracket.entity.d.ts +26 -0
- package/dist/backend/entities/price-list-price-bracket.entity.d.ts.map +1 -0
- package/dist/backend/entities/price-list-price-bracket.entity.js +73 -0
- package/dist/backend/entities/price-list-price-bracket.entity.js.map +1 -0
- package/dist/backend/entities/price-list-product.entity.d.ts +15 -0
- package/dist/backend/entities/price-list-product.entity.d.ts.map +1 -0
- package/dist/backend/entities/price-list-product.entity.js +43 -0
- package/dist/backend/entities/price-list-product.entity.js.map +1 -0
- package/dist/backend/entities/price-list.entity.d.ts +34 -0
- package/dist/backend/entities/price-list.entity.d.ts.map +1 -0
- package/dist/backend/entities/price-list.entity.js +115 -0
- package/dist/backend/entities/price-list.entity.js.map +1 -0
- package/dist/backend/index.d.ts +125 -0
- package/dist/backend/index.d.ts.map +1 -0
- package/dist/backend/index.js +179 -0
- package/dist/backend/index.js.map +1 -0
- package/dist/backend/plugin.d.ts +68 -0
- package/dist/backend/plugin.d.ts.map +1 -0
- package/dist/backend/plugin.js +88 -0
- package/dist/backend/plugin.js.map +1 -0
- package/dist/backend/routes.d.ts +40 -0
- package/dist/backend/routes.d.ts.map +1 -0
- package/dist/backend/routes.js +447 -0
- package/dist/backend/routes.js.map +1 -0
- package/dist/backend/routes.storefront.d.ts +47 -0
- package/dist/backend/routes.storefront.d.ts.map +1 -0
- package/dist/backend/routes.storefront.js +131 -0
- package/dist/backend/routes.storefront.js.map +1 -0
- package/dist/backend/services/application-rule-evaluator.d.ts +25 -0
- package/dist/backend/services/application-rule-evaluator.d.ts.map +1 -0
- package/dist/backend/services/application-rule-evaluator.js +2 -0
- package/dist/backend/services/application-rule-evaluator.js.map +1 -0
- package/dist/backend/services/audit-references.d.ts +11 -0
- package/dist/backend/services/audit-references.d.ts.map +1 -0
- package/dist/backend/services/audit-references.js +23 -0
- package/dist/backend/services/audit-references.js.map +1 -0
- package/dist/backend/services/default-price-list-migration.d.ts +70 -0
- package/dist/backend/services/default-price-list-migration.d.ts.map +1 -0
- package/dist/backend/services/default-price-list-migration.js +177 -0
- package/dist/backend/services/default-price-list-migration.js.map +1 -0
- package/dist/backend/services/display-mode-resolver.d.ts +78 -0
- package/dist/backend/services/display-mode-resolver.d.ts.map +1 -0
- package/dist/backend/services/display-mode-resolver.js +71 -0
- package/dist/backend/services/display-mode-resolver.js.map +1 -0
- package/dist/backend/services/listing-price-chain.d.ts +26 -0
- package/dist/backend/services/listing-price-chain.d.ts.map +1 -0
- package/dist/backend/services/listing-price-chain.js +55 -0
- package/dist/backend/services/listing-price-chain.js.map +1 -0
- package/dist/backend/services/price-bracket-resolver.d.ts +24 -0
- package/dist/backend/services/price-bracket-resolver.d.ts.map +1 -0
- package/dist/backend/services/price-bracket-resolver.js +16 -0
- package/dist/backend/services/price-bracket-resolver.js.map +1 -0
- package/dist/backend/services/price-list-candidate-vector.d.ts +116 -0
- package/dist/backend/services/price-list-candidate-vector.d.ts.map +1 -0
- package/dist/backend/services/price-list-candidate-vector.js +133 -0
- package/dist/backend/services/price-list-candidate-vector.js.map +1 -0
- package/dist/backend/services/price-list-currency-reference.d.ts +12 -0
- package/dist/backend/services/price-list-currency-reference.d.ts.map +1 -0
- package/dist/backend/services/price-list-currency-reference.js +24 -0
- package/dist/backend/services/price-list-currency-reference.js.map +1 -0
- package/dist/backend/services/price-list-read-port.d.ts +29 -0
- package/dist/backend/services/price-list-read-port.d.ts.map +1 -0
- package/dist/backend/services/price-list-read-port.js +64 -0
- package/dist/backend/services/price-list-read-port.js.map +1 -0
- package/dist/backend/services/price-list-resolver.d.ts +26 -0
- package/dist/backend/services/price-list-resolver.d.ts.map +1 -0
- package/dist/backend/services/price-list-resolver.js +37 -0
- package/dist/backend/services/price-list-resolver.js.map +1 -0
- package/dist/backend/services/price-list-service.d.ts +431 -0
- package/dist/backend/services/price-list-service.d.ts.map +1 -0
- package/dist/backend/services/price-list-service.js +1238 -0
- package/dist/backend/services/price-list-service.js.map +1 -0
- package/dist/backend/services/price-list-status-worker.d.ts +28 -0
- package/dist/backend/services/price-list-status-worker.d.ts.map +1 -0
- package/dist/backend/services/price-list-status-worker.js +38 -0
- package/dist/backend/services/price-list-status-worker.js.map +1 -0
- package/dist/backend/services/pricing-cache.d.ts +53 -0
- package/dist/backend/services/pricing-cache.d.ts.map +1 -0
- package/dist/backend/services/pricing-cache.js +88 -0
- package/dist/backend/services/pricing-cache.js.map +1 -0
- package/dist/backend/services/pricing-service.d.ts +304 -0
- package/dist/backend/services/pricing-service.d.ts.map +1 -0
- package/dist/backend/services/pricing-service.interface.d.ts +151 -0
- package/dist/backend/services/pricing-service.interface.d.ts.map +1 -0
- package/dist/backend/services/pricing-service.interface.js +10 -0
- package/dist/backend/services/pricing-service.interface.js.map +1 -0
- package/dist/backend/services/pricing-service.js +803 -0
- package/dist/backend/services/pricing-service.js.map +1 -0
- package/dist/backend/services/unit-price-ordering.d.ts +121 -0
- package/dist/backend/services/unit-price-ordering.d.ts.map +1 -0
- package/dist/backend/services/unit-price-ordering.js +164 -0
- package/dist/backend/services/unit-price-ordering.js.map +1 -0
- package/dist/manifest.d.ts +218 -0
- package/dist/manifest.d.ts.map +1 -0
- package/dist/manifest.js +228 -0
- package/dist/manifest.js.map +1 -0
- package/dist/migrations/20260426T075235_price_lists_pricing_init.d.ts +24 -0
- package/dist/migrations/20260426T075235_price_lists_pricing_init.d.ts.map +1 -0
- package/dist/migrations/20260426T075235_price_lists_pricing_init.js +89 -0
- package/dist/migrations/20260426T075235_price_lists_pricing_init.js.map +1 -0
- package/dist/migrations/20260504T125655_price_lists_engine.d.ts +6 -0
- package/dist/migrations/20260504T125655_price_lists_engine.d.ts.map +1 -0
- package/dist/migrations/20260504T125655_price_lists_engine.js +319 -0
- package/dist/migrations/20260504T125655_price_lists_engine.js.map +1 -0
- package/dist/migrations/20260817T055457_price_lists_single_system_price_list.d.ts +15 -0
- package/dist/migrations/20260817T055457_price_lists_single_system_price_list.d.ts.map +1 -0
- package/dist/migrations/20260817T055457_price_lists_single_system_price_list.js +58 -0
- package/dist/migrations/20260817T055457_price_lists_single_system_price_list.js.map +1 -0
- package/dist/migrations/20260821T135907_price_lists_unit_price_amount_index.d.ts +40 -0
- package/dist/migrations/20260821T135907_price_lists_unit_price_amount_index.d.ts.map +1 -0
- package/dist/migrations/20260821T135907_price_lists_unit_price_amount_index.js +46 -0
- package/dist/migrations/20260821T135907_price_lists_unit_price_amount_index.js.map +1 -0
- package/dist/migrations/index.d.ts +30 -0
- package/dist/migrations/index.d.ts.map +1 -0
- package/dist/migrations/index.js +35 -0
- package/dist/migrations/index.js.map +1 -0
- package/docs/price_lists.md +278 -0
- package/i18n/en.json +14 -0
- package/i18n/pl.json +14 -0
- package/package.json +99 -0
- package/tailwind.css +14 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DisplayModeOverridesPage.js","sourceRoot":"","sources":["../../../src/admin/pages/DisplayModeOverridesPage.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Price list editor (feature 011 engine shape).
|
|
4
|
+
*
|
|
5
|
+
* Three tabs land in this iteration:
|
|
6
|
+
* - Details — name + type + dates + status + lifecycle actions.
|
|
7
|
+
* - Products / Brackets — currently a placeholder pointing at the
|
|
8
|
+
* follow-up `BracketGrid` task (T047/T048).
|
|
9
|
+
* - Application Rule — placeholder pointing at the follow-up
|
|
10
|
+
* `ApplicationRuleBuilder` task (T055/T056).
|
|
11
|
+
*
|
|
12
|
+
* The seeded `Default` list reads as `isSystem` and the lifecycle /
|
|
13
|
+
* delete / rule edits are blocked by backend (FR-005, FR-006); the UI
|
|
14
|
+
* disables those affordances so the operator never sees a 403 popup.
|
|
15
|
+
*/
|
|
16
|
+
export declare function PriceListDetailPage(): ReactNode;
|
|
17
|
+
/**
|
|
18
|
+
* The registry loads a route component through a dynamic-import factory and
|
|
19
|
+
* reads its default export (feature 091, FR-013). The named export stays: it is
|
|
20
|
+
* the spelling this module's own code and its tests use.
|
|
21
|
+
*/
|
|
22
|
+
export default PriceListDetailPage;
|
|
23
|
+
//# sourceMappingURL=PriceListDetailPage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PriceListDetailPage.d.ts","sourceRoot":"","sources":["../../../src/admin/pages/PriceListDetailPage.tsx"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AA+Cf;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,IAAI,SAAS,CAgR/C;AA4pBD;;;;GAIG;AACH,eAAe,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,421 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { useCallback, useEffect, useState, } from 'react';
|
|
3
|
+
import { useNavigate, useParams, useSearchParams } from 'react-router-dom';
|
|
4
|
+
import { Calendar, ChevronLeft, Cog, Copy, Filter, Layers, Lock, Plus, Save, Search, Star, Trash2, Zap, } from 'lucide-react';
|
|
5
|
+
import { ApiError, apiClient, cn, normalize } from '@endora-commerce/admin-kit/lib';
|
|
6
|
+
import { useTranslation } from '@endora-commerce/admin-kit/i18n';
|
|
7
|
+
import { BracketGrid } from '../components/BracketGrid.js';
|
|
8
|
+
import { ApplicationRuleBuilder } from '../components/ApplicationRuleBuilder.js';
|
|
9
|
+
const STATUS_BADGE_CLASS = {
|
|
10
|
+
draft: 'b2b-badge b2b-badge--outline',
|
|
11
|
+
active: 'b2b-badge b2b-badge--success',
|
|
12
|
+
scheduled: 'b2b-badge b2b-badge--info',
|
|
13
|
+
expired: 'b2b-badge b2b-badge--muted',
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* Price list editor (feature 011 engine shape).
|
|
17
|
+
*
|
|
18
|
+
* Three tabs land in this iteration:
|
|
19
|
+
* - Details — name + type + dates + status + lifecycle actions.
|
|
20
|
+
* - Products / Brackets — currently a placeholder pointing at the
|
|
21
|
+
* follow-up `BracketGrid` task (T047/T048).
|
|
22
|
+
* - Application Rule — placeholder pointing at the follow-up
|
|
23
|
+
* `ApplicationRuleBuilder` task (T055/T056).
|
|
24
|
+
*
|
|
25
|
+
* The seeded `Default` list reads as `isSystem` and the lifecycle /
|
|
26
|
+
* delete / rule edits are blocked by backend (FR-005, FR-006); the UI
|
|
27
|
+
* disables those affordances so the operator never sees a 403 popup.
|
|
28
|
+
*/
|
|
29
|
+
export function PriceListDetailPage() {
|
|
30
|
+
const t = useTranslation('core');
|
|
31
|
+
const STATUS_LABEL = {
|
|
32
|
+
draft: t('priceLists.status.draft'),
|
|
33
|
+
active: t('priceLists.status.active'),
|
|
34
|
+
scheduled: t('priceLists.status.scheduled'),
|
|
35
|
+
expired: t('priceLists.status.expired'),
|
|
36
|
+
};
|
|
37
|
+
const TYPE_LABEL = {
|
|
38
|
+
base: t('priceLists.type.base'),
|
|
39
|
+
sale: t('priceLists.type.sale'),
|
|
40
|
+
};
|
|
41
|
+
const params = useParams();
|
|
42
|
+
const navigate = useNavigate();
|
|
43
|
+
const [searchParams] = useSearchParams();
|
|
44
|
+
const focusProductId = searchParams.get('focus');
|
|
45
|
+
const id = params.id ?? '';
|
|
46
|
+
const [list, setList] = useState(null);
|
|
47
|
+
const [loading, setLoading] = useState(true);
|
|
48
|
+
const [error, setError] = useState(null);
|
|
49
|
+
const [info, setInfo] = useState(null);
|
|
50
|
+
const [tab, setTab] = useState(focusProductId ? 'products' : 'details');
|
|
51
|
+
const refresh = useCallback(async () => {
|
|
52
|
+
setLoading(true);
|
|
53
|
+
setError(null);
|
|
54
|
+
try {
|
|
55
|
+
const res = await apiClient.get(`/api/v1/admin/price-lists-engine/${encodeURIComponent(id)}`);
|
|
56
|
+
setList(res.data);
|
|
57
|
+
}
|
|
58
|
+
catch (err) {
|
|
59
|
+
setError(err instanceof ApiError ? err.envelope.error.message : t('priceLists.detail.error.load'));
|
|
60
|
+
setList(null);
|
|
61
|
+
}
|
|
62
|
+
finally {
|
|
63
|
+
setLoading(false);
|
|
64
|
+
}
|
|
65
|
+
}, [id, t]);
|
|
66
|
+
useEffect(() => {
|
|
67
|
+
void refresh();
|
|
68
|
+
}, [refresh]);
|
|
69
|
+
const handlePatch = useCallback(async (patch) => {
|
|
70
|
+
try {
|
|
71
|
+
const res = await apiClient.patch(`/api/v1/admin/price-lists-engine/${encodeURIComponent(id)}`, patch);
|
|
72
|
+
setList(res.data);
|
|
73
|
+
setInfo(t('priceLists.detail.info.saved'));
|
|
74
|
+
}
|
|
75
|
+
catch (err) {
|
|
76
|
+
setError(err instanceof ApiError ? err.envelope.error.message : t('priceLists.detail.error.save'));
|
|
77
|
+
}
|
|
78
|
+
}, [id, t]);
|
|
79
|
+
const handleActivate = useCallback(async () => {
|
|
80
|
+
try {
|
|
81
|
+
const res = await apiClient.post(`/api/v1/admin/price-lists-engine/${encodeURIComponent(id)}/activate`, {});
|
|
82
|
+
setList(res.data);
|
|
83
|
+
setInfo(t('priceLists.detail.info.statusChanged', { status: STATUS_LABEL[res.data.status] }));
|
|
84
|
+
}
|
|
85
|
+
catch (err) {
|
|
86
|
+
setError(err instanceof ApiError ? err.envelope.error.message : t('priceLists.detail.error.activate'));
|
|
87
|
+
}
|
|
88
|
+
}, [id, t, STATUS_LABEL]);
|
|
89
|
+
const handleDraftify = useCallback(async () => {
|
|
90
|
+
try {
|
|
91
|
+
const res = await apiClient.post(`/api/v1/admin/price-lists-engine/${encodeURIComponent(id)}/draftify`, {});
|
|
92
|
+
setList(res.data);
|
|
93
|
+
setInfo(t('priceLists.detail.info.statusDraft'));
|
|
94
|
+
}
|
|
95
|
+
catch (err) {
|
|
96
|
+
setError(err instanceof ApiError ? err.envelope.error.message : t('priceLists.detail.error.draftify'));
|
|
97
|
+
}
|
|
98
|
+
}, [id, t]);
|
|
99
|
+
const handleDuplicate = useCallback(async () => {
|
|
100
|
+
try {
|
|
101
|
+
const res = await apiClient.post(`/api/v1/admin/price-lists-engine/${encodeURIComponent(id)}/duplicate`, {});
|
|
102
|
+
navigate(`/price-lists/${res.data.id}`);
|
|
103
|
+
}
|
|
104
|
+
catch (err) {
|
|
105
|
+
setError(err instanceof ApiError ? err.envelope.error.message : t('priceLists.detail.error.duplicate'));
|
|
106
|
+
}
|
|
107
|
+
}, [id, navigate, t]);
|
|
108
|
+
const handleDelete = useCallback(async () => {
|
|
109
|
+
if (!confirm(t('priceLists.detail.confirmDelete')))
|
|
110
|
+
return;
|
|
111
|
+
try {
|
|
112
|
+
await apiClient.delete(`/api/v1/admin/price-lists-engine/${encodeURIComponent(id)}`);
|
|
113
|
+
navigate('/price-lists');
|
|
114
|
+
}
|
|
115
|
+
catch (err) {
|
|
116
|
+
setError(err instanceof ApiError ? err.envelope.error.message : t('priceLists.detail.error.delete'));
|
|
117
|
+
}
|
|
118
|
+
}, [id, navigate, t]);
|
|
119
|
+
if (loading) {
|
|
120
|
+
return (_jsx("div", { className: "b2b-page b2b-page--wide", children: _jsx("div", { style: { padding: 32, color: 'var(--fg-muted)', fontSize: 13 }, children: t('priceLists.loading') }) }));
|
|
121
|
+
}
|
|
122
|
+
if (!list) {
|
|
123
|
+
return (_jsxs("div", { className: "b2b-page b2b-page--wide", children: [_jsxs("button", { type: "button", className: "b2b-page-head__back", onClick: () => { navigate('/price-lists'); }, children: [_jsx(ChevronLeft, { size: 14 }), " ", t('priceLists.page.title')] }), _jsx("div", { className: "b2b-card", style: {
|
|
124
|
+
background: 'var(--danger-soft)',
|
|
125
|
+
color: 'var(--danger-soft-fg)',
|
|
126
|
+
padding: 16,
|
|
127
|
+
marginTop: 16,
|
|
128
|
+
border: '1px solid hsl(8 80% 85%)',
|
|
129
|
+
}, children: error ?? t('priceLists.detail.notFound') })] }));
|
|
130
|
+
}
|
|
131
|
+
const lifecycleDisabled = list.isSystem;
|
|
132
|
+
return (_jsxs("div", { className: "b2b-page b2b-page--wide", children: [_jsxs("div", { className: "b2b-page-head", children: [_jsxs("div", { className: "b2b-grow", children: [_jsxs("button", { type: "button", className: "b2b-page-head__back", onClick: () => { navigate('/price-lists'); }, children: [_jsx(ChevronLeft, { size: 14 }), " ", t('priceLists.page.title')] }), _jsxs("div", { className: "b2b-page-head__title", style: { display: 'flex', alignItems: 'center', gap: 8 }, children: [list.name, list.isSystem ? (_jsxs("span", { className: "b2b-badge b2b-badge--success", style: { display: 'inline-flex', alignItems: 'center', gap: 4 }, children: [_jsx(Lock, { size: 11 }), " ", t('priceLists.systemBadge')] })) : null, _jsx("span", { className: STATUS_BADGE_CLASS[list.status], children: STATUS_LABEL[list.status] }), _jsx("span", { className: "b2b-badge b2b-badge--outline", children: TYPE_LABEL[list.type] })] }), _jsxs("div", { className: "b2b-page-head__sub", style: { display: 'flex', alignItems: 'center', gap: 12 }, children: [_jsxs("span", { style: { display: 'inline-flex', alignItems: 'center', gap: 4 }, children: [_jsx(Calendar, { size: 12 }), formatRange(list.startsAt, list.endsAt, t)] }), _jsx("span", { children: t('priceLists.detail.modifiedAt', { date: formatDate(list.modifiedAt) }) })] })] }), _jsxs("div", { className: "b2b-page-head__actions", style: { gap: 8 }, children: [list.status === 'draft' || list.status === 'expired' ? (_jsxs("button", { type: "button", className: "b2b-btn b2b-btn--primary b2b-btn--sm", disabled: lifecycleDisabled, title: lifecycleDisabled ? t('priceLists.detail.systemStateLocked') : undefined, onClick: () => {
|
|
133
|
+
void handleActivate();
|
|
134
|
+
}, children: [_jsx(Zap, { size: 13 }), " ", t('priceLists.detail.activate')] })) : (_jsxs("button", { type: "button", className: "b2b-btn b2b-btn--default b2b-btn--sm", disabled: lifecycleDisabled, title: lifecycleDisabled ? t('priceLists.detail.systemStateLocked') : undefined, onClick: () => {
|
|
135
|
+
void handleDraftify();
|
|
136
|
+
}, children: [_jsx(Star, { size: 13 }), " ", t('priceLists.detail.moveToDraft')] })), _jsxs("button", { type: "button", className: "b2b-btn b2b-btn--default b2b-btn--sm", onClick: () => {
|
|
137
|
+
void handleDuplicate();
|
|
138
|
+
}, children: [_jsx(Copy, { size: 13 }), " ", t('priceLists.detail.duplicate')] }), _jsxs("button", { type: "button", className: "b2b-btn b2b-btn--danger b2b-btn--sm", disabled: lifecycleDisabled, title: lifecycleDisabled ? t('priceLists.detail.systemDeleteLocked') : undefined, onClick: () => {
|
|
139
|
+
void handleDelete();
|
|
140
|
+
}, children: [_jsx(Trash2, { size: 13 }), " ", t('priceLists.detail.delete')] })] })] }), info ? (_jsx(Banner, { kind: "info", message: info, onDismiss: () => setInfo(null) })) : null, error ? (_jsx(Banner, { kind: "error", message: error, onDismiss: () => setError(null) })) : null, _jsxs("div", { className: "b2b-card", children: [_jsx("div", { style: { padding: '4px 4px 0', overflow: 'hidden' }, children: _jsx("div", { className: "b2b-tabs-scroll", children: _jsxs("div", { className: "b2b-tabs", role: "tablist", children: [_jsx(TabBtn, { id: "details", label: t('priceLists.detail.tab.details'), icon: _jsx(Cog, { size: 14 }), active: tab, onChange: setTab }), _jsx(TabBtn, { id: "products", label: t('priceLists.detail.tab.products'), icon: _jsx(Layers, { size: 14 }), active: tab, onChange: setTab }), _jsx(TabBtn, { id: "rule", label: t('priceLists.detail.tab.rule'), icon: _jsx(Filter, { size: 14 }), active: tab, onChange: setTab })] }) }) }), _jsxs("div", { className: "b2b-card__body", children: [tab === 'details' ? (_jsx(DetailsPanel, { list: list, onSave: handlePatch, disabled: list.isSystem })) : null, tab === 'products' ? (_jsx(ProductsAndBracketsPanel, { priceListId: list.id, systemList: list.isSystem, focusProductId: focusProductId })) : null, tab === 'rule' ? (_jsx(ApplicationRulePanel, { rule: list.applicationRule, isSystem: list.isSystem, onSave: (next) => handlePatch({ applicationRule: next }) })) : null] })] })] }));
|
|
141
|
+
}
|
|
142
|
+
function TabBtn(props) {
|
|
143
|
+
return (_jsxs("button", { type: "button", role: "tab", "aria-selected": props.active === props.id, className: cn('b2b-tab', props.active === props.id && 'is-active'), onClick: () => props.onChange(props.id), children: [props.icon, props.label] }));
|
|
144
|
+
}
|
|
145
|
+
function Banner({ kind, message, onDismiss, }) {
|
|
146
|
+
const t = useTranslation('core');
|
|
147
|
+
const palette = kind === 'error'
|
|
148
|
+
? { bg: 'var(--danger-soft)', fg: 'var(--danger-soft-fg)', border: 'hsl(8 80% 85%)' }
|
|
149
|
+
: { bg: 'var(--success-soft)', fg: 'var(--success-soft-fg)', border: 'hsl(142 50% 80%)' };
|
|
150
|
+
return (_jsxs("div", { className: "b2b-card b2b-row", style: {
|
|
151
|
+
background: palette.bg,
|
|
152
|
+
color: palette.fg,
|
|
153
|
+
padding: 12,
|
|
154
|
+
marginBottom: 16,
|
|
155
|
+
border: `1px solid ${palette.border}`,
|
|
156
|
+
gap: 8,
|
|
157
|
+
alignItems: 'center',
|
|
158
|
+
}, children: [_jsx("div", { className: "b2b-grow", children: message }), _jsx("button", { type: "button", className: "b2b-btn b2b-btn--ghost b2b-btn--sm", onClick: onDismiss, children: t('priceLists.dismiss') })] }));
|
|
159
|
+
}
|
|
160
|
+
function DetailsPanel({ list, onSave, disabled, }) {
|
|
161
|
+
const t = useTranslation('core');
|
|
162
|
+
const [name, setName] = useState(list.name);
|
|
163
|
+
const [type, setType] = useState(list.type);
|
|
164
|
+
const [startsAt, setStartsAt] = useState(toLocalInput(list.startsAt));
|
|
165
|
+
const [endsAt, setEndsAt] = useState(toLocalInput(list.endsAt));
|
|
166
|
+
const [submitting, setSubmitting] = useState(false);
|
|
167
|
+
useEffect(() => {
|
|
168
|
+
setName(list.name);
|
|
169
|
+
setType(list.type);
|
|
170
|
+
setStartsAt(toLocalInput(list.startsAt));
|
|
171
|
+
setEndsAt(toLocalInput(list.endsAt));
|
|
172
|
+
}, [list]);
|
|
173
|
+
const dirty = name !== list.name ||
|
|
174
|
+
type !== list.type ||
|
|
175
|
+
toLocalInput(list.startsAt) !== startsAt ||
|
|
176
|
+
toLocalInput(list.endsAt) !== endsAt;
|
|
177
|
+
const handle = async () => {
|
|
178
|
+
setSubmitting(true);
|
|
179
|
+
try {
|
|
180
|
+
await onSave({
|
|
181
|
+
name,
|
|
182
|
+
type,
|
|
183
|
+
startsAt: startsAt ? new Date(startsAt).toISOString() : null,
|
|
184
|
+
endsAt: endsAt ? new Date(endsAt).toISOString() : null,
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
finally {
|
|
188
|
+
setSubmitting(false);
|
|
189
|
+
}
|
|
190
|
+
};
|
|
191
|
+
return (_jsxs("div", { className: "b2b-col", style: { gap: 14 }, children: [disabled ? (_jsxs("div", { className: "b2b-card b2b-row", style: {
|
|
192
|
+
background: 'var(--info-soft)',
|
|
193
|
+
color: 'var(--info-soft-fg)',
|
|
194
|
+
padding: 12,
|
|
195
|
+
border: '1px solid hsl(217 70% 88%)',
|
|
196
|
+
gap: 8,
|
|
197
|
+
alignItems: 'flex-start',
|
|
198
|
+
}, children: [_jsx(Lock, { size: 14, style: { marginTop: 2 } }), _jsx("div", { children: t('priceLists.detail.systemNotice') })] })) : null, _jsxs("div", { className: "b2b-row", style: { gap: 12 }, children: [_jsxs("div", { className: "b2b-grow", children: [_jsx("label", { className: "b2b-label", htmlFor: "ed-name", children: t('priceLists.detail.field.name') }), _jsx("input", { id: "ed-name", className: "b2b-field", value: name, disabled: disabled, onChange: (e) => setName(e.target.value) })] }), _jsxs("div", { className: "b2b-grow", children: [_jsx("label", { className: "b2b-label", htmlFor: "ed-type", children: t('priceLists.detail.field.type') }), _jsxs("select", { id: "ed-type", className: "b2b-field", value: type, disabled: disabled, onChange: (e) => setType(e.target.value), children: [_jsx("option", { value: "base", children: t('priceLists.type.base') }), _jsx("option", { value: "sale", children: t('priceLists.type.sale') })] }), _jsx("div", { className: "b2b-help", children: t('priceLists.detail.field.typeHelp') })] })] }), _jsxs("div", { className: "b2b-row", style: { gap: 12 }, children: [_jsxs("div", { className: "b2b-grow", children: [_jsx("label", { className: "b2b-label", htmlFor: "ed-starts", children: t('priceLists.detail.field.startsAt') }), _jsx("input", { id: "ed-starts", className: "b2b-field", type: "datetime-local", value: startsAt, disabled: disabled, onChange: (e) => setStartsAt(e.target.value) })] }), _jsxs("div", { className: "b2b-grow", children: [_jsx("label", { className: "b2b-label", htmlFor: "ed-ends", children: t('priceLists.detail.field.endsAt') }), _jsx("input", { id: "ed-ends", className: "b2b-field", type: "datetime-local", value: endsAt, disabled: disabled, onChange: (e) => setEndsAt(e.target.value) })] })] }), _jsx("div", { className: "b2b-row", style: { justifyContent: 'flex-end', gap: 8 }, children: _jsxs("button", { type: "button", className: "b2b-btn b2b-btn--primary", disabled: disabled || submitting || !dirty, onClick: () => {
|
|
199
|
+
void handle();
|
|
200
|
+
}, children: [_jsx(Save, { size: 14 }), " ", submitting ? t('priceLists.detail.saving') : t('priceLists.detail.saveChanges')] }) })] }));
|
|
201
|
+
}
|
|
202
|
+
function pickName(name, fallback = '') {
|
|
203
|
+
if (!name)
|
|
204
|
+
return fallback;
|
|
205
|
+
return name['en-US'] ?? name['pl-PL'] ?? Object.values(name)[0] ?? fallback;
|
|
206
|
+
}
|
|
207
|
+
function ProductsAndBracketsPanel({ priceListId, systemList, focusProductId, }) {
|
|
208
|
+
const t = useTranslation('core');
|
|
209
|
+
const [roster, setRoster] = useState([]);
|
|
210
|
+
const [products, setProducts] = useState({});
|
|
211
|
+
const [loading, setLoading] = useState(true);
|
|
212
|
+
const [error, setError] = useState(null);
|
|
213
|
+
const [selectedId, setSelectedId] = useState(focusProductId ?? null);
|
|
214
|
+
const [picker, setPicker] = useState(false);
|
|
215
|
+
const refresh = useCallback(async () => {
|
|
216
|
+
setLoading(true);
|
|
217
|
+
setError(null);
|
|
218
|
+
try {
|
|
219
|
+
const [rosterRes, productsRes] = await Promise.all([
|
|
220
|
+
apiClient.get(`/api/v1/admin/price-lists-engine/${encodeURIComponent(priceListId)}/products`),
|
|
221
|
+
apiClient.get('/api/v1/admin/catalog/products'),
|
|
222
|
+
]);
|
|
223
|
+
setRoster(rosterRes.data.items);
|
|
224
|
+
const map = {};
|
|
225
|
+
for (const p of productsRes.data)
|
|
226
|
+
map[p.id] = p;
|
|
227
|
+
setProducts(map);
|
|
228
|
+
// Honour ?focus=<productId> first if it points at an actual roster row.
|
|
229
|
+
const focused = focusProductId
|
|
230
|
+
? rosterRes.data.items.find((e) => e.productId === focusProductId)
|
|
231
|
+
: null;
|
|
232
|
+
if (focused) {
|
|
233
|
+
setSelectedId(focused.productId);
|
|
234
|
+
}
|
|
235
|
+
else if (rosterRes.data.items.length > 0 &&
|
|
236
|
+
!rosterRes.data.items.some((e) => e.productId === selectedId)) {
|
|
237
|
+
setSelectedId(rosterRes.data.items[0].productId);
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
catch (err) {
|
|
241
|
+
setError(err instanceof ApiError ? err.envelope.error.message : t('priceLists.detail.products.error.load'));
|
|
242
|
+
}
|
|
243
|
+
finally {
|
|
244
|
+
setLoading(false);
|
|
245
|
+
}
|
|
246
|
+
}, [priceListId, selectedId, focusProductId, t]);
|
|
247
|
+
useEffect(() => {
|
|
248
|
+
void refresh();
|
|
249
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
250
|
+
}, [priceListId]);
|
|
251
|
+
const handleAddProduct = async (productId) => {
|
|
252
|
+
try {
|
|
253
|
+
await apiClient.post(`/api/v1/admin/price-lists-engine/${encodeURIComponent(priceListId)}/products`, {
|
|
254
|
+
productId,
|
|
255
|
+
});
|
|
256
|
+
setPicker(false);
|
|
257
|
+
setSelectedId(productId);
|
|
258
|
+
await refresh();
|
|
259
|
+
}
|
|
260
|
+
catch (err) {
|
|
261
|
+
setError(err instanceof ApiError ? err.envelope.error.message : t('priceLists.detail.products.error.add'));
|
|
262
|
+
}
|
|
263
|
+
};
|
|
264
|
+
const handleRemoveProduct = async (productId) => {
|
|
265
|
+
if (!confirm(t('priceLists.detail.products.confirmRemove')))
|
|
266
|
+
return;
|
|
267
|
+
try {
|
|
268
|
+
await apiClient.delete(`/api/v1/admin/price-lists-engine/${encodeURIComponent(priceListId)}/products/${encodeURIComponent(productId)}`);
|
|
269
|
+
if (selectedId === productId)
|
|
270
|
+
setSelectedId(null);
|
|
271
|
+
await refresh();
|
|
272
|
+
}
|
|
273
|
+
catch (err) {
|
|
274
|
+
setError(err instanceof ApiError ? err.envelope.error.message : t('priceLists.detail.products.error.remove'));
|
|
275
|
+
}
|
|
276
|
+
};
|
|
277
|
+
const handleBracketsSaved = (productId, next) => {
|
|
278
|
+
setRoster((prev) => prev.map((e) => (e.productId === productId ? { ...e, bracketsByCurrency: next } : e)));
|
|
279
|
+
};
|
|
280
|
+
if (loading) {
|
|
281
|
+
return _jsx("div", { style: { padding: 16, color: 'var(--fg-muted)', fontSize: 13 }, children: t('priceLists.loading') });
|
|
282
|
+
}
|
|
283
|
+
const selected = roster.find((e) => e.productId === selectedId) ?? null;
|
|
284
|
+
const selectedProduct = selected ? products[selected.productId] : null;
|
|
285
|
+
return (_jsxs("div", { className: "b2b-col", style: { gap: 12 }, children: [error ? (_jsx("div", { style: {
|
|
286
|
+
padding: 8,
|
|
287
|
+
background: 'var(--danger-soft)',
|
|
288
|
+
color: 'var(--danger-soft-fg)',
|
|
289
|
+
borderRadius: 6,
|
|
290
|
+
border: '1px solid hsl(8 80% 85%)',
|
|
291
|
+
fontSize: 12,
|
|
292
|
+
}, children: error })) : null, systemList ? (_jsxs("div", { className: "b2b-card b2b-row", style: {
|
|
293
|
+
background: 'var(--info-soft)',
|
|
294
|
+
color: 'var(--info-soft-fg)',
|
|
295
|
+
padding: 12,
|
|
296
|
+
border: '1px solid hsl(217 70% 88%)',
|
|
297
|
+
gap: 8,
|
|
298
|
+
alignItems: 'flex-start',
|
|
299
|
+
}, children: [_jsx(Lock, { size: 14, style: { marginTop: 2 } }), _jsx("div", { children: t('priceLists.detail.products.systemNotice') })] })) : null, _jsxs("div", { style: { display: 'grid', gridTemplateColumns: '280px 1fr', gap: 16, alignItems: 'flex-start' }, children: [_jsxs("div", { className: "b2b-card", style: { padding: 0 }, children: [_jsxs("div", { className: "b2b-row", style: {
|
|
300
|
+
padding: '10px 12px',
|
|
301
|
+
borderBottom: '1px solid var(--border-color)',
|
|
302
|
+
gap: 6,
|
|
303
|
+
alignItems: 'center',
|
|
304
|
+
}, children: [_jsx("div", { className: "b2b-grow", style: { fontSize: 12, fontWeight: 600 }, children: t('priceLists.detail.products.title', { count: roster.length }) }), _jsxs("button", { type: "button", className: "b2b-btn b2b-btn--primary b2b-btn--sm", disabled: systemList, onClick: () => setPicker(true), children: [_jsx(Plus, { size: 12 }), " ", t('priceLists.detail.products.add')] })] }), roster.length === 0 ? (_jsx("div", { className: "b2b-help", style: { padding: 16 }, children: t('priceLists.detail.products.empty') })) : (_jsx("ul", { style: { margin: 0, padding: 0, listStyle: 'none', maxHeight: 480, overflow: 'auto' }, children: roster.map((e) => {
|
|
305
|
+
const product = products[e.productId];
|
|
306
|
+
const isSelected = e.productId === selectedId;
|
|
307
|
+
const currencyCount = Object.keys(e.bracketsByCurrency).length;
|
|
308
|
+
return (_jsxs("li", { onClick: () => setSelectedId(e.productId), style: {
|
|
309
|
+
padding: '8px 12px',
|
|
310
|
+
cursor: 'pointer',
|
|
311
|
+
borderBottom: '1px solid var(--border-color)',
|
|
312
|
+
background: isSelected ? 'var(--primary-soft)' : 'transparent',
|
|
313
|
+
borderLeft: isSelected ? '3px solid var(--primary-color)' : '3px solid transparent',
|
|
314
|
+
}, children: [_jsx("div", { style: { fontSize: 12, fontWeight: 500 }, children: product ? pickName(product.name, e.productId.slice(0, 8)) : e.productId.slice(0, 8) }), _jsxs("div", { style: { fontSize: 11, color: 'var(--fg-muted)', display: 'flex', justifyContent: 'space-between', marginTop: 2 }, children: [_jsx("span", { className: "b2b-mono", children: product?.sku ?? '—' }), _jsx("span", { children: currencyCount === 0 ? t('priceLists.detail.products.noPrices') : t('priceLists.detail.products.currencyCount', { count: currencyCount }) })] })] }, e.productId));
|
|
315
|
+
}) }))] }), _jsxs("div", { children: [selected && selectedProduct ? (_jsx(BracketGrid, { priceListId: priceListId, productId: selected.productId, productName: pickName(selectedProduct.name, selected.productId.slice(0, 8)), initial: selected.bracketsByCurrency, systemList: systemList, onSaved: (next) => handleBracketsSaved(selected.productId, next) })) : selectedId ? (_jsx("div", { className: "b2b-help", style: { padding: 16 }, children: t('priceLists.detail.products.loadingProduct') })) : (_jsx("div", { className: "b2b-help", style: { padding: 16 }, children: t('priceLists.detail.products.selectHint') })), selected && !systemList ? (_jsx("div", { style: { marginTop: 12, textAlign: 'right' }, children: _jsxs("button", { type: "button", className: "b2b-btn b2b-btn--ghost b2b-btn--sm", style: { color: 'hsl(8 80% 50%)' }, onClick: () => {
|
|
316
|
+
void handleRemoveProduct(selected.productId);
|
|
317
|
+
}, children: [_jsx(Trash2, { size: 12 }), " ", t('priceLists.detail.products.removeFromList')] }) })) : null] })] }), picker ? (_jsx(ProductPickerDialog, { existing: new Set(roster.map((e) => e.productId)), onClose: () => setPicker(false), onPick: (id) => {
|
|
318
|
+
void handleAddProduct(id);
|
|
319
|
+
} })) : null] }));
|
|
320
|
+
}
|
|
321
|
+
function ProductPickerDialog({ existing, onClose, onPick, }) {
|
|
322
|
+
const t = useTranslation('core');
|
|
323
|
+
const [products, setProducts] = useState([]);
|
|
324
|
+
const [query, setQuery] = useState('');
|
|
325
|
+
const [loading, setLoading] = useState(true);
|
|
326
|
+
const [error, setError] = useState(null);
|
|
327
|
+
useEffect(() => {
|
|
328
|
+
apiClient
|
|
329
|
+
.get('/api/v1/admin/catalog/products')
|
|
330
|
+
.then((res) => setProducts(res.data))
|
|
331
|
+
.catch((err) => {
|
|
332
|
+
setError(err instanceof ApiError ? err.envelope.error.message : t('priceLists.detail.picker.error.load'));
|
|
333
|
+
})
|
|
334
|
+
.finally(() => setLoading(false));
|
|
335
|
+
}, [t]);
|
|
336
|
+
const candidates = products.filter((p) => {
|
|
337
|
+
if (existing.has(p.id))
|
|
338
|
+
return false;
|
|
339
|
+
const q = normalize(query);
|
|
340
|
+
if (q === '')
|
|
341
|
+
return true;
|
|
342
|
+
return normalize(pickName(p.name)).includes(q) || normalize(p.sku).includes(q);
|
|
343
|
+
});
|
|
344
|
+
return (_jsxs(_Fragment, { children: [_jsx("div", { className: "b2b-scrim", onClick: onClose }), _jsxs("aside", { className: "b2b-drawer", role: "dialog", "aria-modal": "true", children: [_jsxs("div", { className: "b2b-drawer__head", children: [_jsx("div", { className: "b2b-drawer__title", children: t('priceLists.detail.picker.title') }), _jsx("div", { className: "b2b-card__sub", children: t('priceLists.detail.picker.subtitle') })] }), _jsxs("div", { className: "b2b-drawer__body", children: [_jsxs("div", { className: "b2b-input-wrap", style: { marginBottom: 12 }, children: [_jsx(Search, { size: 14, className: "lead" }), _jsx("input", { autoFocus: true, className: "b2b-field b2b-field--addon", placeholder: t('priceLists.detail.picker.searchPlaceholder'), value: query, onChange: (e) => setQuery(e.target.value) })] }), error ? (_jsx("div", { className: "b2b-help", style: { color: 'hsl(8 80% 40%)' }, children: error })) : loading ? (_jsx("div", { className: "b2b-help", children: t('priceLists.loading') })) : candidates.length === 0 ? (_jsx("div", { className: "b2b-help", children: t('priceLists.detail.picker.empty') })) : (_jsx("ul", { style: { margin: 0, padding: 0, listStyle: 'none', maxHeight: 380, overflow: 'auto' }, children: candidates.slice(0, 100).map((p) => (_jsxs("li", { onClick: () => onPick(p.id), style: {
|
|
345
|
+
padding: '8px 10px',
|
|
346
|
+
cursor: 'pointer',
|
|
347
|
+
borderBottom: '1px solid var(--border-color)',
|
|
348
|
+
}, children: [_jsx("div", { style: { fontSize: 13, fontWeight: 500 }, children: pickName(p.name, p.sku) }), _jsx("div", { className: "b2b-mono", style: { fontSize: 11, color: 'var(--fg-muted)' }, children: p.sku })] }, p.id))) }))] }), _jsx("div", { className: "b2b-drawer__foot", children: _jsx("button", { type: "button", className: "b2b-btn b2b-btn--ghost", onClick: onClose, children: t('priceLists.detail.picker.cancel') }) })] })] }));
|
|
349
|
+
}
|
|
350
|
+
function ApplicationRulePanel({ rule, isSystem, onSave, }) {
|
|
351
|
+
const t = useTranslation('core');
|
|
352
|
+
const [draft, setDraft] = useState(rule);
|
|
353
|
+
const [submitting, setSubmitting] = useState(false);
|
|
354
|
+
const [info, setInfo] = useState(null);
|
|
355
|
+
const [error, setError] = useState(null);
|
|
356
|
+
useEffect(() => {
|
|
357
|
+
setDraft(rule);
|
|
358
|
+
}, [rule]);
|
|
359
|
+
const dirty = JSON.stringify(rule) !== JSON.stringify(draft);
|
|
360
|
+
const handle = async () => {
|
|
361
|
+
setSubmitting(true);
|
|
362
|
+
setError(null);
|
|
363
|
+
try {
|
|
364
|
+
await onSave(draft);
|
|
365
|
+
setInfo(t('priceLists.detail.info.saved'));
|
|
366
|
+
}
|
|
367
|
+
catch (err) {
|
|
368
|
+
setError(err instanceof Error ? err.message : t('priceLists.detail.error.save'));
|
|
369
|
+
}
|
|
370
|
+
finally {
|
|
371
|
+
setSubmitting(false);
|
|
372
|
+
}
|
|
373
|
+
};
|
|
374
|
+
if (isSystem) {
|
|
375
|
+
return (_jsx("div", { className: "b2b-card", style: {
|
|
376
|
+
padding: 16,
|
|
377
|
+
background: 'var(--surface-muted)',
|
|
378
|
+
border: '1px solid var(--border-color)',
|
|
379
|
+
}, children: _jsxs("div", { className: "b2b-row", style: { gap: 12, alignItems: 'flex-start' }, children: [_jsx(Lock, { size: 18, style: { color: 'var(--fg-muted)', marginTop: 2 } }), _jsxs("div", { className: "b2b-grow", children: [_jsx("div", { style: { fontSize: 13, fontWeight: 600 }, children: t('priceLists.detail.rule.title') }), _jsx("div", { className: "b2b-help", style: { marginTop: 4 }, children: t('priceLists.detail.rule.systemNotice') })] })] }) }));
|
|
380
|
+
}
|
|
381
|
+
return (_jsxs("div", { className: "b2b-col", style: { gap: 12 }, children: [info ? (_jsx("div", { style: {
|
|
382
|
+
padding: 8,
|
|
383
|
+
background: 'var(--success-soft)',
|
|
384
|
+
color: 'var(--success-soft-fg)',
|
|
385
|
+
borderRadius: 6,
|
|
386
|
+
border: '1px solid hsl(142 50% 80%)',
|
|
387
|
+
fontSize: 12,
|
|
388
|
+
}, children: info })) : null, error ? (_jsx("div", { style: {
|
|
389
|
+
padding: 8,
|
|
390
|
+
background: 'var(--danger-soft)',
|
|
391
|
+
color: 'var(--danger-soft-fg)',
|
|
392
|
+
borderRadius: 6,
|
|
393
|
+
border: '1px solid hsl(8 80% 85%)',
|
|
394
|
+
fontSize: 12,
|
|
395
|
+
}, children: error })) : null, _jsx(ApplicationRuleBuilder, { value: draft, onChange: setDraft }), _jsxs("div", { className: "b2b-row", style: { justifyContent: 'flex-end', gap: 6 }, children: [_jsx("button", { type: "button", className: "b2b-btn b2b-btn--ghost b2b-btn--sm", disabled: !dirty || submitting, onClick: () => setDraft(rule), children: t('priceLists.detail.rule.discard') }), _jsxs("button", { type: "button", className: "b2b-btn b2b-btn--primary b2b-btn--sm", disabled: !dirty || submitting, onClick: () => {
|
|
396
|
+
void handle();
|
|
397
|
+
}, children: [_jsx(Save, { size: 13 }), " ", submitting ? t('priceLists.detail.saving') : t('priceLists.detail.rule.save')] })] })] }));
|
|
398
|
+
}
|
|
399
|
+
function toLocalInput(iso) {
|
|
400
|
+
if (!iso)
|
|
401
|
+
return '';
|
|
402
|
+
const d = new Date(iso);
|
|
403
|
+
const pad = (n) => String(n).padStart(2, '0');
|
|
404
|
+
return `${d.getFullYear()}-${pad(d.getMonth() + 1)}-${pad(d.getDate())}T${pad(d.getHours())}:${pad(d.getMinutes())}`;
|
|
405
|
+
}
|
|
406
|
+
function formatRange(startsAt, endsAt, t) {
|
|
407
|
+
if (!startsAt && !endsAt)
|
|
408
|
+
return t('priceLists.window.always');
|
|
409
|
+
const fmt = (s) => (s ? new Date(s).toLocaleDateString() : '—');
|
|
410
|
+
return `${fmt(startsAt)} → ${fmt(endsAt)}`;
|
|
411
|
+
}
|
|
412
|
+
function formatDate(iso) {
|
|
413
|
+
return new Date(iso).toLocaleString();
|
|
414
|
+
}
|
|
415
|
+
/**
|
|
416
|
+
* The registry loads a route component through a dynamic-import factory and
|
|
417
|
+
* reads its default export (feature 091, FR-013). The named export stays: it is
|
|
418
|
+
* the spelling this module's own code and its tests use.
|
|
419
|
+
*/
|
|
420
|
+
export default PriceListDetailPage;
|
|
421
|
+
//# sourceMappingURL=PriceListDetailPage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PriceListDetailPage.js","sourceRoot":"","sources":["../../../src/admin/pages/PriceListDetailPage.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Price lists — feature 011 (engine) admin landing page.
|
|
4
|
+
*
|
|
5
|
+
* Lists every price list with status/type filter chips and a free-text
|
|
6
|
+
* search. Clicking a row opens the editor; the seeded `Default` row is
|
|
7
|
+
* marked with a lock icon and a "System" chip because protections in
|
|
8
|
+
* `price-list-service.ts` refuse delete/state-change/rule-attach on it.
|
|
9
|
+
*/
|
|
10
|
+
export declare function PriceListsPage(): ReactNode;
|
|
11
|
+
/**
|
|
12
|
+
* The registry loads a route component through a dynamic-import factory and
|
|
13
|
+
* reads its default export (feature 091, FR-013). The named export stays: it is
|
|
14
|
+
* the spelling this module's own code and its tests use.
|
|
15
|
+
*/
|
|
16
|
+
export default PriceListsPage;
|
|
17
|
+
//# sourceMappingURL=PriceListsPage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PriceListsPage.d.ts","sourceRoot":"","sources":["../../../src/admin/pages/PriceListsPage.tsx"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAsCf;;;;;;;GAOG;AACH,wBAAgB,cAAc,IAAI,SAAS,CAqQ1C;AA4PD;;;;GAIG;AACH,eAAe,cAAc,CAAC"}
|