@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 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 (!messages.length) {
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.lastMessageSeen();
420
- setUnseenCount(0);
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 _store_useApp_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../store/useApp.js */ "./src/client/store/useApp.js");
483
- /* harmony import */ var _store_useChatSdk_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../store/useChatSdk.js */ "./src/client/store/useChatSdk.js");
484
- /* harmony import */ var _hooks_useFocusedElements_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../hooks/useFocusedElements.js */ "./src/client/hooks/useFocusedElements.js");
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,_store_useApp_js__WEBPACK_IMPORTED_MODULE_8__.useApp)();
512
+ } = (0,_store_useApp_js__WEBPACK_IMPORTED_MODULE_9__.useApp)();
508
513
  const {
509
514
  fetchThread,
510
515
  fetchMessages
511
- } = (0,_store_useChatSdk_js__WEBPACK_IMPORTED_MODULE_9__.useChatSdk)(sdk);
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,_hooks_useFocusedElements_js__WEBPACK_IMPORTED_MODULE_10__.useFocusedElements)(screen);
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);