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

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
@@ -174,7 +174,7 @@ function Chat({
174
174
  if (availability === 'UNAVAILABLE') {
175
175
  connectionHeadlineText = 'Webchat is not currently available';
176
176
  }
177
- const sendMessage = e => {
177
+ const sendMessage = () => {
178
178
  if (messageRef.current.value.length === 0) {
179
179
  return;
180
180
  }
@@ -268,7 +268,7 @@ function Chat({
268
268
  id: "wc-form-textarea",
269
269
  name: "message",
270
270
  onChange: onChange,
271
- onKeyPress: handleKeyPress,
271
+ onKeyDown: handleKeyPress,
272
272
  value: userMessage
273
273
  }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("input", {
274
274
  type: "submit",
@@ -420,13 +420,14 @@ function PanelHeader() {
420
420
  const {
421
421
  thread,
422
422
  setChatVisibility,
423
- setUnseenCount
423
+ setUnseenCount,
424
+ threadId
424
425
  } = (0,_store_useApp_js__WEBPACK_IMPORTED_MODULE_1__.useApp)();
425
426
  const onClose = e => {
426
427
  e.preventDefault();
427
428
  setChatVisibility(false);
428
- if (thread) {
429
- thread.lastMessageSeen();
429
+ if (threadId) {
430
+ thread?.lastMessageSeen();
430
431
  setUnseenCount(0);
431
432
  }
432
433
  };
@@ -494,8 +495,6 @@ __webpack_require__.r(__webpack_exports__);
494
495
  /* harmony import */ var _store_useApp_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../store/useApp.js */ "./src/client/store/useApp.js");
495
496
  /* harmony import */ var _store_useChatSdk_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../store/useChatSdk.js */ "./src/client/store/useChatSdk.js");
496
497
  /* 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
498
 
500
499
 
501
500
 
@@ -526,6 +525,15 @@ function Panel() {
526
525
  } = (0,_store_useChatSdk_js__WEBPACK_IMPORTED_MODULE_10__.useChatSdk)(sdk);
527
526
  const [screen, setScreen] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(threadId ? 2 : 0);
528
527
  (0,_hooks_useFocusedElements_js__WEBPACK_IMPORTED_MODULE_11__.useFocusedElements)(screen);
528
+ const onEscapeKey = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(e => {
529
+ if (e.key === 'Escape' || e.key === 'Esc') {
530
+ if (threadId) {
531
+ thread?.lastMessageSeen();
532
+ setUnseenCount(0);
533
+ }
534
+ setChatVisibility(false);
535
+ }
536
+ }, [thread, threadId, setUnseenCount, setChatVisibility]);
529
537
 
530
538
  /**
531
539
  * Initializes the eventListener for pressing the escape key
@@ -535,7 +543,7 @@ function Panel() {
535
543
  return () => {
536
544
  document.removeEventListener('keydown', escapeKeyEvent);
537
545
  };
538
- }, []);
546
+ }, [onEscapeKey, setChatVisibility]);
539
547
 
540
548
  /**
541
549
  * Recovers the thread if there is a threadId but no thread loaded in to state
@@ -564,15 +572,6 @@ function Panel() {
564
572
  }
565
573
  }
566
574
  }, [thread, threadId]);
567
- const onEscapeKey = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(e => {
568
- if (e.key === 'Escape' || e.key === 'Esc') {
569
- if (thread) {
570
- thread.lastMessageSeen();
571
- setUnseenCount(0);
572
- }
573
- setChatVisibility(false);
574
- }
575
- }, []);
576
575
  const handleScreenChange = newScreen => e => {
577
576
  e.preventDefault();
578
577
  setScreen(newScreen);
@@ -583,7 +582,6 @@ function Panel() {
583
582
  const goToEndChatScreen = handleScreenChange(3);
584
583
  const goToFeedbackScreen = handleScreenChange(4);
585
584
  const goToSettingsScreen = handleScreenChange(5);
586
- const goToEndFeedbackScreen = handleScreenChange(6);
587
585
  let ScreenComponent;
588
586
  switch (screen) {
589
587
  case 0:
@@ -610,8 +608,7 @@ function Panel() {
610
608
  break;
611
609
  case 4:
612
610
  ScreenComponent = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_screens_feedback_jsx__WEBPACK_IMPORTED_MODULE_8__.Feedback, {
613
- onCancel: () => setChatVisibility(false),
614
- onConfirmSubmit: goToEndFeedbackScreen
611
+ onCancel: () => setChatVisibility(false)
615
612
  });
616
613
  break;
617
614
  case 5:
@@ -619,11 +616,6 @@ function Panel() {
619
616
  onCancel: goToChatScreen
620
617
  });
621
618
  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
619
  default:
628
620
  ScreenComponent = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_screens_pre_chat_jsx__WEBPACK_IMPORTED_MODULE_2__.PreChat, {
629
621
  onContinue: goToRequestChatScreen
@@ -696,13 +688,13 @@ function EndChat({
696
688
  }, "Are you sure you want to end the chat?"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
697
689
  className: "govuk-button-group"
698
690
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
699
- href: "#",
691
+ href: "#endChat",
700
692
  className: "govuk-button govuk-!-font-size-16",
701
693
  "data-module": "govuk-button",
702
694
  id: "confirmEndChat",
703
695
  onClick: confirmEndChat
704
696
  }, "Yes, end chat"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
705
- href: "#",
697
+ href: "#resumeChat",
706
698
  className: "govuk-link govuk-!-font-size-16",
707
699
  onClick: onChatScreen
708
700
  }, "No, resume chat"))));
@@ -710,42 +702,6 @@ function EndChat({
710
702
 
711
703
  /***/ }),
712
704
 
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
705
  /***/ "./src/client/components/screens/feedback.jsx":
750
706
  /*!****************************************************!*\
751
707
  !*** ./src/client/components/screens/feedback.jsx ***!
@@ -762,12 +718,9 @@ __webpack_require__.r(__webpack_exports__);
762
718
 
763
719
 
764
720
  function Feedback({
765
- onConfirmSubmit,
766
721
  onCancel
767
722
  }) {
768
- const feedbackSubmit = async e => {
769
- e.preventDefault();
770
- onConfirmSubmit(e);
723
+ const feedbackCancel = async e => {
771
724
  onCancel(e);
772
725
  };
773
726
  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", {
@@ -775,149 +728,20 @@ function Feedback({
775
728
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h3", {
776
729
  id: "wc-subtitle",
777
730
  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", {
731
+ }, "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("a", {
732
+ className: "govuk-link",
733
+ href: "#",
734
+ target: "_blank",
735
+ rel: "noreferrer"
736
+ }, "Feedback Link"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
907
737
  className: "govuk-button-group"
908
738
  }, /*#__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
739
  id: "feedback-cancel",
916
740
  href: "#",
917
- className: "govuk-link govuk-!-font-size-16",
918
741
  "data-module": "govuk-button",
919
- onClick: onCancel
920
- }, "Cancel"))));
742
+ role: "button",
743
+ onClick: feedbackCancel
744
+ }, "Close"))));
921
745
  }
922
746
 
923
747
  /***/ }),
@@ -953,19 +777,19 @@ function PreChat({
953
777
  className: "govuk-list govuk-list--bullet govuk-body-s"
954
778
  }, /*#__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
779
  className: "govuk-body-s"
956
- }, 'There are other ways to ', /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
780
+ }, "There are other ways to\xA0", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
957
781
  className: "govuk-link",
958
782
  href: "https://www.gov.uk/sign-up-for-flood-warnings",
959
783
  target: "_blank",
960
784
  rel: "noreferrer"
961
- }, "sign up for flood warnings"), ' and ', /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
785
+ }, "sign up for flood warnings"), "\xA0and\xA0", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
962
786
  className: "govuk-link",
963
787
  href: "https://www.fws.environment-agency.gov.uk/app/olr/login",
964
788
  target: "_blank",
965
789
  rel: "noreferrer"
966
790
  }, "manage your flood warnings account"), "."), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
967
791
  className: "govuk-body-s"
968
- }, 'Do not use webchat to ', /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
792
+ }, "Do not use webchat to\xA0", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
969
793
  className: "govuk-link",
970
794
  href: "https://www.gov.uk/report-flood-cause",
971
795
  target: "_blank",
@@ -1035,6 +859,13 @@ function RequestChat({
1035
859
  const [isButtonDisabled, setButtonDisabled] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false);
1036
860
  const nameRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)();
1037
861
  const questionRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)();
862
+ const isQuestionLengthValid = QUESTION_MAX_LENGTH >= questionLength;
863
+ const questionLengthRemaining = QUESTION_MAX_LENGTH - questionLength;
864
+ const questionLengthExceeded = questionLength - QUESTION_MAX_LENGTH;
865
+ let questionHint = `You have ${questionLengthRemaining} characters remaining`;
866
+ if (!isQuestionLengthValid) {
867
+ questionHint = `You have ${questionLengthExceeded} characters too many`;
868
+ }
1038
869
  (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
1039
870
  if (Object.keys(errors).length) {
1040
871
  document.querySelector('.govuk-error-summary')?.focus();
@@ -1043,6 +874,7 @@ function RequestChat({
1043
874
  const onQuestionChange = e => {
1044
875
  setQuestionLength(e.target.value.length);
1045
876
  };
877
+ const buttonLabel = isButtonDisabled ? 'Requesting...' : 'Request Chat';
1046
878
  const onRequestChat = async e => {
1047
879
  e.preventDefault();
1048
880
  const errs = {};
@@ -1073,13 +905,6 @@ function RequestChat({
1073
905
  }
1074
906
  setErrors(errs);
1075
907
  };
1076
- const isQuestionLengthValid = QUESTION_MAX_LENGTH >= questionLength;
1077
- const questionLengthRemaining = QUESTION_MAX_LENGTH - questionLength;
1078
- const questionLengthExceeded = questionLength - QUESTION_MAX_LENGTH;
1079
- let questionHint = `You have ${questionLengthRemaining} characters remaining`;
1080
- if (!isQuestionLengthValid) {
1081
- questionHint = `You have ${questionLengthExceeded} characters too many`;
1082
- }
1083
908
  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_3__.PanelHeader, null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
1084
909
  className: "wc-body"
1085
910
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
@@ -1139,12 +964,19 @@ function RequestChat({
1139
964
  }, questionHint), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
1140
965
  className: "govuk-character-count__sr-status govuk-visually-hidden",
1141
966
  "aria-live": "polite"
1142
- }, questionHint))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("button", {
967
+ }, questionHint))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
968
+ className: "govuk-inset-text govuk-!-font-size-16"
969
+ }, "By selecting 'Request chat' you agree to the terms of our\xA0", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
970
+ href: "https://check-for-flooding.service.gov.uk/privacy-notice",
971
+ target: "_blank",
972
+ rel: "noreferrer",
973
+ className: "govuk-link"
974
+ }, "privacy notice"), "."), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("button", {
1143
975
  className: "govuk-button govuk-!-margin-top-1 govuk-!-font-size-16",
1144
976
  "data-module": "govuk-button",
1145
977
  onClick: onRequestChat,
1146
978
  disabled: isButtonDisabled
1147
- }, isButtonDisabled ? 'Requesting...' : 'Request Chat'))));
979
+ }, buttonLabel))));
1148
980
  }
1149
981
 
1150
982
  /***/ }),
@@ -1587,9 +1419,6 @@ const AppProvider = ({
1587
1419
  });
1588
1420
  };
1589
1421
  (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
1590
- sdk.onChatEvent('SetConsumerContactCustomFields', () => {
1591
- console.log('Custom field set');
1592
- });
1593
1422
  sdk.onChatEvent(_nice_devone_nice_cxone_chat_web_sdk__WEBPACK_IMPORTED_MODULE_1__.ChatEvent.LIVECHAT_RECOVERED, onLiveChatRecovered);
1594
1423
  sdk.onChatEvent(_nice_devone_nice_cxone_chat_web_sdk__WEBPACK_IMPORTED_MODULE_1__.ChatEvent.MESSAGE_CREATED, onMessageCreated);
1595
1424
  sdk.onChatEvent(_nice_devone_nice_cxone_chat_web_sdk__WEBPACK_IMPORTED_MODULE_1__.ChatEvent.AGENT_TYPING_STARTED, onAgentTypingStarted);