ptechcore_ui 1.0.63 → 1.0.65
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/index.cjs +147 -126
- package/dist/index.d.cts +3456 -0
- package/dist/index.d.ts +3456 -0
- package/dist/index.js +151 -131
- package/package.json +3 -3
package/dist/index.cjs
CHANGED
|
@@ -234,7 +234,7 @@ var Buttons_default = PrimaryButton;
|
|
|
234
234
|
// src/components/common/Modals.tsx
|
|
235
235
|
var import_react_dom = require("react-dom");
|
|
236
236
|
var import_jsx_runtime2 = require("react/jsx-runtime");
|
|
237
|
-
var
|
|
237
|
+
var Modal = ({
|
|
238
238
|
title,
|
|
239
239
|
description,
|
|
240
240
|
sideactions,
|
|
@@ -275,7 +275,7 @@ var Modal2 = ({
|
|
|
275
275
|
] }) });
|
|
276
276
|
return (0, import_react_dom.createPortal)(modalContent, document.body);
|
|
277
277
|
};
|
|
278
|
-
var Modals_default =
|
|
278
|
+
var Modals_default = Modal;
|
|
279
279
|
|
|
280
280
|
// src/components/common/Inputs.tsx
|
|
281
281
|
var import_react_router_dom = require("react-router-dom");
|
|
@@ -321,7 +321,28 @@ var InputField = ({
|
|
|
321
321
|
error && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("p", { className: "text-xs text-[var(--color-error)]", children: error })
|
|
322
322
|
] });
|
|
323
323
|
};
|
|
324
|
-
var TextInput = ({ type = "text", ...props }) => {
|
|
324
|
+
var TextInput = ({ type = "text", multiline, rows, ...props }) => {
|
|
325
|
+
if (multiline) {
|
|
326
|
+
const { label, error, ref, ...textareaProps } = props;
|
|
327
|
+
return /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className: "flex flex-col gap-1 w-full", children: [
|
|
328
|
+
label && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("label", { className: "block text-[var(--color-text-secondary)] text-sm font-medium mb-2", children: label }),
|
|
329
|
+
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
|
|
330
|
+
"textarea",
|
|
331
|
+
{
|
|
332
|
+
...textareaProps,
|
|
333
|
+
rows,
|
|
334
|
+
className: `w-full px-3 py-2 border rounded-lg text-sm
|
|
335
|
+
bg-[var(--color-surface)] text-[var(--color-text-primary)]
|
|
336
|
+
focus:ring-2 focus:ring-[var(--color-primary)]/20 focus:border-[var(--color-primary)] focus:outline-none
|
|
337
|
+
${error ? "border-[var(--color-error)]" : "border-[var(--color-border)]"}
|
|
338
|
+
${textareaProps.disabled ? "bg-[var(--color-background)] cursor-not-allowed opacity-60" : ""}
|
|
339
|
+
${textareaProps.className || ""}
|
|
340
|
+
`
|
|
341
|
+
}
|
|
342
|
+
),
|
|
343
|
+
error && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("p", { className: "text-xs text-[var(--color-error)]", children: error })
|
|
344
|
+
] });
|
|
345
|
+
}
|
|
325
346
|
return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(InputField, { ...props, type });
|
|
326
347
|
};
|
|
327
348
|
var NumberInput = (props) => {
|
|
@@ -1442,7 +1463,7 @@ var import_react4 = require("react");
|
|
|
1442
1463
|
|
|
1443
1464
|
// src/components/common/Cards.tsx
|
|
1444
1465
|
var import_jsx_runtime7 = require("react/jsx-runtime");
|
|
1445
|
-
var RewiseCard = ({ children, className = "" }) => /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: `bg-white rounded-lg shadow border border-gray-200 ${className}`, children });
|
|
1466
|
+
var RewiseCard = ({ children, className = "", style }) => /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: `bg-white rounded-lg shadow border border-gray-200 ${className}`, style, children });
|
|
1446
1467
|
var RewiseBasicCard = ({ title, children }) => /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { className: "bg-white rounded-lg ", children: [
|
|
1447
1468
|
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: "px-6 py-2 border-b border-gray-200", children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: "flex items-center space-x-4", children: title }) }),
|
|
1448
1469
|
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: "p-3", children })
|
|
@@ -3808,10 +3829,12 @@ var Tabs = ({ tabs, activeTab, onChange, variant = "filled", className = "" }) =
|
|
|
3808
3829
|
var import_jsx_runtime13 = require("react/jsx-runtime");
|
|
3809
3830
|
var Badge = ({
|
|
3810
3831
|
children,
|
|
3811
|
-
variant = "default"
|
|
3832
|
+
variant = "default",
|
|
3833
|
+
className = ""
|
|
3812
3834
|
}) => {
|
|
3813
3835
|
const variants = {
|
|
3814
3836
|
default: "bg-[#d1d7de] text-[#283042]",
|
|
3837
|
+
secondary: "bg-gray-100 text-gray-700",
|
|
3815
3838
|
success: "bg-[#78a6d2] text-white",
|
|
3816
3839
|
warning: "bg-[#e04927] text-white",
|
|
3817
3840
|
error: "bg-[#e04927] text-white",
|
|
@@ -3820,7 +3843,7 @@ var Badge = ({
|
|
|
3820
3843
|
blue: "bg-[#78a6d2] text-white",
|
|
3821
3844
|
green: "bg-[#78a6d2] text-white"
|
|
3822
3845
|
};
|
|
3823
|
-
return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("span", { className: `inline-flex items-center px-3 py-1 rounded-full text-xs font-semibold ${variants[variant]}`, children });
|
|
3846
|
+
return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("span", { className: `inline-flex items-center px-3 py-1 rounded-full text-xs font-semibold ${variants[variant]} ${className}`, children });
|
|
3824
3847
|
};
|
|
3825
3848
|
|
|
3826
3849
|
// src/components/common/FDrawer.tsx
|
|
@@ -18049,7 +18072,7 @@ var CatalogueProductSelector = ({
|
|
|
18049
18072
|
/* @__PURE__ */ (0, import_jsx_runtime55.jsxs)("div", { className: "flex-1", children: [
|
|
18050
18073
|
/* @__PURE__ */ (0, import_jsx_runtime55.jsxs)("div", { className: "flex items-center space-x-2", children: [
|
|
18051
18074
|
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)("span", { className: "text-xs font-mono text-gray-500", children: listItem.reference }),
|
|
18052
|
-
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
18075
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)(Badge, { variant: listItem.type === "product" ? "info" : "default", children: listItem.type === "product" ? "Produit" : "Service" })
|
|
18053
18076
|
] }),
|
|
18054
18077
|
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)("h4", { className: "font-medium text-gray-900", children: listItem.name }),
|
|
18055
18078
|
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)("p", { className: "text-sm text-gray-500", children: listItem.category })
|
|
@@ -23433,12 +23456,14 @@ var SLAEvaluationSessionServices = {
|
|
|
23433
23456
|
|
|
23434
23457
|
// src/components/contracts/ViewContractContent.tsx
|
|
23435
23458
|
var import_jsx_runtime91 = require("react/jsx-runtime");
|
|
23436
|
-
var
|
|
23459
|
+
var Button = ({ children, onClick, variant = "default", size = "md", className = "", disabled = false }) => {
|
|
23437
23460
|
const baseStyles = "inline-flex items-center justify-center font-medium rounded-lg transition-colors disabled:opacity-50";
|
|
23438
23461
|
const variantStyles2 = {
|
|
23439
23462
|
default: "bg-blue-600 text-white hover:bg-blue-700",
|
|
23463
|
+
primary: "bg-blue-600 text-white hover:bg-blue-700",
|
|
23440
23464
|
outline: "border border-gray-300 bg-white text-gray-700 hover:bg-gray-50",
|
|
23441
23465
|
ghost: "text-gray-700 hover:bg-gray-100",
|
|
23466
|
+
text: "text-gray-700 hover:bg-gray-100",
|
|
23442
23467
|
danger: "bg-red-600 text-white hover:bg-red-700"
|
|
23443
23468
|
};
|
|
23444
23469
|
const sizeStyles = {
|
|
@@ -23448,7 +23473,7 @@ var Button2 = ({ children, onClick, variant = "default", size = "md", className
|
|
|
23448
23473
|
};
|
|
23449
23474
|
return /* @__PURE__ */ (0, import_jsx_runtime91.jsx)("button", { onClick, disabled, className: `${baseStyles} ${variantStyles2[variant]} ${sizeStyles[size]} ${className}`, children });
|
|
23450
23475
|
};
|
|
23451
|
-
var
|
|
23476
|
+
var Badge2 = ({
|
|
23452
23477
|
children,
|
|
23453
23478
|
className = "",
|
|
23454
23479
|
variant = "default"
|
|
@@ -23456,9 +23481,11 @@ var Badge3 = ({
|
|
|
23456
23481
|
const variantStyles2 = {
|
|
23457
23482
|
default: "bg-gray-100 text-gray-800",
|
|
23458
23483
|
outline: "border border-gray-300 bg-white text-gray-700",
|
|
23484
|
+
secondary: "bg-gray-100 text-gray-700",
|
|
23459
23485
|
success: "bg-green-100 text-green-800",
|
|
23460
23486
|
warning: "bg-yellow-100 text-yellow-800",
|
|
23461
23487
|
danger: "bg-red-100 text-red-800",
|
|
23488
|
+
error: "bg-red-100 text-red-800",
|
|
23462
23489
|
info: "bg-blue-100 text-blue-800"
|
|
23463
23490
|
};
|
|
23464
23491
|
return /* @__PURE__ */ (0, import_jsx_runtime91.jsx)("span", { className: `inline-flex items-center px-2 py-0.5 rounded-full text-xs font-medium ${variantStyles2[variant]} ${className}`, children });
|
|
@@ -23638,7 +23665,7 @@ var ViewContractContent = ({
|
|
|
23638
23665
|
break;
|
|
23639
23666
|
case "delete":
|
|
23640
23667
|
if (window.confirm("\xCAtes-vous s\xFBr de vouloir supprimer ce contrat ?")) {
|
|
23641
|
-
onDelete?.(contract.id);
|
|
23668
|
+
onDelete?.(String(contract.id));
|
|
23642
23669
|
}
|
|
23643
23670
|
break;
|
|
23644
23671
|
case "archive":
|
|
@@ -23830,7 +23857,7 @@ var ViewContractContent = ({
|
|
|
23830
23857
|
] }),
|
|
23831
23858
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsxs)("div", { className: "flex justify-between", children: [
|
|
23832
23859
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("dt", { className: "text-sm font-medium text-gray-500", children: "Statut" }),
|
|
23833
|
-
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("dd", { className: "text-sm", children: /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(
|
|
23860
|
+
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("dd", { className: "text-sm", children: /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(Badge2, { variant: getStatusVariant(contract.status) === "error" ? "danger" : getStatusVariant(contract.status) === "success" ? "success" : "info", children: contractStatusLabels[contract.status] || contract.status }) })
|
|
23834
23861
|
] }),
|
|
23835
23862
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsxs)("div", { className: "flex justify-between", children: [
|
|
23836
23863
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("dt", { className: "text-sm font-medium text-gray-500", children: "Cat\xE9gorie" }),
|
|
@@ -23838,7 +23865,7 @@ var ViewContractContent = ({
|
|
|
23838
23865
|
] }),
|
|
23839
23866
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsxs)("div", { className: "flex justify-between", children: [
|
|
23840
23867
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("dt", { className: "text-sm font-medium text-gray-500", children: "Niveau de risque" }),
|
|
23841
|
-
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("dd", { className: "text-sm", children: /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(
|
|
23868
|
+
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("dd", { className: "text-sm", children: /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(Badge2, { variant: contract.risk_level === "critical" || contract.risk_level === "high" ? "danger" : contract.risk_level === "medium" ? "warning" : "success", children: riskLevelLabels[contract.risk_level] }) })
|
|
23842
23869
|
] }),
|
|
23843
23870
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsxs)("div", { children: [
|
|
23844
23871
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("dt", { className: "text-sm font-medium text-gray-500 mb-1", children: "Description" }),
|
|
@@ -23854,11 +23881,11 @@ var ViewContractContent = ({
|
|
|
23854
23881
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsxs)("dl", { className: "space-y-3", children: [
|
|
23855
23882
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsxs)("div", { className: "flex justify-between", children: [
|
|
23856
23883
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("dt", { className: "text-sm font-medium text-gray-500", children: "Raison sociale" }),
|
|
23857
|
-
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("dd", { className: "text-sm text-gray-900 font-medium", children: contract.supplier_details?.
|
|
23884
|
+
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("dd", { className: "text-sm text-gray-900 font-medium", children: contract.supplier_details?.legal_name || "Non d\xE9fini" })
|
|
23858
23885
|
] }),
|
|
23859
23886
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsxs)("div", { className: "flex justify-between", children: [
|
|
23860
23887
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("dt", { className: "text-sm font-medium text-gray-500", children: "Contact principal" }),
|
|
23861
|
-
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("dd", { className: "text-sm text-gray-900", children: contract.supplier_details?.
|
|
23888
|
+
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("dd", { className: "text-sm text-gray-900", children: contract.supplier_details?.legal_representative_name || "Non renseign\xE9" })
|
|
23862
23889
|
] }),
|
|
23863
23890
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsxs)("div", { className: "flex items-center justify-between", children: [
|
|
23864
23891
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("dt", { className: "text-sm font-medium text-gray-500", children: "Email" }),
|
|
@@ -23914,7 +23941,7 @@ var ViewContractContent = ({
|
|
|
23914
23941
|
] }),
|
|
23915
23942
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsxs)("div", { className: "flex justify-between items-center", children: [
|
|
23916
23943
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("dt", { className: "text-sm font-medium text-gray-500", children: "Renouvellement auto." }),
|
|
23917
|
-
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("dd", { children: /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(
|
|
23944
|
+
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("dd", { children: /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(Badge2, { variant: contract.auto_renewal ? "success" : "default", children: contract.auto_renewal ? "Activ\xE9" : "D\xE9sactiv\xE9" }) })
|
|
23918
23945
|
] }),
|
|
23919
23946
|
contract.maxRenewalPeriods && /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)("div", { className: "flex justify-between", children: [
|
|
23920
23947
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("dt", { className: "text-sm font-medium text-gray-500", children: "Max. renouvellements" }),
|
|
@@ -23960,7 +23987,7 @@ var ViewContractContent = ({
|
|
|
23960
23987
|
] }),
|
|
23961
23988
|
contract.tags && contract.tags.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)(RewiseCard, { className: "p-6", children: [
|
|
23962
23989
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("h3", { className: "text-lg font-semibold text-gray-900 mb-4", children: "Tags et mots-cl\xE9s" }),
|
|
23963
|
-
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("div", { className: "flex flex-wrap gap-2", children: contract.tags.map((tag, index) => /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(
|
|
23990
|
+
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("div", { className: "flex flex-wrap gap-2", children: contract.tags.map((tag, index) => /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(Badge2, { variant: "secondary", children: tag }, index)) })
|
|
23964
23991
|
] })
|
|
23965
23992
|
] });
|
|
23966
23993
|
const renderSupplierTab = () => /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)("div", { className: "space-y-6", children: [
|
|
@@ -23973,11 +24000,11 @@ var ViewContractContent = ({
|
|
|
23973
24000
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsxs)("div", { className: "grid grid-cols-2 gap-4", children: [
|
|
23974
24001
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsxs)("div", { children: [
|
|
23975
24002
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("dt", { className: "text-sm font-medium text-gray-500", children: "Raison sociale" }),
|
|
23976
|
-
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("dd", { className: "text-sm text-gray-900 font-medium mt-1", children: contract.supplier_details?.
|
|
24003
|
+
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("dd", { className: "text-sm text-gray-900 font-medium mt-1", children: contract.supplier_details?.legal_name || "Non d\xE9fini" })
|
|
23977
24004
|
] }),
|
|
23978
24005
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsxs)("div", { children: [
|
|
23979
24006
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("dt", { className: "text-sm font-medium text-gray-500", children: "SIRET" }),
|
|
23980
|
-
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("dd", { className: "text-sm text-gray-900 mt-1", children: contract.supplier_details?.
|
|
24007
|
+
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("dd", { className: "text-sm text-gray-900 mt-1", children: contract.supplier_details?.rccm || "Non renseign\xE9" })
|
|
23981
24008
|
] })
|
|
23982
24009
|
] }),
|
|
23983
24010
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsxs)("div", { className: "grid grid-cols-2 gap-4", children: [
|
|
@@ -24054,7 +24081,7 @@ var ViewContractContent = ({
|
|
|
24054
24081
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsxs)("dl", { className: "space-y-3", children: [
|
|
24055
24082
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsxs)("div", { className: "flex justify-between", children: [
|
|
24056
24083
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("dt", { className: "text-sm font-medium text-gray-500", children: "Renouvellement automatique" }),
|
|
24057
|
-
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("dd", { className: "text-sm", children: /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(
|
|
24084
|
+
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("dd", { className: "text-sm", children: /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(Badge2, { variant: contract.auto_renewal ? "success" : "default", children: contract.auto_renewal ? "Oui" : "Non" }) })
|
|
24058
24085
|
] }),
|
|
24059
24086
|
contract.renewal_date && /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)("div", { className: "flex justify-between", children: [
|
|
24060
24087
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("dt", { className: "text-sm font-medium text-gray-500", children: "Date de renouvellement" }),
|
|
@@ -24080,7 +24107,7 @@ var ViewContractContent = ({
|
|
|
24080
24107
|
contract.fm_services && contract.fm_services.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime91.jsx)("div", { className: "space-y-4", children: contract.fm_services.map((service, index) => /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)("div", { className: "p-4 border rounded-lg", children: [
|
|
24081
24108
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsxs)("div", { className: "flex items-center justify-between mb-2", children: [
|
|
24082
24109
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("h4", { className: "font-medium text-gray-900", children: service.service_type || service.name }),
|
|
24083
|
-
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)(
|
|
24110
|
+
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)(Badge2, { variant: service.is_active ? "success" : "default", children: service.is_active ? "Actif" : "Inactif" })
|
|
24084
24111
|
] }),
|
|
24085
24112
|
service.description && /* @__PURE__ */ (0, import_jsx_runtime91.jsx)("p", { className: "text-sm text-gray-600 mb-2", children: service.description }),
|
|
24086
24113
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsxs)("div", { className: "grid grid-cols-2 gap-4 text-sm", children: [
|
|
@@ -24200,7 +24227,7 @@ var ViewContractContent = ({
|
|
|
24200
24227
|
"%"
|
|
24201
24228
|
] }),
|
|
24202
24229
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("td", { className: "py-3 text-center", children: formatDate2(milestone.dueDate) }),
|
|
24203
|
-
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("td", { className: "py-3 text-center", children: /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(
|
|
24230
|
+
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("td", { className: "py-3 text-center", children: /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(Badge2, { variant: milestone.status === "paid" ? "success" : milestone.status === "overdue" ? "error" : milestone.status === "invoiced" ? "warning" : "default", children: milestone.status === "paid" ? "Pay\xE9" : milestone.status === "overdue" ? "En retard" : milestone.status === "invoiced" ? "Factur\xE9" : "En attente" }) })
|
|
24204
24231
|
] }, milestone.id)) })
|
|
24205
24232
|
] }) })
|
|
24206
24233
|
] }),
|
|
@@ -24299,7 +24326,7 @@ var ViewContractContent = ({
|
|
|
24299
24326
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("td", { className: "py-3 px-4", children: /* @__PURE__ */ (0, import_jsx_runtime91.jsx)("span", { className: "font-mono text-sm font-semibold text-[#78a6d2]", children: item.reference }) }),
|
|
24300
24327
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsxs)("td", { className: "py-3 px-4", children: [
|
|
24301
24328
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("p", { className: "font-medium text-gray-900", children: item.designation }),
|
|
24302
|
-
item.category && /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(
|
|
24329
|
+
item.category && /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(Badge2, { variant: "secondary", className: "mt-1 text-xs", children: item.category }),
|
|
24303
24330
|
item.notes && /* @__PURE__ */ (0, import_jsx_runtime91.jsx)("p", { className: "text-xs text-gray-500 mt-1", children: item.notes })
|
|
24304
24331
|
] }),
|
|
24305
24332
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("td", { className: "py-3 px-4 text-center", children: item.unit }),
|
|
@@ -24308,7 +24335,7 @@ var ViewContractContent = ({
|
|
|
24308
24335
|
item.vatRate,
|
|
24309
24336
|
"%"
|
|
24310
24337
|
] }),
|
|
24311
|
-
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("td", { className: "py-3 px-4 text-center", children: item.discount && item.discount > 0 ? /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)(
|
|
24338
|
+
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("td", { className: "py-3 px-4 text-center", children: item.discount && item.discount > 0 ? /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)(Badge2, { variant: "success", children: [
|
|
24312
24339
|
"-",
|
|
24313
24340
|
item.discount,
|
|
24314
24341
|
"%"
|
|
@@ -24427,7 +24454,7 @@ var ViewContractContent = ({
|
|
|
24427
24454
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("p", { className: "text-xs text-gray-600", children: "Destination" })
|
|
24428
24455
|
] })
|
|
24429
24456
|
] }),
|
|
24430
|
-
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("div", { className: "mt-4 text-center", children: /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)(
|
|
24457
|
+
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("div", { className: "mt-4 text-center", children: /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)(Badge2, { variant: "info", children: [
|
|
24431
24458
|
"Transfert des risques: ",
|
|
24432
24459
|
contract.incoterm
|
|
24433
24460
|
] }) })
|
|
@@ -24450,7 +24477,7 @@ var ViewContractContent = ({
|
|
|
24450
24477
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("h4", { className: "font-medium text-gray-900", children: guarantee.type === "performance_bond" ? "Garantie de bonne ex\xE9cution" : guarantee.type === "advance_payment" ? "Garantie de restitution d'acompte" : guarantee.type === "retention" ? "Garantie de retenue" : guarantee.type === "bid_bond" ? "Garantie de soumission" : guarantee.type === "warranty" ? "Garantie de maintenance" : guarantee.type === "bank_guarantee" ? "Garantie bancaire" : "Garantie soci\xE9t\xE9 m\xE8re" }),
|
|
24451
24478
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("p", { className: "text-sm text-gray-500", children: guarantee.description })
|
|
24452
24479
|
] }),
|
|
24453
|
-
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)(
|
|
24480
|
+
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)(Badge2, { variant: guarantee.status === "active" ? "success" : guarantee.status === "released" ? "info" : guarantee.status === "expired" ? "error" : guarantee.status === "called" ? "error" : "default", children: guarantee.status === "active" ? "Active" : guarantee.status === "released" ? "Lib\xE9r\xE9e" : guarantee.status === "expired" ? "Expir\xE9e" : guarantee.status === "called" ? "Appel\xE9e" : "En attente" })
|
|
24454
24481
|
] }),
|
|
24455
24482
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsxs)("div", { className: "grid grid-cols-2 md:grid-cols-4 gap-4 text-sm", children: [
|
|
24456
24483
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsxs)("div", { children: [
|
|
@@ -24495,7 +24522,7 @@ var ViewContractContent = ({
|
|
|
24495
24522
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("h4", { className: "font-medium text-gray-900", children: insurance.type === "liability" ? "Responsabilit\xE9 civile" : insurance.type === "professional" ? "Responsabilit\xE9 professionnelle" : insurance.type === "property" ? "Assurance biens" : insurance.type === "cyber" ? "Cyber-assurance" : insurance.type === "product" ? "Responsabilit\xE9 produit" : insurance.type === "environmental" ? "Assurance environnementale" : insurance.type === "workers_comp" ? "Accidents du travail" : "Assurance automobile" }),
|
|
24496
24523
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("p", { className: "text-sm text-gray-500", children: insurance.description })
|
|
24497
24524
|
] }),
|
|
24498
|
-
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)(
|
|
24525
|
+
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)(Badge2, { variant: insurance.status === "compliant" ? "success" : insurance.status === "expired" ? "error" : insurance.status === "non_compliant" ? "error" : insurance.status === "pending" ? "warning" : "default", children: insurance.status === "compliant" ? "Conforme" : insurance.status === "expired" ? "Expir\xE9e" : insurance.status === "non_compliant" ? "Non conforme" : insurance.status === "pending" ? "En attente" : "Requise" })
|
|
24499
24526
|
] }),
|
|
24500
24527
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsxs)("div", { className: "grid grid-cols-2 md:grid-cols-4 gap-4 text-sm", children: [
|
|
24501
24528
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsxs)("div", { children: [
|
|
@@ -24582,7 +24609,7 @@ var ViewContractContent = ({
|
|
|
24582
24609
|
] })
|
|
24583
24610
|
] }),
|
|
24584
24611
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsxs)("div", { className: "text-right", children: [
|
|
24585
|
-
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)(
|
|
24612
|
+
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)(Badge2, { variant: approver.status === "approved" ? "success" : approver.status === "rejected" ? "error" : "default", children: approver.status === "approved" ? "Approuv\xE9" : approver.status === "rejected" ? "Rejet\xE9" : "En attente" }),
|
|
24586
24613
|
approver.approvalDate && /* @__PURE__ */ (0, import_jsx_runtime91.jsx)("p", { className: "text-xs text-gray-500 mt-1", children: formatDate2(approver.approvalDate) })
|
|
24587
24614
|
] })
|
|
24588
24615
|
] }, index)) })
|
|
@@ -24601,7 +24628,7 @@ var ViewContractContent = ({
|
|
|
24601
24628
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("th", { className: "text-center py-2 text-gray-500", children: "D\xE9lai r\xE9ponse" })
|
|
24602
24629
|
] }) }),
|
|
24603
24630
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("tbody", { children: contract.governance.escalationMatrix.map((level, index) => /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)("tr", { className: "border-b border-gray-100", children: [
|
|
24604
|
-
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("td", { className: "py-3", children: /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)(
|
|
24631
|
+
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("td", { className: "py-3", children: /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)(Badge2, { variant: level.level === 1 ? "info" : level.level === 2 ? "warning" : "error", children: [
|
|
24605
24632
|
"Niveau ",
|
|
24606
24633
|
level.level
|
|
24607
24634
|
] }) }),
|
|
@@ -24625,7 +24652,7 @@ var ViewContractContent = ({
|
|
|
24625
24652
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("p", { className: "font-medium text-gray-900", children: member.name }),
|
|
24626
24653
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("p", { className: "text-xs text-gray-500", children: member.role })
|
|
24627
24654
|
] }),
|
|
24628
|
-
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)(
|
|
24655
|
+
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)(Badge2, { variant: member.organization === "buyer" ? "info" : "secondary", children: member.organization === "buyer" ? "Acheteur" : "Fournisseur" })
|
|
24629
24656
|
] }, index)) })
|
|
24630
24657
|
] }),
|
|
24631
24658
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsxs)("div", { children: [
|
|
@@ -24684,7 +24711,7 @@ var ViewContractContent = ({
|
|
|
24684
24711
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsxs)("div", { className: "border border-gray-200 rounded-lg p-4", children: [
|
|
24685
24712
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsxs)("div", { className: "flex items-center justify-between mb-3", children: [
|
|
24686
24713
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("h4", { className: "font-medium text-gray-900", children: "RGPD" }),
|
|
24687
|
-
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)(
|
|
24714
|
+
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)(Badge2, { variant: contract.regulatoryCompliance.gdprCompliance?.status === "compliant" ? "success" : contract.regulatoryCompliance.gdprCompliance?.status === "not_applicable" ? "default" : "error", children: contract.regulatoryCompliance.gdprCompliance?.status === "compliant" ? "Conforme" : contract.regulatoryCompliance.gdprCompliance?.status === "not_applicable" ? "N/A" : "Non conforme" })
|
|
24688
24715
|
] }),
|
|
24689
24716
|
contract.regulatoryCompliance.gdprCompliance?.applicable && /* @__PURE__ */ (0, import_jsx_runtime91.jsx)("div", { className: "space-y-2 text-sm", children: /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)("div", { className: "flex items-center", children: [
|
|
24690
24717
|
contract.regulatoryCompliance.gdprCompliance.dataProcessingAgreement ? /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(import_lucide_react65.CheckCircle, { className: "w-4 h-4 text-green-500 mr-2" }) : /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(import_lucide_react65.AlertCircle, { className: "w-4 h-4 text-red-500 mr-2" }),
|
|
@@ -24694,7 +24721,7 @@ var ViewContractContent = ({
|
|
|
24694
24721
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsxs)("div", { className: "border border-gray-200 rounded-lg p-4", children: [
|
|
24695
24722
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsxs)("div", { className: "flex items-center justify-between mb-3", children: [
|
|
24696
24723
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("h4", { className: "font-medium text-gray-900", children: "Anti-corruption" }),
|
|
24697
|
-
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)(
|
|
24724
|
+
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)(Badge2, { variant: contract.regulatoryCompliance.antiCorruption?.status === "compliant" ? "success" : contract.regulatoryCompliance.antiCorruption?.status === "not_applicable" ? "default" : "error", children: contract.regulatoryCompliance.antiCorruption?.status === "compliant" ? "Conforme" : contract.regulatoryCompliance.antiCorruption?.status === "not_applicable" ? "N/A" : "Non conforme" })
|
|
24698
24725
|
] }),
|
|
24699
24726
|
contract.regulatoryCompliance.antiCorruption?.applicable && /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)("div", { className: "space-y-2 text-sm", children: [
|
|
24700
24727
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsxs)("div", { className: "flex items-center", children: [
|
|
@@ -24710,7 +24737,7 @@ var ViewContractContent = ({
|
|
|
24710
24737
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsxs)("div", { className: "border border-gray-200 rounded-lg p-4", children: [
|
|
24711
24738
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsxs)("div", { className: "flex items-center justify-between mb-3", children: [
|
|
24712
24739
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("h4", { className: "font-medium text-gray-900", children: "Sanctions" }),
|
|
24713
|
-
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)(
|
|
24740
|
+
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)(Badge2, { variant: contract.regulatoryCompliance.sanctionsScreening?.status === "clear" ? "success" : contract.regulatoryCompliance.sanctionsScreening?.status === "pending" ? "warning" : "error", children: contract.regulatoryCompliance.sanctionsScreening?.status === "clear" ? "OK" : contract.regulatoryCompliance.sanctionsScreening?.status === "pending" ? "En cours" : contract.regulatoryCompliance.sanctionsScreening?.status === "flagged" ? "Signal\xE9" : "Bloqu\xE9" })
|
|
24714
24741
|
] }),
|
|
24715
24742
|
contract.regulatoryCompliance.sanctionsScreening?.lastScreeningDate && /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)("p", { className: "text-sm text-gray-500", children: [
|
|
24716
24743
|
"Dernier contr\xF4le: ",
|
|
@@ -24737,7 +24764,7 @@ var ViewContractContent = ({
|
|
|
24737
24764
|
"Score: ",
|
|
24738
24765
|
risk.riskScore
|
|
24739
24766
|
] }),
|
|
24740
|
-
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)(
|
|
24767
|
+
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)(Badge2, { variant: risk.mitigationStatus === "implemented" ? "success" : risk.mitigationStatus === "in_progress" ? "warning" : "default", children: risk.mitigationStatus === "implemented" ? "Mitig\xE9" : risk.mitigationStatus === "in_progress" ? "En cours" : risk.mitigationStatus === "monitoring" ? "Surveillance" : "Planifi\xE9" })
|
|
24741
24768
|
] })
|
|
24742
24769
|
] }),
|
|
24743
24770
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("p", { className: "text-sm text-gray-600 mb-2", children: risk.description }),
|
|
@@ -24829,7 +24856,7 @@ var ViewContractContent = ({
|
|
|
24829
24856
|
] }),
|
|
24830
24857
|
contract.esgCriteria.environmental?.certifications && contract.esgCriteria.environmental.certifications.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)("div", { className: "mt-3 pt-3 border-t border-gray-200", children: [
|
|
24831
24858
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("p", { className: "text-xs text-gray-500 mb-2", children: "Certifications" }),
|
|
24832
|
-
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("div", { className: "flex flex-wrap gap-1", children: contract.esgCriteria.environmental.certifications.map((cert, i) => /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(
|
|
24859
|
+
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("div", { className: "flex flex-wrap gap-1", children: contract.esgCriteria.environmental.certifications.map((cert, i) => /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(Badge2, { variant: "secondary", className: "text-xs", children: cert }, i)) })
|
|
24833
24860
|
] })
|
|
24834
24861
|
] })
|
|
24835
24862
|
] }),
|
|
@@ -24857,7 +24884,7 @@ var ViewContractContent = ({
|
|
|
24857
24884
|
] }),
|
|
24858
24885
|
contract.esgCriteria.social?.certifications && contract.esgCriteria.social.certifications.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)("div", { className: "mt-3 pt-3 border-t border-gray-200", children: [
|
|
24859
24886
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("p", { className: "text-xs text-gray-500 mb-2", children: "Certifications" }),
|
|
24860
|
-
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("div", { className: "flex flex-wrap gap-1", children: contract.esgCriteria.social.certifications.map((cert, i) => /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(
|
|
24887
|
+
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("div", { className: "flex flex-wrap gap-1", children: contract.esgCriteria.social.certifications.map((cert, i) => /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(Badge2, { variant: "secondary", className: "text-xs", children: cert }, i)) })
|
|
24861
24888
|
] })
|
|
24862
24889
|
] })
|
|
24863
24890
|
] }),
|
|
@@ -24890,8 +24917,8 @@ var ViewContractContent = ({
|
|
|
24890
24917
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("h3", { className: "text-lg font-semibold text-gray-900 mb-4", children: "Alignement avec les Objectifs de D\xE9veloppement Durable (ODD)" }),
|
|
24891
24918
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("div", { className: "flex flex-wrap gap-2", children: contract.esgCriteria.sdgAlignment.map((sdg) => /* @__PURE__ */ (0, import_jsx_runtime91.jsx)("div", { className: "px-3 py-2 bg-blue-50 rounded-lg text-center", children: /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)("p", { className: "text-lg font-bold text-blue-600", children: [
|
|
24892
24919
|
"ODD ",
|
|
24893
|
-
sdg
|
|
24894
|
-
] }) }, sdg)) })
|
|
24920
|
+
sdg.goal
|
|
24921
|
+
] }) }, sdg.goal)) })
|
|
24895
24922
|
] })
|
|
24896
24923
|
] }) : /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)(RewiseCard, { className: "p-8 text-center", children: [
|
|
24897
24924
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)(import_lucide_react65.Leaf, { className: "w-16 h-16 text-gray-400 mx-auto mb-4" }),
|
|
@@ -24924,11 +24951,11 @@ var ViewContractContent = ({
|
|
|
24924
24951
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsxs)("div", { className: "flex-1", children: [
|
|
24925
24952
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsxs)("div", { className: "flex items-center space-x-2 mb-1", children: [
|
|
24926
24953
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("h4", { className: "font-medium text-gray-900", children: obligation.title }),
|
|
24927
|
-
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)(
|
|
24954
|
+
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)(Badge2, { variant: obligation.obligor === "buyer" ? "info" : obligation.obligor === "supplier" ? "secondary" : "default", children: obligation.obligor === "buyer" ? "Acheteur" : obligation.obligor === "supplier" ? "Fournisseur" : "Partag\xE9e" })
|
|
24928
24955
|
] }),
|
|
24929
24956
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("p", { className: "text-sm text-gray-600", children: obligation.description })
|
|
24930
24957
|
] }),
|
|
24931
|
-
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)(
|
|
24958
|
+
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)(Badge2, { variant: obligation.status === "completed" ? "success" : obligation.status === "overdue" ? "error" : obligation.status === "in_progress" ? "warning" : "default", children: obligation.status === "completed" ? "Termin\xE9e" : obligation.status === "overdue" ? "En retard" : obligation.status === "in_progress" ? "En cours" : obligation.status === "waived" ? "Annul\xE9e" : "En attente" })
|
|
24932
24959
|
] }),
|
|
24933
24960
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsxs)("div", { className: "flex items-center space-x-4 text-sm text-gray-500", children: [
|
|
24934
24961
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("span", { className: "capitalize", children: obligation.type.replace("_", " ") }),
|
|
@@ -24950,7 +24977,7 @@ var ViewContractContent = ({
|
|
|
24950
24977
|
obligation.responsiblePerson
|
|
24951
24978
|
] })
|
|
24952
24979
|
] }),
|
|
24953
|
-
obligation.priority === "critical" || obligation.priority === "high" ? /* @__PURE__ */ (0, import_jsx_runtime91.jsx)("div", { className: "mt-2", children: /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)(
|
|
24980
|
+
obligation.priority === "critical" || obligation.priority === "high" ? /* @__PURE__ */ (0, import_jsx_runtime91.jsx)("div", { className: "mt-2", children: /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)(Badge2, { variant: obligation.priority === "critical" ? "error" : "warning", children: [
|
|
24954
24981
|
"Priorit\xE9 ",
|
|
24955
24982
|
obligation.priority === "critical" ? "critique" : "haute"
|
|
24956
24983
|
] }) }) : null
|
|
@@ -24968,7 +24995,7 @@ var ViewContractContent = ({
|
|
|
24968
24995
|
contract.sla_indicators?.length || 0,
|
|
24969
24996
|
")"
|
|
24970
24997
|
] }),
|
|
24971
|
-
onOpenSLA && /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)(
|
|
24998
|
+
onOpenSLA && /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)(Button, { onClick: () => onOpenSLA(contract), children: [
|
|
24972
24999
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)(import_lucide_react65.BarChart3, { className: "w-4 h-4 mr-2" }),
|
|
24973
25000
|
"G\xE9rer les SLA"
|
|
24974
25001
|
] })
|
|
@@ -24979,41 +25006,41 @@ var ViewContractContent = ({
|
|
|
24979
25006
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("h4", { className: "font-medium text-gray-900", children: sla.name }),
|
|
24980
25007
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("p", { className: "text-sm text-gray-500", children: sla.description })
|
|
24981
25008
|
] }),
|
|
24982
|
-
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)(
|
|
25009
|
+
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)(Badge2, { variant: sla.status === "achieved" ? "success" : sla.status === "warning" ? "warning" : "error", children: sla.status === "achieved" ? "Atteint" : sla.status === "warning" ? "Attention" : "Non atteint" })
|
|
24983
25010
|
] }),
|
|
24984
25011
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsxs)("div", { className: "mb-3", children: [
|
|
24985
25012
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsxs)("div", { className: "flex items-center justify-between text-sm mb-1", children: [
|
|
24986
25013
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("span", { className: "text-gray-500", children: "Performance" }),
|
|
24987
25014
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsxs)("span", { className: "font-medium", children: [
|
|
24988
|
-
sla.
|
|
25015
|
+
sla.current_value || 0,
|
|
24989
25016
|
" / ",
|
|
24990
|
-
sla.
|
|
25017
|
+
sla.target_value,
|
|
24991
25018
|
" ",
|
|
24992
|
-
sla.
|
|
25019
|
+
sla.measurement_unit
|
|
24993
25020
|
] })
|
|
24994
25021
|
] }),
|
|
24995
25022
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("div", { className: "bg-gray-200 rounded-full h-2", children: /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(
|
|
24996
25023
|
"div",
|
|
24997
25024
|
{
|
|
24998
25025
|
className: `h-2 rounded-full ${sla.status === "achieved" ? "bg-green-500" : sla.status === "warning" ? "bg-yellow-500" : "bg-red-500"}`,
|
|
24999
|
-
style: { width: `${Math.min(100, (sla.
|
|
25026
|
+
style: { width: `${Math.min(100, (sla.current_value || 0) / (sla.target_value || 1) * 100)}%` }
|
|
25000
25027
|
}
|
|
25001
25028
|
) })
|
|
25002
25029
|
] }),
|
|
25003
25030
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsxs)("div", { className: "flex items-center space-x-4 text-sm text-gray-500", children: [
|
|
25004
25031
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsxs)("span", { children: [
|
|
25005
25032
|
"Fr\xE9quence: ",
|
|
25006
|
-
sla.
|
|
25033
|
+
sla.measurement_frequency === "daily" ? "Quotidien" : sla.measurement_frequency === "weekly" ? "Hebdomadaire" : sla.measurement_frequency === "monthly" ? "Mensuel" : sla.measurement_frequency === "quarterly" ? "Trimestriel" : "Annuel"
|
|
25007
25034
|
] }),
|
|
25008
|
-
sla.
|
|
25035
|
+
sla.last_evaluation && /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)("span", { children: [
|
|
25009
25036
|
"Derni\xE8re mesure: ",
|
|
25010
|
-
formatDate2(sla.
|
|
25037
|
+
formatDate2(sla.last_evaluation)
|
|
25011
25038
|
] })
|
|
25012
25039
|
] })
|
|
25013
25040
|
] }, sla.id)) }) : /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)(RewiseCard, { className: "p-8 text-center", children: [
|
|
25014
25041
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)(import_lucide_react65.TrendingUp, { className: "w-12 h-12 text-gray-400 mx-auto mb-4" }),
|
|
25015
25042
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("p", { className: "text-gray-500 mb-4", children: "Aucun indicateur SLA d\xE9fini pour ce contrat" }),
|
|
25016
|
-
onOpenSLA && /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)(
|
|
25043
|
+
onOpenSLA && /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)(Button, { onClick: () => onOpenSLA(contract), children: [
|
|
25017
25044
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)(import_lucide_react65.Target, { className: "w-4 h-4 mr-2" }),
|
|
25018
25045
|
"Configurer les SLA"
|
|
25019
25046
|
] })
|
|
@@ -25080,15 +25107,15 @@ var ViewContractContent = ({
|
|
|
25080
25107
|
] }),
|
|
25081
25108
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsxs)("div", { className: "flex items-center gap-6", children: [
|
|
25082
25109
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsxs)("div", { className: "flex items-center gap-2", children: [
|
|
25083
|
-
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)(
|
|
25110
|
+
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)(Badge2, { variant: "success", children: /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)("span", { className: "flex items-center gap-1", children: [
|
|
25084
25111
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)(import_lucide_react65.CheckCircle, { className: "w-3 h-3" }),
|
|
25085
25112
|
session.achieved_count
|
|
25086
25113
|
] }) }),
|
|
25087
|
-
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)(
|
|
25114
|
+
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)(Badge2, { variant: "warning", children: /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)("span", { className: "flex items-center gap-1", children: [
|
|
25088
25115
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)(import_lucide_react65.AlertTriangle, { className: "w-3 h-3" }),
|
|
25089
25116
|
session.warning_count
|
|
25090
25117
|
] }) }),
|
|
25091
|
-
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)(
|
|
25118
|
+
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)(Badge2, { variant: "danger", children: /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)("span", { className: "flex items-center gap-1", children: [
|
|
25092
25119
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)(import_lucide_react65.AlertCircle, { className: "w-3 h-3" }),
|
|
25093
25120
|
session.failed_count
|
|
25094
25121
|
] }) })
|
|
@@ -25117,7 +25144,7 @@ var ViewContractContent = ({
|
|
|
25117
25144
|
] })
|
|
25118
25145
|
] });
|
|
25119
25146
|
})(),
|
|
25120
|
-
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)(
|
|
25147
|
+
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)(Badge2, { variant: session.status === "validated" ? "success" : session.status === "completed" ? "info" : "default", children: session.status === "validated" ? "Valid\xE9e" : session.status === "completed" ? "Termin\xE9e" : "Brouillon" }),
|
|
25121
25148
|
session.evaluated_by_name && /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)("div", { className: "flex items-center gap-1 text-sm text-gray-500", children: [
|
|
25122
25149
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)(import_lucide_react65.User, { className: "w-4 h-4" }),
|
|
25123
25150
|
session.evaluated_by_name
|
|
@@ -25190,7 +25217,7 @@ var ViewContractContent = ({
|
|
|
25190
25217
|
]
|
|
25191
25218
|
}
|
|
25192
25219
|
) }),
|
|
25193
|
-
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("td", { className: "px-4 py-2 text-center", children: /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(
|
|
25220
|
+
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("td", { className: "px-4 py-2 text-center", children: /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(Badge2, { variant: evaluation.status === "achieved" ? "success" : evaluation.status === "warning" ? "warning" : "danger", children: evaluation.status === "achieved" ? "Atteint" : evaluation.status === "warning" ? "Attention" : "Non atteint" }) }),
|
|
25194
25221
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("td", { className: "px-4 py-2 truncate max-w-xs text-gray-500", children: evaluation.comments || "-" })
|
|
25195
25222
|
] }, evaluation.id);
|
|
25196
25223
|
}) })
|
|
@@ -25224,9 +25251,9 @@ var ViewContractContent = ({
|
|
|
25224
25251
|
] })
|
|
25225
25252
|
] }),
|
|
25226
25253
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsxs)("div", { className: "flex items-center space-x-2", children: [
|
|
25227
|
-
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)(
|
|
25228
|
-
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)(
|
|
25229
|
-
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)(
|
|
25254
|
+
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)(Badge2, { variant: "default", children: doc.type === "contract" ? "Contrat" : doc.type === "annex" ? "Annexe" : doc.type === "amendment" ? "Avenant" : doc.type === "sla" ? "SLA" : doc.type === "evaluation" ? "\xC9valuation" : doc.type === "certificate" ? "Certificat" : "Autre" }),
|
|
25255
|
+
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)(Button, { variant: "text", size: "sm", children: /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(import_lucide_react65.Eye, { className: "w-4 h-4" }) }),
|
|
25256
|
+
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)(Button, { variant: "text", size: "sm", children: /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(import_lucide_react65.Download, { className: "w-4 h-4" }) })
|
|
25230
25257
|
] })
|
|
25231
25258
|
] }) }, doc.id)) })
|
|
25232
25259
|
] }) : /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)(RewiseCard, { className: "p-8 text-center", children: [
|
|
@@ -25245,7 +25272,7 @@ var ViewContractContent = ({
|
|
|
25245
25272
|
"Avenant ",
|
|
25246
25273
|
amendment.number
|
|
25247
25274
|
] }),
|
|
25248
|
-
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)(
|
|
25275
|
+
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)(Badge2, { variant: amendment.status === "active" ? "success" : amendment.status === "approved" ? "info" : "default", children: amendment.status === "active" ? "Actif" : amendment.status === "approved" ? "Approuv\xE9" : "Brouillon" })
|
|
25249
25276
|
] }),
|
|
25250
25277
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("p", { className: "text-sm text-gray-600 mb-2", children: amendment.description }),
|
|
25251
25278
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsxs)("p", { className: "text-xs text-gray-500", children: [
|
|
@@ -25294,14 +25321,14 @@ var ViewContractContent = ({
|
|
|
25294
25321
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsxs)("p", { className: "text-sm text-[#283042]/60 mt-1", children: [
|
|
25295
25322
|
contract.number,
|
|
25296
25323
|
" \u2022 ",
|
|
25297
|
-
contract.supplier_details?.
|
|
25324
|
+
contract.supplier_details?.legal_name || "Fournisseur non d\xE9fini"
|
|
25298
25325
|
] })
|
|
25299
25326
|
] }),
|
|
25300
|
-
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)(
|
|
25327
|
+
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)(Badge2, { variant: getStatusVariant(contract.status), children: contractStatusLabels[contract.status] })
|
|
25301
25328
|
] }),
|
|
25302
25329
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsxs)("div", { className: "flex items-center space-x-2", children: [
|
|
25303
25330
|
onEdit && /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)(
|
|
25304
|
-
|
|
25331
|
+
Button,
|
|
25305
25332
|
{
|
|
25306
25333
|
variant: "outline",
|
|
25307
25334
|
size: "sm",
|
|
@@ -25313,7 +25340,7 @@ var ViewContractContent = ({
|
|
|
25313
25340
|
}
|
|
25314
25341
|
),
|
|
25315
25342
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsxs)(
|
|
25316
|
-
|
|
25343
|
+
Button,
|
|
25317
25344
|
{
|
|
25318
25345
|
variant: "outline",
|
|
25319
25346
|
size: "sm",
|
|
@@ -25325,7 +25352,7 @@ var ViewContractContent = ({
|
|
|
25325
25352
|
}
|
|
25326
25353
|
),
|
|
25327
25354
|
onDelete && /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)(
|
|
25328
|
-
|
|
25355
|
+
Button,
|
|
25329
25356
|
{
|
|
25330
25357
|
variant: "outline",
|
|
25331
25358
|
size: "sm",
|
|
@@ -25352,7 +25379,7 @@ var ViewContractContent = ({
|
|
|
25352
25379
|
] })
|
|
25353
25380
|
] }),
|
|
25354
25381
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsxs)(
|
|
25355
|
-
|
|
25382
|
+
Button,
|
|
25356
25383
|
{
|
|
25357
25384
|
variant: "outline",
|
|
25358
25385
|
size: "sm",
|
|
@@ -25389,7 +25416,7 @@ var ViewContractContent = ({
|
|
|
25389
25416
|
] }),
|
|
25390
25417
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsxs)("div", { className: "flex items-center justify-end space-x-3 p-6 border-t border-gray-200", children: [
|
|
25391
25418
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsxs)(
|
|
25392
|
-
|
|
25419
|
+
Button,
|
|
25393
25420
|
{
|
|
25394
25421
|
variant: "outline",
|
|
25395
25422
|
onClick: () => handleAction("archive"),
|
|
@@ -25401,7 +25428,7 @@ var ViewContractContent = ({
|
|
|
25401
25428
|
}
|
|
25402
25429
|
),
|
|
25403
25430
|
isExpiringSoon && /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)(
|
|
25404
|
-
|
|
25431
|
+
Button,
|
|
25405
25432
|
{
|
|
25406
25433
|
variant: "primary",
|
|
25407
25434
|
onClick: () => handleAction("renew"),
|
|
@@ -27522,7 +27549,7 @@ var ContractModal = ({
|
|
|
27522
27549
|
};
|
|
27523
27550
|
if (mode === "view") {
|
|
27524
27551
|
return /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(
|
|
27525
|
-
|
|
27552
|
+
Modal,
|
|
27526
27553
|
{
|
|
27527
27554
|
title: contractData?.title ?? "",
|
|
27528
27555
|
open: isOpen,
|
|
@@ -27542,7 +27569,7 @@ var ContractModal = ({
|
|
|
27542
27569
|
);
|
|
27543
27570
|
}
|
|
27544
27571
|
return /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(
|
|
27545
|
-
|
|
27572
|
+
Modal,
|
|
27546
27573
|
{
|
|
27547
27574
|
title: mode === "edit" ? "Modifier le Contrat" : "Cr\xE9er un Nouveau Contrat",
|
|
27548
27575
|
open: isOpen,
|
|
@@ -27567,7 +27594,7 @@ var ContractModal = ({
|
|
|
27567
27594
|
var import_react75 = require("react");
|
|
27568
27595
|
var import_lucide_react67 = require("lucide-react");
|
|
27569
27596
|
var import_jsx_runtime94 = require("react/jsx-runtime");
|
|
27570
|
-
var
|
|
27597
|
+
var Badge3 = ({
|
|
27571
27598
|
children,
|
|
27572
27599
|
className = "",
|
|
27573
27600
|
variant = "default"
|
|
@@ -27621,7 +27648,7 @@ var ContractReportsModal = ({
|
|
|
27621
27648
|
(c) => (c.supplier_details?.id?.toString() || c.supplier?.toString()) === supplierId
|
|
27622
27649
|
);
|
|
27623
27650
|
return {
|
|
27624
|
-
supplier: contract?.supplier_details || { id: Number(supplierId),
|
|
27651
|
+
supplier: contract?.supplier_details || { id: Number(supplierId), legal_name: "Inconnu", vendor_number: "" },
|
|
27625
27652
|
...stats
|
|
27626
27653
|
};
|
|
27627
27654
|
}).sort((a, b) => b.avgScore - a.avgScore);
|
|
@@ -27692,7 +27719,7 @@ var ContractReportsModal = ({
|
|
|
27692
27719
|
};
|
|
27693
27720
|
return /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)("div", { className: "flex items-center justify-between", children: [
|
|
27694
27721
|
/* @__PURE__ */ (0, import_jsx_runtime94.jsxs)("div", { className: "flex items-center space-x-3", children: [
|
|
27695
|
-
/* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
|
|
27722
|
+
/* @__PURE__ */ (0, import_jsx_runtime94.jsx)(Badge3, { variant: status === "active" ? "default" : "outline", children: statusLabels[status] || status }),
|
|
27696
27723
|
/* @__PURE__ */ (0, import_jsx_runtime94.jsxs)("span", { className: "text-sm text-gray-600", children: [
|
|
27697
27724
|
count,
|
|
27698
27725
|
" contrats"
|
|
@@ -27720,7 +27747,7 @@ var ContractReportsModal = ({
|
|
|
27720
27747
|
getExpiringContracts().slice(0, 5).map((contract) => /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)("div", { className: "flex items-center justify-between p-3 bg-orange-50 rounded-lg", children: [
|
|
27721
27748
|
/* @__PURE__ */ (0, import_jsx_runtime94.jsxs)("div", { children: [
|
|
27722
27749
|
/* @__PURE__ */ (0, import_jsx_runtime94.jsx)("p", { className: "font-medium", children: contract.number || contract.id }),
|
|
27723
|
-
/* @__PURE__ */ (0, import_jsx_runtime94.jsx)("p", { className: "text-sm text-gray-600", children: contract.supplier_details?.
|
|
27750
|
+
/* @__PURE__ */ (0, import_jsx_runtime94.jsx)("p", { className: "text-sm text-gray-600", children: contract.supplier_details?.legal_name || "Non d\xE9fini" })
|
|
27724
27751
|
] }),
|
|
27725
27752
|
/* @__PURE__ */ (0, import_jsx_runtime94.jsxs)("div", { className: "text-right", children: [
|
|
27726
27753
|
/* @__PURE__ */ (0, import_jsx_runtime94.jsx)("p", { className: "text-sm text-orange-600 font-medium", children: contract.end_date ? new Date(contract.end_date).toLocaleDateString("fr-FR") : "N/A" }),
|
|
@@ -27741,8 +27768,8 @@ var ContractReportsModal = ({
|
|
|
27741
27768
|
/* @__PURE__ */ (0, import_jsx_runtime94.jsx)("div", { className: "space-y-4", children: getSupplierPerformance().slice(0, 10).map((supplier) => /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)("div", { className: "flex items-center justify-between p-4 bg-gray-50 rounded-lg", children: [
|
|
27742
27769
|
/* @__PURE__ */ (0, import_jsx_runtime94.jsxs)("div", { className: "flex-1", children: [
|
|
27743
27770
|
/* @__PURE__ */ (0, import_jsx_runtime94.jsxs)("div", { className: "flex items-center space-x-3 mb-2", children: [
|
|
27744
|
-
/* @__PURE__ */ (0, import_jsx_runtime94.jsx)("h4", { className: "font-medium", children: supplier?.supplier?.
|
|
27745
|
-
/* @__PURE__ */ (0, import_jsx_runtime94.jsxs)(
|
|
27771
|
+
/* @__PURE__ */ (0, import_jsx_runtime94.jsx)("h4", { className: "font-medium", children: supplier?.supplier?.legal_name || "Non d\xE9fini" }),
|
|
27772
|
+
/* @__PURE__ */ (0, import_jsx_runtime94.jsxs)(Badge3, { variant: "outline", children: [
|
|
27746
27773
|
supplier.totalContracts,
|
|
27747
27774
|
" contrats"
|
|
27748
27775
|
] })
|
|
@@ -27761,7 +27788,7 @@ var ContractReportsModal = ({
|
|
|
27761
27788
|
] })
|
|
27762
27789
|
] })
|
|
27763
27790
|
] }),
|
|
27764
|
-
supplier.slaBreaches > 0 && /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("div", { className: "ml-4", children: /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)(
|
|
27791
|
+
supplier.slaBreaches > 0 && /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("div", { className: "ml-4", children: /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)(Badge3, { variant: "outline", className: "text-red-600", children: [
|
|
27765
27792
|
supplier.slaBreaches,
|
|
27766
27793
|
" violations SLA"
|
|
27767
27794
|
] }) })
|
|
@@ -27789,9 +27816,9 @@ var ContractReportsModal = ({
|
|
|
27789
27816
|
/* @__PURE__ */ (0, import_jsx_runtime94.jsxs)("div", { className: "flex items-start justify-between mb-3", children: [
|
|
27790
27817
|
/* @__PURE__ */ (0, import_jsx_runtime94.jsxs)("div", { children: [
|
|
27791
27818
|
/* @__PURE__ */ (0, import_jsx_runtime94.jsx)("h4", { className: "font-medium", children: contract.number || contract.id }),
|
|
27792
|
-
/* @__PURE__ */ (0, import_jsx_runtime94.jsx)("p", { className: "text-sm text-gray-600", children: contract.supplier_details?.
|
|
27819
|
+
/* @__PURE__ */ (0, import_jsx_runtime94.jsx)("p", { className: "text-sm text-gray-600", children: contract.supplier_details?.legal_name || "Non d\xE9fini" })
|
|
27793
27820
|
] }),
|
|
27794
|
-
/* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
|
|
27821
|
+
/* @__PURE__ */ (0, import_jsx_runtime94.jsx)(Badge3, { className: slaStatus === "achieved" ? "text-green-600 bg-green-100" : slaStatus === "warning" ? "text-yellow-600 bg-yellow-100" : "text-red-600 bg-red-100", children: slaStatus === "achieved" ? "Atteint" : slaStatus === "warning" ? "Attention" : slaStatus === "failed" ? "\xC9chou\xE9" : "N/A" })
|
|
27795
27822
|
] }),
|
|
27796
27823
|
/* @__PURE__ */ (0, import_jsx_runtime94.jsxs)("div", { className: "grid grid-cols-2 gap-4 text-sm", children: [
|
|
27797
27824
|
/* @__PURE__ */ (0, import_jsx_runtime94.jsxs)("div", { children: [
|
|
@@ -27825,7 +27852,7 @@ var ContractReportsModal = ({
|
|
|
27825
27852
|
/* @__PURE__ */ (0, import_jsx_runtime94.jsx)("div", { className: "space-y-4", children: getSupplierPerformance().map((supplier) => /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)("div", { className: "p-4 border rounded-lg", children: [
|
|
27826
27853
|
/* @__PURE__ */ (0, import_jsx_runtime94.jsxs)("div", { className: "flex items-start justify-between mb-4", children: [
|
|
27827
27854
|
/* @__PURE__ */ (0, import_jsx_runtime94.jsxs)("div", { children: [
|
|
27828
|
-
/* @__PURE__ */ (0, import_jsx_runtime94.jsx)("h4", { className: "font-medium text-lg", children: supplier?.supplier?.
|
|
27855
|
+
/* @__PURE__ */ (0, import_jsx_runtime94.jsx)("h4", { className: "font-medium text-lg", children: supplier?.supplier?.legal_name || "Non d\xE9fini" }),
|
|
27829
27856
|
/* @__PURE__ */ (0, import_jsx_runtime94.jsxs)("p", { className: "text-sm text-gray-600", children: [
|
|
27830
27857
|
supplier.totalContracts,
|
|
27831
27858
|
" contrat",
|
|
@@ -27847,7 +27874,7 @@ var ContractReportsModal = ({
|
|
|
27847
27874
|
] }),
|
|
27848
27875
|
/* @__PURE__ */ (0, import_jsx_runtime94.jsxs)("div", { children: [
|
|
27849
27876
|
/* @__PURE__ */ (0, import_jsx_runtime94.jsx)("p", { className: "text-sm text-gray-500", children: "Statut" }),
|
|
27850
|
-
/* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
|
|
27877
|
+
/* @__PURE__ */ (0, import_jsx_runtime94.jsx)(Badge3, { className: supplier.avgScore >= 80 ? "text-green-600 bg-green-100" : supplier.avgScore >= 60 ? "text-yellow-600 bg-yellow-100" : "text-red-600 bg-red-100", children: supplier.avgScore >= 80 ? "Excellent" : supplier.avgScore >= 60 ? "Satisfaisant" : "\uFFFD am\uFFFDliorer" })
|
|
27851
27878
|
] })
|
|
27852
27879
|
] })
|
|
27853
27880
|
] }, supplier?.supplier?.id || "unknown")) })
|
|
@@ -27905,7 +27932,7 @@ var ContractReportsModal = ({
|
|
|
27905
27932
|
};
|
|
27906
27933
|
}).sort((a, b) => b.totalValue - a.totalValue).slice(0, 10).map((supplier) => /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)("div", { className: "flex items-center justify-between", children: [
|
|
27907
27934
|
/* @__PURE__ */ (0, import_jsx_runtime94.jsxs)("div", { className: "flex items-center space-x-3", children: [
|
|
27908
|
-
/* @__PURE__ */ (0, import_jsx_runtime94.jsx)("span", { className: "font-medium", children: supplier?.supplier?.
|
|
27935
|
+
/* @__PURE__ */ (0, import_jsx_runtime94.jsx)("span", { className: "font-medium", children: supplier?.supplier?.legal_name || "Non d\xE9fini" }),
|
|
27909
27936
|
/* @__PURE__ */ (0, import_jsx_runtime94.jsxs)("span", { className: "text-sm text-gray-600", children: [
|
|
27910
27937
|
supplier.totalContracts,
|
|
27911
27938
|
" contrats"
|
|
@@ -27941,7 +27968,7 @@ var ContractReportsModal = ({
|
|
|
27941
27968
|
];
|
|
27942
27969
|
if (!isOpen) return null;
|
|
27943
27970
|
return /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
|
|
27944
|
-
|
|
27971
|
+
Modal,
|
|
27945
27972
|
{
|
|
27946
27973
|
open: isOpen,
|
|
27947
27974
|
onClose,
|
|
@@ -27985,12 +28012,13 @@ var ContractReportsModal = ({
|
|
|
27985
28012
|
var import_react76 = require("react");
|
|
27986
28013
|
var import_lucide_react68 = require("lucide-react");
|
|
27987
28014
|
var import_jsx_runtime95 = require("react/jsx-runtime");
|
|
27988
|
-
var
|
|
28015
|
+
var Button2 = ({ children, onClick, variant = "default", size = "md", className = "" }) => {
|
|
27989
28016
|
const baseStyles = "inline-flex items-center justify-center font-medium rounded-lg transition-colors";
|
|
27990
28017
|
const variantStyles2 = {
|
|
27991
28018
|
default: "bg-blue-600 text-white hover:bg-blue-700",
|
|
27992
28019
|
outline: "border border-gray-300 bg-white text-gray-700 hover:bg-gray-50",
|
|
27993
|
-
ghost: "text-gray-700 hover:bg-gray-100"
|
|
28020
|
+
ghost: "text-gray-700 hover:bg-gray-100",
|
|
28021
|
+
text: "text-gray-700 hover:bg-gray-100"
|
|
27994
28022
|
};
|
|
27995
28023
|
const sizeStyles = {
|
|
27996
28024
|
sm: "px-2 py-1 text-xs",
|
|
@@ -27999,7 +28027,7 @@ var Button3 = ({ children, onClick, variant = "default", size = "md", className
|
|
|
27999
28027
|
};
|
|
28000
28028
|
return /* @__PURE__ */ (0, import_jsx_runtime95.jsx)("button", { onClick, className: `${baseStyles} ${variantStyles2[variant]} ${sizeStyles[size]} ${className}`, children });
|
|
28001
28029
|
};
|
|
28002
|
-
var
|
|
28030
|
+
var Badge4 = ({
|
|
28003
28031
|
children,
|
|
28004
28032
|
className = "",
|
|
28005
28033
|
variant = "default"
|
|
@@ -28103,7 +28131,7 @@ var AlertsManagementModal = ({
|
|
|
28103
28131
|
type: "evaluation_due",
|
|
28104
28132
|
priority: "medium",
|
|
28105
28133
|
title: "\xC9valuation fournisseur requise",
|
|
28106
|
-
message: `Le fournisseur "${contract.supplier_details?.
|
|
28134
|
+
message: `Le fournisseur "${contract.supplier_details?.legal_name || "Non d\xE9fini"}" devrait \xEAtre \xE9valu\xE9 avant l'expiration du contrat`,
|
|
28107
28135
|
createdAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
28108
28136
|
isRead: false,
|
|
28109
28137
|
actions: ["schedule_evaluation"]
|
|
@@ -28251,22 +28279,22 @@ var AlertsManagementModal = ({
|
|
|
28251
28279
|
/* @__PURE__ */ (0, import_jsx_runtime95.jsxs)("div", { className: "flex-1", children: [
|
|
28252
28280
|
/* @__PURE__ */ (0, import_jsx_runtime95.jsxs)("div", { className: "flex items-center space-x-2 mb-1", children: [
|
|
28253
28281
|
/* @__PURE__ */ (0, import_jsx_runtime95.jsx)("h4", { className: "font-medium text-gray-900", children: alert2.title }),
|
|
28254
|
-
/* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
|
|
28255
|
-
/* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
|
|
28282
|
+
/* @__PURE__ */ (0, import_jsx_runtime95.jsx)(Badge4, { className: getPriorityColor(alert2.priority), children: getPriorityLabel(alert2.priority) }),
|
|
28283
|
+
/* @__PURE__ */ (0, import_jsx_runtime95.jsx)(Badge4, { variant: "outline", children: getAlertTypeLabel(alert2.type) })
|
|
28256
28284
|
] }),
|
|
28257
28285
|
/* @__PURE__ */ (0, import_jsx_runtime95.jsx)("p", { className: "text-sm text-gray-600 mb-2", children: alert2.message }),
|
|
28258
28286
|
contract && /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)("p", { className: "text-xs text-gray-500", children: [
|
|
28259
28287
|
"Contrat: ",
|
|
28260
28288
|
contract.number,
|
|
28261
28289
|
" - ",
|
|
28262
|
-
contract.supplier_details?.
|
|
28290
|
+
contract.supplier_details?.legal_name || "Non d\xE9fini"
|
|
28263
28291
|
] }),
|
|
28264
28292
|
/* @__PURE__ */ (0, import_jsx_runtime95.jsx)("p", { className: "text-xs text-gray-400", children: new Date(alert2.createdAt).toLocaleString("fr-FR") })
|
|
28265
28293
|
] })
|
|
28266
28294
|
] }),
|
|
28267
28295
|
/* @__PURE__ */ (0, import_jsx_runtime95.jsxs)("div", { className: "flex items-center space-x-2", children: [
|
|
28268
|
-
/* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
|
|
28269
|
-
/* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
|
|
28296
|
+
/* @__PURE__ */ (0, import_jsx_runtime95.jsx)(Button2, { variant: "text", size: "sm", onClick: () => markAsRead(alert2.id), children: alert2.isRead ? /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_lucide_react68.EyeOff, { className: "w-4 h-4" }) : /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_lucide_react68.Eye, { className: "w-4 h-4" }) }),
|
|
28297
|
+
/* @__PURE__ */ (0, import_jsx_runtime95.jsx)(Button2, { variant: "text", size: "sm", onClick: () => dismissAlert(alert2.id), children: /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_lucide_react68.X, { className: "w-4 h-4" }) })
|
|
28270
28298
|
] })
|
|
28271
28299
|
] }),
|
|
28272
28300
|
alert2.actions && alert2.actions.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)("div", { className: "flex items-center space-x-2 pt-2 border-t", children: [
|
|
@@ -28294,8 +28322,8 @@ var AlertsManagementModal = ({
|
|
|
28294
28322
|
/* @__PURE__ */ (0, import_jsx_runtime95.jsxs)("div", { className: "flex-1", children: [
|
|
28295
28323
|
/* @__PURE__ */ (0, import_jsx_runtime95.jsxs)("div", { className: "flex items-center space-x-3 mb-2", children: [
|
|
28296
28324
|
/* @__PURE__ */ (0, import_jsx_runtime95.jsx)("h4", { className: "font-medium text-lg", children: rule.name }),
|
|
28297
|
-
/* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
|
|
28298
|
-
/* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
|
|
28325
|
+
/* @__PURE__ */ (0, import_jsx_runtime95.jsx)(Badge4, { className: getPriorityColor(rule.priority), children: getPriorityLabel(rule.priority) }),
|
|
28326
|
+
/* @__PURE__ */ (0, import_jsx_runtime95.jsx)(Badge4, { variant: rule.isActive ? "default" : "outline", children: rule.isActive ? "Active" : "Inactive" })
|
|
28299
28327
|
] }),
|
|
28300
28328
|
/* @__PURE__ */ (0, import_jsx_runtime95.jsx)("p", { className: "text-gray-600 mb-3", children: rule.description }),
|
|
28301
28329
|
/* @__PURE__ */ (0, import_jsx_runtime95.jsxs)("div", { className: "flex items-center space-x-4 text-sm text-gray-500", children: [
|
|
@@ -28314,9 +28342,9 @@ var AlertsManagementModal = ({
|
|
|
28314
28342
|
] })
|
|
28315
28343
|
] }),
|
|
28316
28344
|
/* @__PURE__ */ (0, import_jsx_runtime95.jsxs)("div", { className: "flex items-center space-x-2", children: [
|
|
28317
|
-
/* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
|
|
28345
|
+
/* @__PURE__ */ (0, import_jsx_runtime95.jsx)(Button2, { variant: "text", size: "sm", children: /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_lucide_react68.Edit, { className: "w-4 h-4" }) }),
|
|
28318
28346
|
/* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
|
|
28319
|
-
|
|
28347
|
+
Button2,
|
|
28320
28348
|
{
|
|
28321
28349
|
variant: "text",
|
|
28322
28350
|
size: "sm",
|
|
@@ -28324,7 +28352,7 @@ var AlertsManagementModal = ({
|
|
|
28324
28352
|
children: rule.isActive ? /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_lucide_react68.EyeOff, { className: "w-4 h-4" }) : /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_lucide_react68.Eye, { className: "w-4 h-4" })
|
|
28325
28353
|
}
|
|
28326
28354
|
),
|
|
28327
|
-
/* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
|
|
28355
|
+
/* @__PURE__ */ (0, import_jsx_runtime95.jsx)(Button2, { variant: "text", size: "sm", className: "text-red-600", children: /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_lucide_react68.Trash2, { className: "w-4 h-4" }) })
|
|
28328
28356
|
] })
|
|
28329
28357
|
] }),
|
|
28330
28358
|
/* @__PURE__ */ (0, import_jsx_runtime95.jsxs)("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-4", children: [
|
|
@@ -28340,7 +28368,7 @@ var AlertsManagementModal = ({
|
|
|
28340
28368
|
] }),
|
|
28341
28369
|
/* @__PURE__ */ (0, import_jsx_runtime95.jsxs)("div", { children: [
|
|
28342
28370
|
/* @__PURE__ */ (0, import_jsx_runtime95.jsx)("h5", { className: "font-medium mb-2", children: "Actions" }),
|
|
28343
|
-
/* @__PURE__ */ (0, import_jsx_runtime95.jsx)("div", { className: "flex items-center space-x-2", children: rule.actions.map((action, index) => /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)(
|
|
28371
|
+
/* @__PURE__ */ (0, import_jsx_runtime95.jsx)("div", { className: "flex items-center space-x-2", children: rule.actions.map((action, index) => /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)(Badge4, { variant: "outline", children: [
|
|
28344
28372
|
action.type === "email" ? /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_lucide_react68.Mail, { className: "w-3 h-3 mr-1" }) : action.type === "sms" ? /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_lucide_react68.Smartphone, { className: "w-3 h-3 mr-1" }) : /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_lucide_react68.Bell, { className: "w-3 h-3 mr-1" }),
|
|
28345
28373
|
action.type
|
|
28346
28374
|
] }, index)) })
|
|
@@ -28421,7 +28449,7 @@ var AlertsManagementModal = ({
|
|
|
28421
28449
|
{ id: "settings", label: "Param\xE8tres", icon: import_lucide_react68.Settings }
|
|
28422
28450
|
];
|
|
28423
28451
|
if (!isOpen) return null;
|
|
28424
|
-
return /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
|
|
28452
|
+
return /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(Modal, { open: isOpen, onClose, width: "90%", title: "Gestion des alertes", description: "Surveillance et notifications automatiques", children: /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)("div", { className: "flex flex-col max-h-[85vh]", children: [
|
|
28425
28453
|
/* @__PURE__ */ (0, import_jsx_runtime95.jsx)("div", { className: "border-b", children: /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
|
|
28426
28454
|
Tabs,
|
|
28427
28455
|
{
|
|
@@ -28583,7 +28611,7 @@ var BulkSLAEvaluationModal = ({
|
|
|
28583
28611
|
borderColor: colors.border
|
|
28584
28612
|
};
|
|
28585
28613
|
return /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(
|
|
28586
|
-
|
|
28614
|
+
Modal,
|
|
28587
28615
|
{
|
|
28588
28616
|
title: "Session d'\xE9valuation SLA",
|
|
28589
28617
|
description: `${contract.supplier_details?.legal_name || "Fournisseur"} - ${contract.number}`,
|
|
@@ -30426,7 +30454,7 @@ var SLAManagementModal = ({
|
|
|
30426
30454
|
{ id: "notes", label: "Notes", icon: import_lucide_react70.MessageSquare }
|
|
30427
30455
|
];
|
|
30428
30456
|
return /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)(
|
|
30429
|
-
|
|
30457
|
+
Modal,
|
|
30430
30458
|
{
|
|
30431
30459
|
open: isOpen,
|
|
30432
30460
|
onClose,
|
|
@@ -30517,7 +30545,7 @@ var AddSLAIndicatorModal = ({
|
|
|
30517
30545
|
indicator,
|
|
30518
30546
|
isEdit = false
|
|
30519
30547
|
}) => {
|
|
30520
|
-
return /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(
|
|
30548
|
+
return /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(Modal, { open: isOpen, onClose, width: "w-[50vw]", title: isEdit ? "Modifier l'indicateur SLA" : "Ajouter un indicateur SLA", children: /* @__PURE__ */ (0, import_jsx_runtime97.jsx)("div", { className: "p-4", children: /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(
|
|
30521
30549
|
SLAIndicatorForm,
|
|
30522
30550
|
{
|
|
30523
30551
|
indicator,
|
|
@@ -30558,7 +30586,7 @@ var AddSLAEvaluationModal = ({
|
|
|
30558
30586
|
setComments("");
|
|
30559
30587
|
onClose();
|
|
30560
30588
|
};
|
|
30561
|
-
return /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(
|
|
30589
|
+
return /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(Modal, { open: isOpen, onClose, width: "w-[50vw]", title: "Ajouter une mesure SLA", children: /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)("form", { onSubmit: handleSubmit, className: "p-4 space-y-4", children: [
|
|
30562
30590
|
/* @__PURE__ */ (0, import_jsx_runtime97.jsxs)("div", { children: [
|
|
30563
30591
|
/* @__PURE__ */ (0, import_jsx_runtime97.jsx)("label", { className: "block text-sm font-medium mb-1", style: { color: colors.text.secondary }, children: "Indicateur" }),
|
|
30564
30592
|
/* @__PURE__ */ (0, import_jsx_runtime97.jsx)("p", { className: "font-medium", style: { color: colors.text.primary }, children: indicator.name }),
|
|
@@ -30770,7 +30798,7 @@ var SLAEvaluationForm = ({
|
|
|
30770
30798
|
{
|
|
30771
30799
|
label: "Date d'\xE9valuation *",
|
|
30772
30800
|
value: formData.evaluation_date || "",
|
|
30773
|
-
onChange: (
|
|
30801
|
+
onChange: (e) => handleInputChange("evaluation_date", e.target.value),
|
|
30774
30802
|
error: errors.evaluation_date
|
|
30775
30803
|
}
|
|
30776
30804
|
) }),
|
|
@@ -30779,7 +30807,7 @@ var SLAEvaluationForm = ({
|
|
|
30779
30807
|
{
|
|
30780
30808
|
label: `Valeur mesur\xE9e * (${indicator?.measurement_unit})`,
|
|
30781
30809
|
value: formData.value || 0,
|
|
30782
|
-
onChange: (
|
|
30810
|
+
onChange: (e) => handleInputChange("value", e.target.value),
|
|
30783
30811
|
step: 0.01,
|
|
30784
30812
|
min: 0,
|
|
30785
30813
|
error: errors.value
|
|
@@ -30818,8 +30846,8 @@ var SLAEvaluationForm = ({
|
|
|
30818
30846
|
{
|
|
30819
30847
|
label: "Mesur\xE9 par",
|
|
30820
30848
|
value: evaluatedByName,
|
|
30821
|
-
onChange: (
|
|
30822
|
-
setEvaluatedByName(value);
|
|
30849
|
+
onChange: (e) => {
|
|
30850
|
+
setEvaluatedByName(e.target.value);
|
|
30823
30851
|
if (errors.evaluated_by) {
|
|
30824
30852
|
const newErrors = { ...errors };
|
|
30825
30853
|
delete newErrors.evaluated_by;
|
|
@@ -30878,7 +30906,6 @@ var SLAEvaluationForm = ({
|
|
|
30878
30906
|
};
|
|
30879
30907
|
|
|
30880
30908
|
// src/components/contracts/components/AddSLAIndicatorModal.tsx
|
|
30881
|
-
var import_lucide_react71 = require("lucide-react");
|
|
30882
30909
|
var import_jsx_runtime99 = require("react/jsx-runtime");
|
|
30883
30910
|
var AddSLAIndicatorModal2 = ({
|
|
30884
30911
|
isOpen,
|
|
@@ -30892,26 +30919,20 @@ var AddSLAIndicatorModal2 = ({
|
|
|
30892
30919
|
onSubmit(indicatorData);
|
|
30893
30920
|
onClose();
|
|
30894
30921
|
};
|
|
30895
|
-
return /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(
|
|
30896
|
-
|
|
30897
|
-
|
|
30898
|
-
|
|
30899
|
-
|
|
30900
|
-
|
|
30901
|
-
|
|
30902
|
-
|
|
30903
|
-
|
|
30904
|
-
|
|
30905
|
-
onCancel: onClose,
|
|
30906
|
-
onShowToast,
|
|
30907
|
-
isEdit
|
|
30908
|
-
}
|
|
30909
|
-
) })
|
|
30910
|
-
] }) });
|
|
30922
|
+
return /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(Modals_default, { title: isEdit ? "Modifier l'indicateur SLA" : "Nouvel indicateur SLA", open: isOpen, onClose, width: "w-[80vw]", children: /* @__PURE__ */ (0, import_jsx_runtime99.jsx)("div", { className: "flex flex-col max-h-[75vh]", children: /* @__PURE__ */ (0, import_jsx_runtime99.jsx)("div", { className: "flex-1 overflow-y-auto", children: /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(
|
|
30923
|
+
SLAIndicatorForm,
|
|
30924
|
+
{
|
|
30925
|
+
indicator,
|
|
30926
|
+
onSubmit: handleSubmit,
|
|
30927
|
+
onCancel: onClose,
|
|
30928
|
+
onShowToast,
|
|
30929
|
+
isEdit
|
|
30930
|
+
}
|
|
30931
|
+
) }) }) });
|
|
30911
30932
|
};
|
|
30912
30933
|
|
|
30913
30934
|
// src/components/contracts/components/AddSLAEvaluationModal.tsx
|
|
30914
|
-
var
|
|
30935
|
+
var import_lucide_react71 = require("lucide-react");
|
|
30915
30936
|
var import_jsx_runtime100 = require("react/jsx-runtime");
|
|
30916
30937
|
var AddSLAEvaluationModal2 = ({
|
|
30917
30938
|
isOpen,
|
|
@@ -30928,7 +30949,7 @@ var AddSLAEvaluationModal2 = ({
|
|
|
30928
30949
|
onSubmit(evaluationData);
|
|
30929
30950
|
onClose();
|
|
30930
30951
|
};
|
|
30931
|
-
return /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(
|
|
30952
|
+
return /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(Modal, { title: isEdit ? "Modifier l'\xE9valuation SLA" : "Nouvelle \xE9valuation SLA", open: isOpen, onClose, width: "w-[900px]", children: /* @__PURE__ */ (0, import_jsx_runtime100.jsxs)("div", { className: "flex flex-col h-[80vh]", children: [
|
|
30932
30953
|
/* @__PURE__ */ (0, import_jsx_runtime100.jsxs)(
|
|
30933
30954
|
"div",
|
|
30934
30955
|
{
|
|
@@ -30950,7 +30971,7 @@ var AddSLAEvaluationModal2 = ({
|
|
|
30950
30971
|
e.currentTarget.style.color = colors.text.secondary;
|
|
30951
30972
|
e.currentTarget.style.backgroundColor = "transparent";
|
|
30952
30973
|
},
|
|
30953
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(
|
|
30974
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(import_lucide_react71.X, { className: "w-5 h-5" })
|
|
30954
30975
|
}
|
|
30955
30976
|
)
|
|
30956
30977
|
]
|