@paro.io/expert-shared-components 1.12.39 → 1.12.40
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/lib/components/Escalations/AccountSuspensionBanner.js +1 -1
- package/lib/components/Escalations/EscalationChat.js +1 -1
- package/lib/components/Escalations/EscalationIssueCard.js +18 -20
- package/lib/components/Escalations/EscalationReportBanner.js +1 -1
- package/lib/components/Escalations/EscalationRespondForm.js +1 -1
- package/lib/components/Escalations/EscalationSubmitForm.js +1 -1
- package/lib/components/Escalations/Escalations.js +1 -1
- package/package.json +1 -1
|
@@ -32,6 +32,6 @@ const AccountSuspensionBanner = ({ setShowSuspensionModal, suspended = false })
|
|
|
32
32
|
react_1.default.createElement("p", { className: "text-red-100 text-sm mt-1" }, "Unresolved escalations can lead to automatic suspension. Response times matter for client satisfaction."),
|
|
33
33
|
react_1.default.createElement("div", { className: "flex items-center mt-2 text-red-100 text-xs" },
|
|
34
34
|
react_1.default.createElement("span", null, "3 warnings: Medium=30d \u2022 2 warnings: High=60d \u2022 1 offense: Critical=Permanent")))),
|
|
35
|
-
react_1.default.createElement(base_ui_1.Button, { label: "view details", onClick: () => setShowSuspensionModal(true), iconLeft: react_1.default.createElement(base_icons_1.IconInfoCircle, { size: "sm" }), color: "danger", className: "bg-white hover:bg-
|
|
35
|
+
react_1.default.createElement(base_ui_1.Button, { label: "view details", onClick: () => setShowSuspensionModal(true), iconLeft: react_1.default.createElement(base_icons_1.IconInfoCircle, { size: "sm" }), color: "danger", className: "bg-white hover:bg-danger text-danger-dark hover:text-white" }))));
|
|
36
36
|
};
|
|
37
37
|
exports.default = AccountSuspensionBanner;
|
|
@@ -51,7 +51,7 @@ const EscalationChat = ({ activeChatIssue, showEscalationChat, setShowEscalation
|
|
|
51
51
|
};
|
|
52
52
|
return (react_1.default.createElement(core_1.Dialog, { open: showEscalationChat, onClose: () => setShowEscalationChat(false), maxWidth: 'sm' },
|
|
53
53
|
react_1.default.createElement(core_1.DialogTitle, null,
|
|
54
|
-
react_1.default.createElement("div", { className: "
|
|
54
|
+
react_1.default.createElement("div", { className: "text-black mb-1 p-2 pl-4 absolute top-0 left-0 w-full flex flex-row justify-between items-center z-50" },
|
|
55
55
|
react_1.default.createElement("div", { className: "flex flex-col items-start" },
|
|
56
56
|
react_1.default.createElement("div", { className: "flex flex-row items-center" },
|
|
57
57
|
react_1.default.createElement("h1", { className: "text-md font-bold mr-2" },
|
|
@@ -15,14 +15,14 @@ const getBackgroundColor = (type) => {
|
|
|
15
15
|
case 'Medium':
|
|
16
16
|
return 'info';
|
|
17
17
|
case 'Low':
|
|
18
|
-
return '
|
|
18
|
+
return 'success';
|
|
19
19
|
default:
|
|
20
|
-
return '
|
|
20
|
+
return 'success';
|
|
21
21
|
}
|
|
22
22
|
};
|
|
23
23
|
const CustomTag = ({ label }) => {
|
|
24
24
|
const color = getBackgroundColor(label);
|
|
25
|
-
return (react_1.default.createElement("div", { className: `border box-border text-center px-4 pb-0.5 pt-1 text-sm inline-block break-words
|
|
25
|
+
return (react_1.default.createElement("div", { className: `border box-border text-center px-4 pb-0.5 pt-1 text-sm inline-block break-words text-white rounded-full bg-${color} border-${color} ml-2 font-bold` }, label.toUpperCase()));
|
|
26
26
|
};
|
|
27
27
|
exports.CustomTag = CustomTag;
|
|
28
28
|
const EscalationIssueCard = ({ issues, isExpert, openEscalationChat, showRespondButton = false, setSelectedIssueId, showMarkResolvedButton = false, }) => {
|
|
@@ -36,28 +36,26 @@ const EscalationIssueCard = ({ issues, isExpert, openEscalationChat, showRespond
|
|
|
36
36
|
return (react_1.default.createElement("div", { key: issue.id, className: "border border-gray-200 rounded-lg bg-white p-4" },
|
|
37
37
|
react_1.default.createElement("div", { className: "flex items-center justify-between mb-3" },
|
|
38
38
|
react_1.default.createElement("div", { className: "flex-1 ml-2" },
|
|
39
|
-
react_1.default.createElement("div", { className: "
|
|
39
|
+
react_1.default.createElement("div", { className: "flex flex-row justify-start gap-2" },
|
|
40
|
+
react_1.default.createElement("div", { className: "font-bold" }, issue.problem),
|
|
41
|
+
react_1.default.createElement(exports.CustomTag, { label: issue.severityLevel })),
|
|
40
42
|
react_1.default.createElement("div", { className: "text-xs text-gray-500 font-bold" },
|
|
41
43
|
project,
|
|
42
44
|
" \u2022 Case #",
|
|
43
45
|
issue.id)),
|
|
44
|
-
react_1.default.createElement(
|
|
45
|
-
react_1.default.createElement(exports.CustomTag, { label: issue.severityLevel }),
|
|
46
|
-
react_1.default.createElement(exports.CustomTag, { label: issue.issueType }))),
|
|
46
|
+
react_1.default.createElement(exports.CustomTag, { label: issue.issueType })),
|
|
47
47
|
react_1.default.createElement("div", { className: "bg-gray-50 rounded-md p-3 mb-4 border" },
|
|
48
|
-
react_1.default.createElement("div", { className: "flex items-center justify-between mb-2" },
|
|
49
|
-
"
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
react_1.default.createElement("span", { className: "font-bold" }, "Supporting Documents: "),
|
|
60
|
-
docs.map((d, idx) => (react_1.default.createElement(exports.CustomTag, { key: idx, label: d }))))),
|
|
48
|
+
react_1.default.createElement("div", { className: "flex items-center justify-between mb-2" },
|
|
49
|
+
react_1.default.createElement("div", { className: "text-sm text-gray-500" },
|
|
50
|
+
"Submitted by: ",
|
|
51
|
+
react_1.default.createElement("span", { className: "font-bold" }, issue.submittedBy),
|
|
52
|
+
issue.createdAt && react_1.default.createElement(react_1.default.Fragment, null,
|
|
53
|
+
" \u2022 Submitted on: ",
|
|
54
|
+
react_1.default.createElement("span", { className: "font-bold" }, issue.createdAt)))),
|
|
55
|
+
react_1.default.createElement("div", { className: "text-sm text-gray-600 mb-3" }, issue.expectedOutcome),
|
|
56
|
+
docs && docs.length > 0 && (react_1.default.createElement("div", { className: "flex flex-wrap gap-2" },
|
|
57
|
+
react_1.default.createElement("span", { className: "text-sm font-bold text-gray-500 items-center" }, "Supporting Documents: "),
|
|
58
|
+
docs.map((d, idx) => (react_1.default.createElement(exports.CustomTag, { key: idx, label: d })))))),
|
|
61
59
|
react_1.default.createElement("div", { className: "flex flex-wrap gap-2" },
|
|
62
60
|
react_1.default.createElement(base_ui_1.Button, { onClick: () => openEscalationChat({
|
|
63
61
|
title: issue.problem,
|
|
@@ -15,6 +15,6 @@ const EscalationReportBanner = ({ onReport }) => {
|
|
|
15
15
|
react_1.default.createElement("div", null,
|
|
16
16
|
react_1.default.createElement("h3", { className: "text-xl font-bold text-white" }, "Having Issues with Your Expert?"),
|
|
17
17
|
react_1.default.createElement("p", { className: "text-red-100 text-sm mt-1" }, "Report communication problems, quality concerns, or missed deadlines. We'll resolve it within 4-8 hours."))),
|
|
18
|
-
react_1.default.createElement(base_ui_1.Button, { label: "Report issue now", onClick: onReport, size: "sm", color: "danger", className: "bg-white hover:bg-
|
|
18
|
+
react_1.default.createElement(base_ui_1.Button, { label: "Report issue now", onClick: onReport, size: "sm", color: "danger", className: "bg-white hover:bg-danger text-danger-dark hover:text-white" }))));
|
|
19
19
|
};
|
|
20
20
|
exports.default = EscalationReportBanner;
|
|
@@ -93,7 +93,7 @@ const EscalationRespondForm = ({ goBack, selectedIssue, goHome }) => {
|
|
|
93
93
|
react_1.default.createElement("div", null,
|
|
94
94
|
react_1.default.createElement("label", { className: "block text-sm font-medium text-gray-700 mb-1" }, "Supporting Documents (Optional)"),
|
|
95
95
|
react_1.default.createElement("div", { className: "border border-dashed border-gray-300 rounded-md p-6 text-center" },
|
|
96
|
-
react_1.default.createElement("p", { className: "text-sm text-gray-600" }, "Upload any supporting documentation"),
|
|
96
|
+
react_1.default.createElement("p", { className: "text-sm text-gray-600 mb-2" }, "Upload any supporting documentation"),
|
|
97
97
|
react_1.default.createElement("input", { id: "upload-file", type: "file", multiple: true, accept: ".pdf,.doc,.docx,.jpeg,.png,.gif,.csv", style: { display: 'none' }, ref: fileInputRef, onChange: handleFileUpload }),
|
|
98
98
|
react_1.default.createElement(base_ui_1.Button, { label: "Attach Files", iconLeft: react_1.default.createElement(base_icons_1.IconPlus, { size: "sm" }), onClick: () => { var _a; return (_a = fileInputRef.current) === null || _a === void 0 ? void 0 : _a.click(); }, color: "info", className: "mx-2", isLoading: uploadingFile, size: "sm" }),
|
|
99
99
|
uploadFiles.length > 0 && (react_1.default.createElement("div", { className: "text-sm text-gray-600 mt-2" },
|
|
@@ -204,7 +204,7 @@ const EscalationSubmitForm = ({ goBack, goHome, experts, projects, isExpert = fa
|
|
|
204
204
|
react_1.default.createElement("div", null,
|
|
205
205
|
react_1.default.createElement("label", { className: "block text-sm font-medium text-gray-700 mb-1" }, "Supporting Documents (Optional)"),
|
|
206
206
|
react_1.default.createElement("div", { className: "border border-dashed border-gray-300 rounded-md p-6 text-center" },
|
|
207
|
-
react_1.default.createElement("p", { className: "text-sm text-gray-600" }, "Upload screenshots, emails, or documents"),
|
|
207
|
+
react_1.default.createElement("p", { className: "text-sm text-gray-600 mb-2" }, "Upload screenshots, emails, or documents"),
|
|
208
208
|
react_1.default.createElement("input", { ref: fileInputRef, type: "file", multiple: true, accept: ".pdf,.doc,.docx,.jpeg,.png,.gif,.csv", hidden: true, onChange: handleFileUpload }),
|
|
209
209
|
react_1.default.createElement(base_ui_1.Button, { label: "Attach Files", iconLeft: react_1.default.createElement(base_icons_1.IconPlus, { size: "sm" }), onClick: () => { var _a; return (_a = fileInputRef.current) === null || _a === void 0 ? void 0 : _a.click(); }, color: "info", isLoading: uploadingFile, size: "sm" }),
|
|
210
210
|
uploadFiles.length > 0 && (react_1.default.createElement("ul", { className: "mt-2 text-sm text-gray-600 list-disc list-inside" }, uploadFiles.map(f => react_1.default.createElement("li", { key: f.name }, f.name)))))),
|
|
@@ -73,7 +73,7 @@ const Escalations = ({ experts, projects, isExpert = false, activeIssues, inProg
|
|
|
73
73
|
react_1.default.createElement("div", { className: "flex justify-between items-center mb-1 mt-2" },
|
|
74
74
|
react_1.default.createElement("h2", { className: "text-xl font-bold" }, "Support & Escalation Management"),
|
|
75
75
|
activeIssues.length && react_1.default.createElement("div", { className: "flex items-center space-x-2" },
|
|
76
|
-
react_1.default.createElement("div", { className: `border box-border text-center px-4 pb-0.5 pt-1 text-sm inline-block break-words text-
|
|
76
|
+
react_1.default.createElement("div", { className: `border box-border text-center px-4 pb-0.5 pt-1 text-sm inline-block break-words text-[#A73A43] rounded-full bg-[#F9BABF] border-[#F9BABF] font-medium` },
|
|
77
77
|
activeIssues.length,
|
|
78
78
|
" ACTIVE ISSUES"))),
|
|
79
79
|
react_1.default.createElement("div", { className: "border-b pb-4 mb-6" },
|