@defra/flood-webchat 0.0.1-beta.21 → 0.0.1-beta.22
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/client.js +285 -16
- package/dist/client.js.map +1 -1
- package/package.json +1 -1
- package/src/client/components/availability/availability.jsx +3 -3
- package/src/client/components/chat/chat.jsx +0 -1
- package/src/client/components/panel/panel-header.jsx +4 -2
- package/src/client/components/panel/panel.jsx +15 -1
- package/src/client/components/screens/end-chat.jsx +22 -2
- package/src/client/components/screens/end-feedback.jsx +18 -0
- package/src/client/components/screens/feedback.jsx +154 -0
- package/src/client/components/screens/request-chat.jsx +1 -0
- package/src/client/store/AppProvider.jsx +1 -0
package/dist/client.js
CHANGED
|
@@ -24,10 +24,10 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
24
24
|
function Availability() {
|
|
25
25
|
const {
|
|
26
26
|
availability,
|
|
27
|
-
messages,
|
|
28
27
|
isChatOpen,
|
|
29
28
|
setChatVisibility,
|
|
30
|
-
unseenCount
|
|
29
|
+
unseenCount,
|
|
30
|
+
threadId
|
|
31
31
|
} = (0,_store_useApp__WEBPACK_IMPORTED_MODULE_3__.useApp)();
|
|
32
32
|
const [isFixed, setIsFixed] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false);
|
|
33
33
|
const buttonRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)();
|
|
@@ -47,7 +47,7 @@ function Availability() {
|
|
|
47
47
|
const intersectionCallback = entries => {
|
|
48
48
|
const [entry] = entries;
|
|
49
49
|
const isBelowFold = !entry.isIntersecting && entry.boundingClientRect.top > 0;
|
|
50
|
-
setIsFixed(!isChatOpen && isBelowFold);
|
|
50
|
+
setIsFixed(!isChatOpen && isBelowFold && threadId);
|
|
51
51
|
};
|
|
52
52
|
(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
|
|
53
53
|
const observer = new window.IntersectionObserver(intersectionCallback, {
|
|
@@ -68,7 +68,7 @@ function Availability() {
|
|
|
68
68
|
document.body.classList.toggle('wc-scroll-padding', isFixed);
|
|
69
69
|
}, [isFixed]);
|
|
70
70
|
let TextComponent = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, "Show Chat");
|
|
71
|
-
if (!
|
|
71
|
+
if (!threadId) {
|
|
72
72
|
TextComponent = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, "Start Chat");
|
|
73
73
|
}
|
|
74
74
|
switch (availability) {
|
|
@@ -190,7 +190,6 @@ function Chat({
|
|
|
190
190
|
const transcript = (0,_lib_transform_messages_js__WEBPACK_IMPORTED_MODULE_6__.formatTranscript)(messages);
|
|
191
191
|
const saveChatLink = document.querySelector('#transcript-download');
|
|
192
192
|
saveChatLink.setAttribute('href', `data:text/plain;charset=utf-8,${transcript}`);
|
|
193
|
-
saveChatLink.click();
|
|
194
193
|
};
|
|
195
194
|
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_panel_panel_header_jsx__WEBPACK_IMPORTED_MODULE_1__.PanelHeader, null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
|
196
195
|
className: "wc-status"
|
|
@@ -416,8 +415,10 @@ function PanelHeader() {
|
|
|
416
415
|
const onClose = e => {
|
|
417
416
|
e.preventDefault();
|
|
418
417
|
setChatVisibility(false);
|
|
419
|
-
thread
|
|
420
|
-
|
|
418
|
+
if (thread) {
|
|
419
|
+
thread.lastMessageSeen();
|
|
420
|
+
setUnseenCount(0);
|
|
421
|
+
}
|
|
421
422
|
};
|
|
422
423
|
let ButtonComponent = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("button", {
|
|
423
424
|
className: "wc-header__close",
|
|
@@ -479,9 +480,13 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
479
480
|
/* harmony import */ var _screens_unavailable_jsx__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../screens/unavailable.jsx */ "./src/client/components/screens/unavailable.jsx");
|
|
480
481
|
/* harmony import */ var _screens_end_chat_jsx__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../screens/end-chat.jsx */ "./src/client/components/screens/end-chat.jsx");
|
|
481
482
|
/* harmony import */ var _screens_settings_jsx__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../screens/settings.jsx */ "./src/client/components/screens/settings.jsx");
|
|
482
|
-
/* harmony import */ var
|
|
483
|
-
/* harmony import */ var
|
|
484
|
-
/* harmony import */ var
|
|
483
|
+
/* harmony import */ var _screens_feedback_jsx__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../screens/feedback.jsx */ "./src/client/components/screens/feedback.jsx");
|
|
484
|
+
/* harmony import */ var _store_useApp_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../store/useApp.js */ "./src/client/store/useApp.js");
|
|
485
|
+
/* harmony import */ var _store_useChatSdk_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../store/useChatSdk.js */ "./src/client/store/useChatSdk.js");
|
|
486
|
+
/* harmony import */ var _hooks_useFocusedElements_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../hooks/useFocusedElements.js */ "./src/client/hooks/useFocusedElements.js");
|
|
487
|
+
/* harmony import */ var _screens_end_feedback_jsx__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../screens/end-feedback.jsx */ "./src/client/components/screens/end-feedback.jsx");
|
|
488
|
+
|
|
489
|
+
|
|
485
490
|
|
|
486
491
|
|
|
487
492
|
|
|
@@ -504,13 +509,13 @@ function Panel() {
|
|
|
504
509
|
setChatVisibility,
|
|
505
510
|
setMessages,
|
|
506
511
|
setUnseenCount
|
|
507
|
-
} = (0,
|
|
512
|
+
} = (0,_store_useApp_js__WEBPACK_IMPORTED_MODULE_9__.useApp)();
|
|
508
513
|
const {
|
|
509
514
|
fetchThread,
|
|
510
515
|
fetchMessages
|
|
511
|
-
} = (0,
|
|
516
|
+
} = (0,_store_useChatSdk_js__WEBPACK_IMPORTED_MODULE_10__.useChatSdk)(sdk);
|
|
512
517
|
const [screen, setScreen] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(threadId ? 2 : 0);
|
|
513
|
-
(0,
|
|
518
|
+
(0,_hooks_useFocusedElements_js__WEBPACK_IMPORTED_MODULE_11__.useFocusedElements)(screen);
|
|
514
519
|
|
|
515
520
|
/**
|
|
516
521
|
* Initializes the eventListener for pressing the escape key
|
|
@@ -551,6 +556,10 @@ function Panel() {
|
|
|
551
556
|
}, [thread, threadId]);
|
|
552
557
|
const onEscapeKey = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(e => {
|
|
553
558
|
if (e.key === 'Escape' || e.key === 'Esc') {
|
|
559
|
+
if (thread) {
|
|
560
|
+
thread.lastMessageSeen();
|
|
561
|
+
setUnseenCount(0);
|
|
562
|
+
}
|
|
554
563
|
setChatVisibility(false);
|
|
555
564
|
}
|
|
556
565
|
}, []);
|
|
@@ -562,7 +571,9 @@ function Panel() {
|
|
|
562
571
|
const goToRequestChatScreen = handleScreenChange(1);
|
|
563
572
|
const goToChatScreen = handleScreenChange(2);
|
|
564
573
|
const goToEndChatScreen = handleScreenChange(3);
|
|
574
|
+
const goToFeedbackScreen = handleScreenChange(4);
|
|
565
575
|
const goToSettingsScreen = handleScreenChange(5);
|
|
576
|
+
const goToEndFeedbackScreen = handleScreenChange(6);
|
|
566
577
|
let ScreenComponent;
|
|
567
578
|
switch (screen) {
|
|
568
579
|
case 0:
|
|
@@ -583,7 +594,14 @@ function Panel() {
|
|
|
583
594
|
break;
|
|
584
595
|
case 3:
|
|
585
596
|
ScreenComponent = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_screens_end_chat_jsx__WEBPACK_IMPORTED_MODULE_6__.EndChat, {
|
|
586
|
-
onChatScreen: goToChatScreen
|
|
597
|
+
onChatScreen: goToChatScreen,
|
|
598
|
+
onEndChatConfirm: goToFeedbackScreen
|
|
599
|
+
});
|
|
600
|
+
break;
|
|
601
|
+
case 4:
|
|
602
|
+
ScreenComponent = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_screens_feedback_jsx__WEBPACK_IMPORTED_MODULE_8__.Feedback, {
|
|
603
|
+
onCancel: () => setChatVisibility(false),
|
|
604
|
+
onConfirmSubmit: goToEndFeedbackScreen
|
|
587
605
|
});
|
|
588
606
|
break;
|
|
589
607
|
case 5:
|
|
@@ -591,6 +609,11 @@ function Panel() {
|
|
|
591
609
|
onCancel: goToChatScreen
|
|
592
610
|
});
|
|
593
611
|
break;
|
|
612
|
+
case 6:
|
|
613
|
+
ScreenComponent = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_screens_end_feedback_jsx__WEBPACK_IMPORTED_MODULE_12__.EndFeedback, {
|
|
614
|
+
onClose: () => setChatVisibility(false)
|
|
615
|
+
});
|
|
616
|
+
break;
|
|
594
617
|
default:
|
|
595
618
|
ScreenComponent = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_screens_pre_chat_jsx__WEBPACK_IMPORTED_MODULE_2__.PreChat, {
|
|
596
619
|
onContinue: goToRequestChatScreen
|
|
@@ -625,11 +648,36 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
625
648
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
|
|
626
649
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
627
650
|
/* harmony import */ var _panel_panel_header_jsx__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../panel/panel-header.jsx */ "./src/client/components/panel/panel-header.jsx");
|
|
651
|
+
/* harmony import */ var _store_useApp_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../store/useApp.js */ "./src/client/store/useApp.js");
|
|
652
|
+
|
|
628
653
|
|
|
629
654
|
|
|
630
655
|
function EndChat({
|
|
631
|
-
onChatScreen
|
|
656
|
+
onChatScreen,
|
|
657
|
+
onEndChatConfirm
|
|
632
658
|
}) {
|
|
659
|
+
const {
|
|
660
|
+
setCustomerId,
|
|
661
|
+
setThreadId,
|
|
662
|
+
setMessages,
|
|
663
|
+
agentStatus,
|
|
664
|
+
thread,
|
|
665
|
+
setUnseenCount
|
|
666
|
+
} = (0,_store_useApp_js__WEBPACK_IMPORTED_MODULE_2__.useApp)();
|
|
667
|
+
const confirmEndChat = async e => {
|
|
668
|
+
e.preventDefault();
|
|
669
|
+
setThreadId();
|
|
670
|
+
setMessages([]);
|
|
671
|
+
setCustomerId();
|
|
672
|
+
thread.lastMessageSeen();
|
|
673
|
+
setUnseenCount(0);
|
|
674
|
+
|
|
675
|
+
// End chat if still open
|
|
676
|
+
if (agentStatus !== 'closed') {
|
|
677
|
+
thread.endChat();
|
|
678
|
+
}
|
|
679
|
+
onEndChatConfirm(e);
|
|
680
|
+
};
|
|
633
681
|
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_panel_panel_header_jsx__WEBPACK_IMPORTED_MODULE_1__.PanelHeader, null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
|
634
682
|
className: "wc-body"
|
|
635
683
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h3", {
|
|
@@ -640,7 +688,9 @@ function EndChat({
|
|
|
640
688
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
|
|
641
689
|
href: "#",
|
|
642
690
|
className: "govuk-button govuk-!-font-size-16",
|
|
643
|
-
"data-module": "govuk-button"
|
|
691
|
+
"data-module": "govuk-button",
|
|
692
|
+
id: "confirmEndChat",
|
|
693
|
+
onClick: confirmEndChat
|
|
644
694
|
}, "Yes, end chat"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
|
|
645
695
|
href: "#",
|
|
646
696
|
className: "govuk-link govuk-!-font-size-16",
|
|
@@ -650,6 +700,221 @@ function EndChat({
|
|
|
650
700
|
|
|
651
701
|
/***/ }),
|
|
652
702
|
|
|
703
|
+
/***/ "./src/client/components/screens/end-feedback.jsx":
|
|
704
|
+
/*!********************************************************!*\
|
|
705
|
+
!*** ./src/client/components/screens/end-feedback.jsx ***!
|
|
706
|
+
\********************************************************/
|
|
707
|
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
708
|
+
|
|
709
|
+
__webpack_require__.r(__webpack_exports__);
|
|
710
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
711
|
+
/* harmony export */ EndFeedback: () => (/* binding */ EndFeedback)
|
|
712
|
+
/* harmony export */ });
|
|
713
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
|
|
714
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
715
|
+
/* harmony import */ var _panel_panel_header_jsx__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../panel/panel-header.jsx */ "./src/client/components/panel/panel-header.jsx");
|
|
716
|
+
|
|
717
|
+
|
|
718
|
+
function EndFeedback({
|
|
719
|
+
onClose
|
|
720
|
+
}) {
|
|
721
|
+
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_panel_panel_header_jsx__WEBPACK_IMPORTED_MODULE_1__.PanelHeader, null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
|
722
|
+
className: "wc-body"
|
|
723
|
+
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h3", {
|
|
724
|
+
id: "wc-subtitle",
|
|
725
|
+
class: "govuk-heading-m"
|
|
726
|
+
}, "Thank you for your feedback"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
|
|
727
|
+
href: "#",
|
|
728
|
+
role: "button",
|
|
729
|
+
draggable: "false",
|
|
730
|
+
"data-module": "govuk-button",
|
|
731
|
+
"data-wc-focus-visible": true,
|
|
732
|
+
"data-wc-close-btn": true,
|
|
733
|
+
onClick: onClose
|
|
734
|
+
}, "Close window"))));
|
|
735
|
+
}
|
|
736
|
+
|
|
737
|
+
/***/ }),
|
|
738
|
+
|
|
739
|
+
/***/ "./src/client/components/screens/feedback.jsx":
|
|
740
|
+
/*!****************************************************!*\
|
|
741
|
+
!*** ./src/client/components/screens/feedback.jsx ***!
|
|
742
|
+
\****************************************************/
|
|
743
|
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
744
|
+
|
|
745
|
+
__webpack_require__.r(__webpack_exports__);
|
|
746
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
747
|
+
/* harmony export */ Feedback: () => (/* binding */ Feedback)
|
|
748
|
+
/* harmony export */ });
|
|
749
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
|
|
750
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
751
|
+
/* harmony import */ var _panel_panel_header_jsx__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../panel/panel-header.jsx */ "./src/client/components/panel/panel-header.jsx");
|
|
752
|
+
|
|
753
|
+
|
|
754
|
+
function Feedback({
|
|
755
|
+
onCancel,
|
|
756
|
+
onConfirmSubmit
|
|
757
|
+
}) {
|
|
758
|
+
const feedbackSubmit = async e => {
|
|
759
|
+
e.preventDefault();
|
|
760
|
+
onConfirmSubmit(e);
|
|
761
|
+
};
|
|
762
|
+
const onCancelFeedback = e => {
|
|
763
|
+
e.preventDefault();
|
|
764
|
+
onCancel();
|
|
765
|
+
};
|
|
766
|
+
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_panel_panel_header_jsx__WEBPACK_IMPORTED_MODULE_1__.PanelHeader, null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
|
767
|
+
className: "wc-body"
|
|
768
|
+
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h3", {
|
|
769
|
+
id: "wc-subtitle",
|
|
770
|
+
className: "govuk-heading-s"
|
|
771
|
+
}, "Give Feedback on Floodline webchat"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", null, "Please note we\u2019re unable to respond to feedback."), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
|
772
|
+
className: "govuk-form-group"
|
|
773
|
+
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("fieldset", {
|
|
774
|
+
className: "govuk-fieldset govuk-!-margin-bottom-4"
|
|
775
|
+
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("legend", {
|
|
776
|
+
className: "govuk-fieldset-heading govuk-fieldset__legend"
|
|
777
|
+
}, "Overall, how did you feel about webchat?"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
|
778
|
+
className: "govuk-radios govuk-radios--small",
|
|
779
|
+
"data-module": "govuk-radios"
|
|
780
|
+
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
|
781
|
+
className: "govuk-radios__item"
|
|
782
|
+
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("input", {
|
|
783
|
+
id: "very-satisfied",
|
|
784
|
+
name: "satisfaction",
|
|
785
|
+
type: "radio",
|
|
786
|
+
className: "govuk-radios__input",
|
|
787
|
+
value: "Very satisfied"
|
|
788
|
+
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("label", {
|
|
789
|
+
className: "govuk-label govuk-radios__label",
|
|
790
|
+
for: "very-satisfied"
|
|
791
|
+
}, "Very satisfied")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
|
792
|
+
className: "govuk-radios__item"
|
|
793
|
+
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("input", {
|
|
794
|
+
id: "satisfied",
|
|
795
|
+
name: "satisfaction",
|
|
796
|
+
type: "radio",
|
|
797
|
+
className: "govuk-radios__input",
|
|
798
|
+
value: "Satisfied"
|
|
799
|
+
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("label", {
|
|
800
|
+
className: "govuk-label govuk-radios__label",
|
|
801
|
+
for: "satisfied"
|
|
802
|
+
}, "Satisfied")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
|
803
|
+
className: "govuk-radios__item"
|
|
804
|
+
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("input", {
|
|
805
|
+
id: "no-opinion",
|
|
806
|
+
name: "satisfaction",
|
|
807
|
+
type: "radio",
|
|
808
|
+
className: "govuk-radios__input",
|
|
809
|
+
value: "No opinion"
|
|
810
|
+
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("label", {
|
|
811
|
+
className: "govuk-label govuk-radios__label",
|
|
812
|
+
for: "no-opinion"
|
|
813
|
+
}, "No Opinion")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
|
814
|
+
className: "govuk-radios__item"
|
|
815
|
+
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("input", {
|
|
816
|
+
id: "dissatisfied",
|
|
817
|
+
name: "satisfaction",
|
|
818
|
+
type: "radio",
|
|
819
|
+
className: "govuk-radios__input",
|
|
820
|
+
value: "Dissatisfied"
|
|
821
|
+
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("label", {
|
|
822
|
+
className: "govuk-label govuk-radios__label",
|
|
823
|
+
for: "dissatisfied"
|
|
824
|
+
}, "Dissatisfied")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
|
825
|
+
className: "govuk-radios__item"
|
|
826
|
+
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("input", {
|
|
827
|
+
id: "very-dissatisfied",
|
|
828
|
+
name: "satisfaction",
|
|
829
|
+
type: "radio",
|
|
830
|
+
className: "govuk-radios__input",
|
|
831
|
+
value: "Very dissatisfied"
|
|
832
|
+
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("label", {
|
|
833
|
+
className: "govuk-label govuk-radios__label",
|
|
834
|
+
for: "very-dissatisfied"
|
|
835
|
+
}, "Very dissatisfied")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("fieldset", {
|
|
836
|
+
className: "govuk-fieldset govuk-!-margin-bottom-4"
|
|
837
|
+
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("legend", {
|
|
838
|
+
className: "govuk-fieldset__legend"
|
|
839
|
+
}, "Did the adviser answer your question?"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
|
840
|
+
className: "govuk-radios govuk-radios--small",
|
|
841
|
+
"data-module": "govuk-radios"
|
|
842
|
+
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
|
843
|
+
className: "govuk-radios__item"
|
|
844
|
+
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("input", {
|
|
845
|
+
id: "answer-yes",
|
|
846
|
+
name: "answer",
|
|
847
|
+
type: "radio",
|
|
848
|
+
className: "govuk-radios__input",
|
|
849
|
+
value: "Yes"
|
|
850
|
+
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("label", {
|
|
851
|
+
className: "govuk-label govuk-radios__label",
|
|
852
|
+
for: "answer-yes"
|
|
853
|
+
}, "Yes")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
|
854
|
+
className: "govuk-radios__item"
|
|
855
|
+
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("input", {
|
|
856
|
+
id: "answer-no",
|
|
857
|
+
name: "answer",
|
|
858
|
+
type: "radio",
|
|
859
|
+
className: "govuk-radios__input",
|
|
860
|
+
value: "No"
|
|
861
|
+
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("label", {
|
|
862
|
+
className: "govuk-label govuk-radios__label",
|
|
863
|
+
for: "answer-no"
|
|
864
|
+
}, "No")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
|
865
|
+
className: "govuk-radios__item"
|
|
866
|
+
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("input", {
|
|
867
|
+
id: "answer-partly",
|
|
868
|
+
name: "answer",
|
|
869
|
+
type: "radio",
|
|
870
|
+
className: "govuk-radios__input",
|
|
871
|
+
value: "Partly"
|
|
872
|
+
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("label", {
|
|
873
|
+
className: "govuk-label govuk-radios__label",
|
|
874
|
+
for: "answer-partly"
|
|
875
|
+
}, "Partly"))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
|
876
|
+
className: "govuk-form-group"
|
|
877
|
+
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("label", {
|
|
878
|
+
className: "govuk-label",
|
|
879
|
+
for: "improvements"
|
|
880
|
+
}, "How can we improve webchat? (optional)"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("textarea", {
|
|
881
|
+
className: "govuk-textarea govuk-!-margin-bottom-4",
|
|
882
|
+
id: "improvements",
|
|
883
|
+
name: "improvements",
|
|
884
|
+
rows: "5"
|
|
885
|
+
})), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
|
886
|
+
className: "govuk-form-group"
|
|
887
|
+
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("label", {
|
|
888
|
+
className: "wc-fieldset-heading govuk-label",
|
|
889
|
+
for: "research"
|
|
890
|
+
}, "Tell us your email address if you want to take part in user research (optional)"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
|
891
|
+
id: "research-hint",
|
|
892
|
+
class: "wc-hint govuk-hint"
|
|
893
|
+
}, "We will not share your email address or use it for anything else. We\u2019ll delete it after 2 years."), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("input", {
|
|
894
|
+
className: "govuk-input govuk-!-margin-bottom-4",
|
|
895
|
+
id: "research",
|
|
896
|
+
name: "research",
|
|
897
|
+
"aria-describedby": "research-hint",
|
|
898
|
+
type: "text"
|
|
899
|
+
})), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
|
900
|
+
className: "govuk-button-group"
|
|
901
|
+
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
|
|
902
|
+
id: "feedback-save",
|
|
903
|
+
href: "#",
|
|
904
|
+
className: "govuk-button govuk-!-font-size-16",
|
|
905
|
+
"data-module": "govuk-button",
|
|
906
|
+
onClick: feedbackSubmit
|
|
907
|
+
}, "Submit"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
|
|
908
|
+
id: "feedback-cancel",
|
|
909
|
+
href: "#",
|
|
910
|
+
className: "govuk-link govuk-!-font-size-16",
|
|
911
|
+
"data-module": "govuk-button",
|
|
912
|
+
onClick: onCancelFeedback
|
|
913
|
+
}, "Cancel"))));
|
|
914
|
+
}
|
|
915
|
+
|
|
916
|
+
/***/ }),
|
|
917
|
+
|
|
653
918
|
/***/ "./src/client/components/screens/pre-chat.jsx":
|
|
654
919
|
/*!****************************************************!*\
|
|
655
920
|
!*** ./src/client/components/screens/pre-chat.jsx ***!
|
|
@@ -792,6 +1057,7 @@ function RequestChat({
|
|
|
792
1057
|
setCustomerId(customerId);
|
|
793
1058
|
setThreadId(threadId);
|
|
794
1059
|
setThread(thread);
|
|
1060
|
+
thread.setCustomField('threadid', threadId);
|
|
795
1061
|
} catch (err) {
|
|
796
1062
|
console.log('[Request Chat Error]', err);
|
|
797
1063
|
}
|
|
@@ -1311,6 +1577,9 @@ const AppProvider = ({
|
|
|
1311
1577
|
});
|
|
1312
1578
|
};
|
|
1313
1579
|
(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
|
|
1580
|
+
sdk.onChatEvent('SetConsumerContactCustomFields', () => {
|
|
1581
|
+
console.log('Custom field set');
|
|
1582
|
+
});
|
|
1314
1583
|
sdk.onChatEvent(_nice_devone_nice_cxone_chat_web_sdk__WEBPACK_IMPORTED_MODULE_1__.ChatEvent.LIVECHAT_RECOVERED, onLiveChatRecovered);
|
|
1315
1584
|
sdk.onChatEvent(_nice_devone_nice_cxone_chat_web_sdk__WEBPACK_IMPORTED_MODULE_1__.ChatEvent.MESSAGE_CREATED, onMessageCreated);
|
|
1316
1585
|
sdk.onChatEvent(_nice_devone_nice_cxone_chat_web_sdk__WEBPACK_IMPORTED_MODULE_1__.ChatEvent.AGENT_TYPING_STARTED, onAgentTypingStarted);
|