@defra/flood-webchat 0.0.1-beta.23 → 0.0.1-beta.24

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,
27
28
  isChatOpen,
28
29
  setChatVisibility,
29
- unseenCount,
30
- threadId
30
+ unseenCount
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 && threadId);
50
+ setIsFixed(!isChatOpen && isBelowFold);
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 (!threadId) {
71
+ if (!messages.length) {
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) {
@@ -175,6 +175,7 @@ function Chat({
175
175
  connectionHeadlineText = 'Webchat is not currently available';
176
176
  }
177
177
  const sendMessage = e => {
178
+ e.preventDefault();
178
179
  if (messageRef.current.value.length === 0) {
179
180
  return;
180
181
  }
@@ -185,20 +186,11 @@ function Chat({
185
186
  }
186
187
  setUserMessage('');
187
188
  };
188
- const handleKeyPress = e => {
189
- if (e.key === 'Enter' && !e.shiftKey) {
190
- e.preventDefault();
191
- sendMessage();
192
- }
193
- };
194
- const handleSubmit = e => {
195
- e.preventDefault();
196
- sendMessage();
197
- };
198
189
  const saveChat = () => {
199
190
  const transcript = (0,_lib_transform_messages_js__WEBPACK_IMPORTED_MODULE_6__.formatTranscript)(messages);
200
191
  const saveChatLink = document.querySelector('#transcript-download');
201
192
  saveChatLink.setAttribute('href', `data:text/plain;charset=utf-8,${transcript}`);
193
+ saveChatLink.click();
202
194
  };
203
195
  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", {
204
196
  className: "wc-status"
@@ -253,8 +245,7 @@ function Chat({
253
245
  className: "wc-footer__input"
254
246
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("form", {
255
247
  className: "wc-form",
256
- noValidate: true,
257
- onSubmit: handleSubmit
248
+ noValidate: true
258
249
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("label", {
259
250
  className: "govuk-label wc-form__label govuk-!-font-size-16",
260
251
  htmlFor: "wc-form-textarea"
@@ -268,13 +259,13 @@ function Chat({
268
259
  id: "wc-form-textarea",
269
260
  name: "message",
270
261
  onChange: onChange,
271
- onKeyPress: handleKeyPress,
272
262
  value: userMessage
273
263
  }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("input", {
274
264
  type: "submit",
275
265
  className: "wc-form__button govuk-button govuk-!-font-size-16",
276
266
  value: "Send",
277
- "data-prevent-double-click": "true"
267
+ "data-prevent-double-click": "true",
268
+ onClick: sendMessage
278
269
  }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
279
270
  className: "wc-footer__settings"
280
271
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
@@ -425,10 +416,8 @@ function PanelHeader() {
425
416
  const onClose = e => {
426
417
  e.preventDefault();
427
418
  setChatVisibility(false);
428
- if (thread) {
429
- thread.lastMessageSeen();
430
- setUnseenCount(0);
431
- }
419
+ thread.lastMessageSeen();
420
+ setUnseenCount(0);
432
421
  };
433
422
  let ButtonComponent = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("button", {
434
423
  className: "wc-header__close",
@@ -490,13 +479,9 @@ __webpack_require__.r(__webpack_exports__);
490
479
  /* harmony import */ var _screens_unavailable_jsx__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../screens/unavailable.jsx */ "./src/client/components/screens/unavailable.jsx");
491
480
  /* harmony import */ var _screens_end_chat_jsx__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../screens/end-chat.jsx */ "./src/client/components/screens/end-chat.jsx");
492
481
  /* harmony import */ var _screens_settings_jsx__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../screens/settings.jsx */ "./src/client/components/screens/settings.jsx");
493
- /* harmony import */ var _screens_feedback_jsx__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../screens/feedback.jsx */ "./src/client/components/screens/feedback.jsx");
494
- /* harmony import */ var _store_useApp_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../store/useApp.js */ "./src/client/store/useApp.js");
495
- /* harmony import */ var _store_useChatSdk_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../store/useChatSdk.js */ "./src/client/store/useChatSdk.js");
496
- /* harmony import */ var _hooks_useFocusedElements_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../hooks/useFocusedElements.js */ "./src/client/hooks/useFocusedElements.js");
497
- /* harmony import */ var _screens_end_feedback_jsx__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../screens/end-feedback.jsx */ "./src/client/components/screens/end-feedback.jsx");
498
-
499
-
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");
500
485
 
501
486
 
502
487
 
@@ -519,13 +504,13 @@ function Panel() {
519
504
  setChatVisibility,
520
505
  setMessages,
521
506
  setUnseenCount
522
- } = (0,_store_useApp_js__WEBPACK_IMPORTED_MODULE_9__.useApp)();
507
+ } = (0,_store_useApp_js__WEBPACK_IMPORTED_MODULE_8__.useApp)();
523
508
  const {
524
509
  fetchThread,
525
510
  fetchMessages
526
- } = (0,_store_useChatSdk_js__WEBPACK_IMPORTED_MODULE_10__.useChatSdk)(sdk);
511
+ } = (0,_store_useChatSdk_js__WEBPACK_IMPORTED_MODULE_9__.useChatSdk)(sdk);
527
512
  const [screen, setScreen] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(threadId ? 2 : 0);
528
- (0,_hooks_useFocusedElements_js__WEBPACK_IMPORTED_MODULE_11__.useFocusedElements)(screen);
513
+ (0,_hooks_useFocusedElements_js__WEBPACK_IMPORTED_MODULE_10__.useFocusedElements)(screen);
529
514
 
530
515
  /**
531
516
  * Initializes the eventListener for pressing the escape key
@@ -566,10 +551,6 @@ function Panel() {
566
551
  }, [thread, threadId]);
567
552
  const onEscapeKey = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(e => {
568
553
  if (e.key === 'Escape' || e.key === 'Esc') {
569
- if (thread) {
570
- thread.lastMessageSeen();
571
- setUnseenCount(0);
572
- }
573
554
  setChatVisibility(false);
574
555
  }
575
556
  }, []);
@@ -581,9 +562,7 @@ function Panel() {
581
562
  const goToRequestChatScreen = handleScreenChange(1);
582
563
  const goToChatScreen = handleScreenChange(2);
583
564
  const goToEndChatScreen = handleScreenChange(3);
584
- const goToFeedbackScreen = handleScreenChange(4);
585
565
  const goToSettingsScreen = handleScreenChange(5);
586
- const goToEndFeedbackScreen = handleScreenChange(6);
587
566
  let ScreenComponent;
588
567
  switch (screen) {
589
568
  case 0:
@@ -604,14 +583,7 @@ function Panel() {
604
583
  break;
605
584
  case 3:
606
585
  ScreenComponent = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_screens_end_chat_jsx__WEBPACK_IMPORTED_MODULE_6__.EndChat, {
607
- onChatScreen: goToChatScreen,
608
- onEndChatConfirm: goToFeedbackScreen
609
- });
610
- break;
611
- case 4:
612
- ScreenComponent = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_screens_feedback_jsx__WEBPACK_IMPORTED_MODULE_8__.Feedback, {
613
- onCancel: () => setChatVisibility(false),
614
- onConfirmSubmit: goToEndFeedbackScreen
586
+ onChatScreen: goToChatScreen
615
587
  });
616
588
  break;
617
589
  case 5:
@@ -619,11 +591,6 @@ function Panel() {
619
591
  onCancel: goToChatScreen
620
592
  });
621
593
  break;
622
- case 6:
623
- ScreenComponent = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_screens_end_feedback_jsx__WEBPACK_IMPORTED_MODULE_12__.EndFeedback, {
624
- onClose: () => setChatVisibility(false)
625
- });
626
- break;
627
594
  default:
628
595
  ScreenComponent = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_screens_pre_chat_jsx__WEBPACK_IMPORTED_MODULE_2__.PreChat, {
629
596
  onContinue: goToRequestChatScreen
@@ -658,36 +625,11 @@ __webpack_require__.r(__webpack_exports__);
658
625
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
659
626
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
660
627
  /* harmony import */ var _panel_panel_header_jsx__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../panel/panel-header.jsx */ "./src/client/components/panel/panel-header.jsx");
661
- /* harmony import */ var _store_useApp_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../store/useApp.js */ "./src/client/store/useApp.js");
662
-
663
628
 
664
629
 
665
630
  function EndChat({
666
- onChatScreen,
667
- onEndChatConfirm
631
+ onChatScreen
668
632
  }) {
669
- const {
670
- setCustomerId,
671
- setThreadId,
672
- setMessages,
673
- agentStatus,
674
- thread,
675
- setUnseenCount
676
- } = (0,_store_useApp_js__WEBPACK_IMPORTED_MODULE_2__.useApp)();
677
- const confirmEndChat = async e => {
678
- e.preventDefault();
679
- setThreadId();
680
- setMessages([]);
681
- setCustomerId();
682
- thread.lastMessageSeen();
683
- setUnseenCount(0);
684
-
685
- // End chat if still open
686
- if (agentStatus !== 'closed') {
687
- thread.endChat();
688
- }
689
- onEndChatConfirm(e);
690
- };
691
633
  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", {
692
634
  className: "wc-body"
693
635
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h3", {
@@ -698,9 +640,7 @@ function EndChat({
698
640
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
699
641
  href: "#",
700
642
  className: "govuk-button govuk-!-font-size-16",
701
- "data-module": "govuk-button",
702
- id: "confirmEndChat",
703
- onClick: confirmEndChat
643
+ "data-module": "govuk-button"
704
644
  }, "Yes, end chat"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
705
645
  href: "#",
706
646
  className: "govuk-link govuk-!-font-size-16",
@@ -710,218 +650,6 @@ function EndChat({
710
650
 
711
651
  /***/ }),
712
652
 
713
- /***/ "./src/client/components/screens/end-feedback.jsx":
714
- /*!********************************************************!*\
715
- !*** ./src/client/components/screens/end-feedback.jsx ***!
716
- \********************************************************/
717
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
718
-
719
- __webpack_require__.r(__webpack_exports__);
720
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
721
- /* harmony export */ EndFeedback: () => (/* binding */ EndFeedback)
722
- /* harmony export */ });
723
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
724
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
725
- /* harmony import */ var _panel_panel_header_jsx__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../panel/panel-header.jsx */ "./src/client/components/panel/panel-header.jsx");
726
-
727
-
728
- function EndFeedback({
729
- onClose
730
- }) {
731
- 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", {
732
- className: "wc-body"
733
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h3", {
734
- id: "wc-subtitle",
735
- class: "govuk-heading-m"
736
- }, "Thank you for your feedback"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
737
- href: "#",
738
- role: "button",
739
- draggable: "false",
740
- "data-module": "govuk-button",
741
- "data-wc-focus-visible": true,
742
- "data-wc-close-btn": true,
743
- onClick: onClose
744
- }, "Close window"))));
745
- }
746
-
747
- /***/ }),
748
-
749
- /***/ "./src/client/components/screens/feedback.jsx":
750
- /*!****************************************************!*\
751
- !*** ./src/client/components/screens/feedback.jsx ***!
752
- \****************************************************/
753
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
754
-
755
- __webpack_require__.r(__webpack_exports__);
756
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
757
- /* harmony export */ Feedback: () => (/* binding */ Feedback)
758
- /* harmony export */ });
759
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
760
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
761
- /* harmony import */ var _panel_panel_header_jsx__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../panel/panel-header.jsx */ "./src/client/components/panel/panel-header.jsx");
762
-
763
-
764
- function Feedback({
765
- onConfirmSubmit,
766
- onCancel
767
- }) {
768
- const feedbackSubmit = async e => {
769
- e.preventDefault();
770
- onConfirmSubmit(e);
771
- onCancel(e);
772
- };
773
- 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", {
774
- className: "wc-body"
775
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h3", {
776
- id: "wc-subtitle",
777
- className: "govuk-heading-s"
778
- }, "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", {
779
- className: "govuk-form-group"
780
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("fieldset", {
781
- className: "govuk-fieldset govuk-!-margin-bottom-4"
782
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("legend", {
783
- className: "govuk-fieldset-heading govuk-fieldset__legend"
784
- }, "Overall, how did you feel about webchat?"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
785
- className: "govuk-radios govuk-radios--small",
786
- "data-module": "govuk-radios"
787
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
788
- className: "govuk-radios__item"
789
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("input", {
790
- id: "very-satisfied",
791
- name: "satisfaction",
792
- type: "radio",
793
- className: "govuk-radios__input",
794
- value: "Very satisfied"
795
- }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("label", {
796
- className: "govuk-label govuk-radios__label",
797
- for: "very-satisfied"
798
- }, "Very satisfied")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
799
- className: "govuk-radios__item"
800
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("input", {
801
- id: "satisfied",
802
- name: "satisfaction",
803
- type: "radio",
804
- className: "govuk-radios__input",
805
- value: "Satisfied"
806
- }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("label", {
807
- className: "govuk-label govuk-radios__label",
808
- for: "satisfied"
809
- }, "Satisfied")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
810
- className: "govuk-radios__item"
811
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("input", {
812
- id: "no-opinion",
813
- name: "satisfaction",
814
- type: "radio",
815
- className: "govuk-radios__input",
816
- value: "No opinion"
817
- }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("label", {
818
- className: "govuk-label govuk-radios__label",
819
- for: "no-opinion"
820
- }, "No Opinion")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
821
- className: "govuk-radios__item"
822
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("input", {
823
- id: "dissatisfied",
824
- name: "satisfaction",
825
- type: "radio",
826
- className: "govuk-radios__input",
827
- value: "Dissatisfied"
828
- }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("label", {
829
- className: "govuk-label govuk-radios__label",
830
- for: "dissatisfied"
831
- }, "Dissatisfied")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
832
- className: "govuk-radios__item"
833
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("input", {
834
- id: "very-dissatisfied",
835
- name: "satisfaction",
836
- type: "radio",
837
- className: "govuk-radios__input",
838
- value: "Very dissatisfied"
839
- }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("label", {
840
- className: "govuk-label govuk-radios__label",
841
- for: "very-dissatisfied"
842
- }, "Very dissatisfied")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("fieldset", {
843
- className: "govuk-fieldset govuk-!-margin-bottom-4"
844
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("legend", {
845
- className: "govuk-fieldset__legend"
846
- }, "Did the adviser answer your question?"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
847
- className: "govuk-radios govuk-radios--small",
848
- "data-module": "govuk-radios"
849
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
850
- className: "govuk-radios__item"
851
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("input", {
852
- id: "answer-yes",
853
- name: "answer",
854
- type: "radio",
855
- className: "govuk-radios__input",
856
- value: "Yes"
857
- }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("label", {
858
- className: "govuk-label govuk-radios__label",
859
- for: "answer-yes"
860
- }, "Yes")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
861
- className: "govuk-radios__item"
862
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("input", {
863
- id: "answer-no",
864
- name: "answer",
865
- type: "radio",
866
- className: "govuk-radios__input",
867
- value: "No"
868
- }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("label", {
869
- className: "govuk-label govuk-radios__label",
870
- for: "answer-no"
871
- }, "No")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
872
- className: "govuk-radios__item"
873
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("input", {
874
- id: "answer-partly",
875
- name: "answer",
876
- type: "radio",
877
- className: "govuk-radios__input",
878
- value: "Partly"
879
- }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("label", {
880
- className: "govuk-label govuk-radios__label",
881
- for: "answer-partly"
882
- }, "Partly"))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
883
- className: "govuk-form-group"
884
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("label", {
885
- className: "govuk-label",
886
- for: "improvements"
887
- }, "How can we improve webchat? (optional)"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("textarea", {
888
- className: "govuk-textarea govuk-!-margin-bottom-4",
889
- id: "improvements",
890
- name: "improvements",
891
- rows: "5"
892
- })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
893
- className: "govuk-form-group"
894
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("label", {
895
- className: "wc-fieldset-heading govuk-label",
896
- for: "research"
897
- }, "Tell us your email address if you want to take part in user research (optional)"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
898
- id: "research-hint",
899
- class: "wc-hint govuk-hint"
900
- }, "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", {
901
- className: "govuk-input govuk-!-margin-bottom-4",
902
- id: "research",
903
- name: "research",
904
- "aria-describedby": "research-hint",
905
- type: "text"
906
- })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
907
- className: "govuk-button-group"
908
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
909
- id: "feedback-save",
910
- href: "#",
911
- className: "govuk-button govuk-!-font-size-16",
912
- "data-module": "govuk-button",
913
- onClick: feedbackSubmit
914
- }, "Submit"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
915
- id: "feedback-cancel",
916
- href: "#",
917
- className: "govuk-link govuk-!-font-size-16",
918
- "data-module": "govuk-button",
919
- onClick: onCancel
920
- }, "Cancel"))));
921
- }
922
-
923
- /***/ }),
924
-
925
653
  /***/ "./src/client/components/screens/pre-chat.jsx":
926
654
  /*!****************************************************!*\
927
655
  !*** ./src/client/components/screens/pre-chat.jsx ***!
@@ -953,19 +681,19 @@ function PreChat({
953
681
  className: "govuk-list govuk-list--bullet govuk-body-s"
954
682
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, "current flood warnings and alerts in your area"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, "information on the flood warning service"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, "advice on what to do before, during and after a flood")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
955
683
  className: "govuk-body-s"
956
- }, 'There are other ways to ', /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
684
+ }, "There are other ways to\xA0", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
957
685
  className: "govuk-link",
958
686
  href: "https://www.gov.uk/sign-up-for-flood-warnings",
959
687
  target: "_blank",
960
688
  rel: "noreferrer"
961
- }, "sign up for flood warnings"), ' and ', /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
689
+ }, "sign up for flood warnings"), "\xA0and\xA0", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
962
690
  className: "govuk-link",
963
691
  href: "https://www.fws.environment-agency.gov.uk/app/olr/login",
964
692
  target: "_blank",
965
693
  rel: "noreferrer"
966
694
  }, "manage your flood warnings account"), "."), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
967
695
  className: "govuk-body-s"
968
- }, 'Do not use webchat to ', /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
696
+ }, "Do not use webchat to\xA0", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
969
697
  className: "govuk-link",
970
698
  href: "https://www.gov.uk/report-flood-cause",
971
699
  target: "_blank",
@@ -1032,7 +760,6 @@ function RequestChat({
1032
760
  } = (0,_store_useChatSdk_js__WEBPACK_IMPORTED_MODULE_5__.useChatSdk)(sdk);
1033
761
  const [errors, setErrors] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)({});
1034
762
  const [questionLength, setQuestionLength] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(0);
1035
- const [isButtonDisabled, setButtonDisabled] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false);
1036
763
  const nameRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)();
1037
764
  const questionRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)();
1038
765
  (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
@@ -1057,7 +784,6 @@ function RequestChat({
1057
784
  }
1058
785
  if (Object.keys(errs).length === 0) {
1059
786
  try {
1060
- setButtonDisabled(true);
1061
787
  const threadId = uuid__WEBPACK_IMPORTED_MODULE_1__.v4();
1062
788
  const customerId = await fetchCustomerId();
1063
789
  const thread = await fetchThread(threadId);
@@ -1066,7 +792,6 @@ function RequestChat({
1066
792
  setCustomerId(customerId);
1067
793
  setThreadId(threadId);
1068
794
  setThread(thread);
1069
- thread.setCustomField('threadid', threadId);
1070
795
  } catch (err) {
1071
796
  console.log('[Request Chat Error]', err);
1072
797
  }
@@ -1139,12 +864,18 @@ function RequestChat({
1139
864
  }, questionHint), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
1140
865
  className: "govuk-character-count__sr-status govuk-visually-hidden",
1141
866
  "aria-live": "polite"
1142
- }, questionHint))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("button", {
1143
- className: "govuk-button govuk-!-margin-top-1 govuk-!-font-size-16",
867
+ }, questionHint))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
868
+ className: "govuk-inset-text govuk-!-font-size-16"
869
+ }, "By selecting 'Request chat' you agree to the terms of our\xA0", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
870
+ href: "https://check-for-flooding.service.gov.uk/privacy-notice",
871
+ target: "_blank",
872
+ rel: "noreferrer",
873
+ className: "govuk-link"
874
+ }, "privacy notice"), "."), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("button", {
875
+ className: "govuk-button govuk-!-margin-bottom-3 govuk-!-font-size-16",
1144
876
  "data-module": "govuk-button",
1145
- onClick: onRequestChat,
1146
- disabled: isButtonDisabled
1147
- }, isButtonDisabled ? 'Requesting...' : 'Request Chat'))));
877
+ onClick: onRequestChat
878
+ }, "Request chat"))));
1148
879
  }
1149
880
 
1150
881
  /***/ }),
@@ -1587,9 +1318,6 @@ const AppProvider = ({
1587
1318
  });
1588
1319
  };
1589
1320
  (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
1590
- sdk.onChatEvent('SetConsumerContactCustomFields', () => {
1591
- console.log('Custom field set');
1592
- });
1593
1321
  sdk.onChatEvent(_nice_devone_nice_cxone_chat_web_sdk__WEBPACK_IMPORTED_MODULE_1__.ChatEvent.LIVECHAT_RECOVERED, onLiveChatRecovered);
1594
1322
  sdk.onChatEvent(_nice_devone_nice_cxone_chat_web_sdk__WEBPACK_IMPORTED_MODULE_1__.ChatEvent.MESSAGE_CREATED, onMessageCreated);
1595
1323
  sdk.onChatEvent(_nice_devone_nice_cxone_chat_web_sdk__WEBPACK_IMPORTED_MODULE_1__.ChatEvent.AGENT_TYPING_STARTED, onAgentTypingStarted);