@defra/flood-webchat 0.0.1-beta.26 → 0.0.1-beta.27
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 +154 -80
- package/dist/client.js.map +1 -1
- package/main.scss +10 -6
- package/package.json +1 -1
- package/src/client/components/availability/availability.jsx +4 -3
- package/src/client/components/availability/availability.scss +8 -134
- package/src/client/components/chat/chat.jsx +50 -51
- package/src/client/components/chat/chat.scss +113 -35
- package/src/client/components/errorSummary/error-summary.jsx +2 -2
- package/src/client/components/message/message.jsx +4 -4
- package/src/client/components/panel/panel-header.jsx +1 -1
- package/src/client/components/panel/panel.jsx +17 -2
- package/src/client/components/panel/panel.scss +51 -21
- package/src/client/components/screens/end-chat.jsx +6 -4
- package/src/client/components/screens/feedback.jsx +5 -5
- package/src/client/components/screens/pre-chat.jsx +45 -44
- package/src/client/components/screens/request-chat.jsx +74 -67
- package/src/client/components/screens/settings.jsx +39 -37
- package/src/client/hooks/useFocusedElements.js +12 -2
- package/src/client/scss/_objects.scss +33 -0
- package/src/client/scss/_settings.scss +75 -0
- package/src/client/scss/_tools.scss +33 -0
- package/src/client/scss/_utilities.scss +25 -0
- package/src/client/store/AppProvider.jsx +22 -0
- package/src/client/store/actions-map.js +17 -1
- package/src/client/store/reducer.js +2 -0
package/dist/client.js
CHANGED
|
@@ -64,8 +64,8 @@ function Availability() {
|
|
|
64
64
|
};
|
|
65
65
|
}, [buttonRef, isChatOpen]);
|
|
66
66
|
(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
|
|
67
|
-
document.documentElement.classList.toggle('wc-scroll-padding', isFixed);
|
|
68
|
-
document.body.classList.toggle('wc-scroll-padding', isFixed);
|
|
67
|
+
document.documentElement.classList.toggle('wc-u-scroll-padding', isFixed);
|
|
68
|
+
document.body.classList.toggle('wc-u-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
71
|
if (!threadId) {
|
|
@@ -80,13 +80,14 @@ function Availability() {
|
|
|
80
80
|
className: "wc-availability__inner"
|
|
81
81
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
|
|
82
82
|
className: "wc-availability__link",
|
|
83
|
+
role: "button",
|
|
83
84
|
href: "#webchat",
|
|
84
85
|
draggable: "false",
|
|
85
86
|
onClick: onClick,
|
|
86
87
|
onKeyUp: onKeyUp,
|
|
87
88
|
onKeyDown: onKeyDown
|
|
88
89
|
}, TextComponent, unseenCount > 0 && !isChatOpen ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("span", {
|
|
89
|
-
className: "wc-
|
|
90
|
+
className: "wc-availability__unseen"
|
|
90
91
|
}, unseenCount) : null))), isChatOpen && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_panel_panel_jsx__WEBPACK_IMPORTED_MODULE_2__.Panel, null));
|
|
91
92
|
case 'EXISTING':
|
|
92
93
|
case 'UNAVAILABLE':
|
|
@@ -138,9 +139,11 @@ function Chat({
|
|
|
138
139
|
agent,
|
|
139
140
|
agentStatus,
|
|
140
141
|
isAgentTyping,
|
|
141
|
-
settings
|
|
142
|
+
settings,
|
|
143
|
+
isKeyboard
|
|
142
144
|
} = (0,_store_useApp_js__WEBPACK_IMPORTED_MODULE_4__.useApp)();
|
|
143
145
|
const [userMessage, setUserMessage] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)('');
|
|
146
|
+
const [focusVisibleWithin, setFocusVisibleWithin] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false);
|
|
144
147
|
const messageRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)();
|
|
145
148
|
(0,_hooks_useTextareaAutosize_js__WEBPACK_IMPORTED_MODULE_5__.useTextareaAutosize)(messageRef.current, userMessage);
|
|
146
149
|
(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
|
|
@@ -203,26 +206,25 @@ function Chat({
|
|
|
203
206
|
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
207
|
className: "wc-status"
|
|
205
208
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
|
|
206
|
-
className: "wc-status__availability
|
|
209
|
+
className: "wc-status__availability"
|
|
207
210
|
}, connectionHeadlineText), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
|
|
208
|
-
className: "wc-status__link
|
|
211
|
+
className: "wc-status__link",
|
|
209
212
|
href: "#",
|
|
210
213
|
"data-module": "govuk-button",
|
|
211
214
|
onClick: onEndChatScreen
|
|
212
215
|
}, "End chat")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
|
213
|
-
className: "wc-body"
|
|
214
|
-
|
|
215
|
-
className: "wc-chat__body"
|
|
216
|
+
className: "wc-body",
|
|
217
|
+
tabIndex: "0"
|
|
216
218
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("ul", {
|
|
217
|
-
className: "wc-
|
|
219
|
+
className: "wc-chat"
|
|
218
220
|
}, messages.length ? messages.map((msg, index) => /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_message_message_jsx__WEBPACK_IMPORTED_MODULE_3__.Message, {
|
|
219
221
|
key: msg.id,
|
|
220
222
|
message: msg,
|
|
221
223
|
previousMessage: messages[index - 1]
|
|
222
224
|
})) : null, isAgentTyping ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", {
|
|
223
|
-
className: "wc-chat__message
|
|
225
|
+
className: "wc-chat__message outbound"
|
|
224
226
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
|
225
|
-
className: "wc-chat__from
|
|
227
|
+
className: "wc-chat__from"
|
|
226
228
|
}, agentName, " is typing"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
|
227
229
|
className: "wc-chat__text outbound"
|
|
228
230
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("svg", {
|
|
@@ -249,14 +251,12 @@ function Chat({
|
|
|
249
251
|
cy: "8",
|
|
250
252
|
r: "3",
|
|
251
253
|
fill: "currentColor"
|
|
252
|
-
})))) : null))
|
|
253
|
-
className:
|
|
254
|
-
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("form", {
|
|
255
|
-
className: "wc-form",
|
|
254
|
+
})))) : null)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_panel_panel_footer_jsx__WEBPACK_IMPORTED_MODULE_2__.PanelFooter, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("form", {
|
|
255
|
+
className: `wc-form${focusVisibleWithin ? ' wc-focus-within' : ''}`,
|
|
256
256
|
noValidate: true,
|
|
257
257
|
onSubmit: handleSubmit
|
|
258
258
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("label", {
|
|
259
|
-
className: "govuk-label wc-form__label
|
|
259
|
+
className: "govuk-label wc-form__label",
|
|
260
260
|
htmlFor: "wc-form-textarea"
|
|
261
261
|
}, "Your message", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("span", {
|
|
262
262
|
className: "govuk-visually-hidden"
|
|
@@ -264,18 +264,24 @@ function Chat({
|
|
|
264
264
|
ref: messageRef,
|
|
265
265
|
rows: "1",
|
|
266
266
|
"aria-required": "true",
|
|
267
|
-
className: "wc-form__textarea
|
|
267
|
+
className: "wc-form__textarea",
|
|
268
268
|
id: "wc-form-textarea",
|
|
269
269
|
name: "message",
|
|
270
270
|
onChange: onChange,
|
|
271
271
|
onKeyDown: handleKeyPress,
|
|
272
|
+
onFocus: () => {
|
|
273
|
+
setFocusVisibleWithin(isKeyboard);
|
|
274
|
+
},
|
|
275
|
+
onBlur: () => {
|
|
276
|
+
setFocusVisibleWithin(false);
|
|
277
|
+
},
|
|
272
278
|
value: userMessage
|
|
273
279
|
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("input", {
|
|
274
280
|
type: "submit",
|
|
275
|
-
className: "wc-form__button govuk-button
|
|
281
|
+
className: "wc-form__button govuk-button",
|
|
276
282
|
value: "Send",
|
|
277
283
|
"data-prevent-double-click": "true"
|
|
278
|
-
}))
|
|
284
|
+
})), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
|
279
285
|
className: "wc-footer__settings"
|
|
280
286
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
|
|
281
287
|
href: "#",
|
|
@@ -328,11 +334,11 @@ const ErrorSummary = ({
|
|
|
328
334
|
role: "alert"
|
|
329
335
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h2", {
|
|
330
336
|
id: "wc-error",
|
|
331
|
-
className: "govuk-error-summary__title"
|
|
337
|
+
className: "wc-error-summary__title govuk-error-summary__title"
|
|
332
338
|
}, "There is a problem"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
|
333
339
|
className: "govuk-error-summary__body"
|
|
334
340
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("ul", {
|
|
335
|
-
className: "govuk-list govuk-error-summary__list"
|
|
341
|
+
className: "govuk-list govuk-error-summary__list wc-error-summary__list"
|
|
336
342
|
}, errs.map(key => /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", {
|
|
337
343
|
key: key
|
|
338
344
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
|
|
@@ -366,13 +372,13 @@ function Message({
|
|
|
366
372
|
const outbound = message.direction === 'outbound';
|
|
367
373
|
const messageOwnerSameAsPrevious = message?.direction === previousMessage?.direction;
|
|
368
374
|
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", {
|
|
369
|
-
className: (0,_lib_classnames__WEBPACK_IMPORTED_MODULE_1__.classnames)('wc-chat__message
|
|
375
|
+
className: (0,_lib_classnames__WEBPACK_IMPORTED_MODULE_1__.classnames)('wc-chat__message', outbound ? 'outbound' : 'inbound')
|
|
370
376
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
|
371
|
-
className: "wc-chat__from
|
|
377
|
+
className: "wc-chat__from"
|
|
372
378
|
}, messageOwnerSameAsPrevious ? null : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("span", null, outbound ? message.assignee : 'You'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("span", {
|
|
373
379
|
className: "govuk-visually-hidden"
|
|
374
|
-
}, ":")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("
|
|
375
|
-
className: (0,_lib_classnames__WEBPACK_IMPORTED_MODULE_1__.classnames)('wc-chat__text',
|
|
380
|
+
}, ":")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
|
381
|
+
className: (0,_lib_classnames__WEBPACK_IMPORTED_MODULE_1__.classnames)('wc-chat__text', outbound ? 'outbound' : 'inbound')
|
|
376
382
|
}, message.text));
|
|
377
383
|
}
|
|
378
384
|
|
|
@@ -465,7 +471,7 @@ function PanelHeader() {
|
|
|
465
471
|
className: "wc-header"
|
|
466
472
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h2", {
|
|
467
473
|
id: "wc-header-title",
|
|
468
|
-
className: "wc-header__title
|
|
474
|
+
className: "wc-header__title"
|
|
469
475
|
}, "Floodline Webchat"), ButtonComponent);
|
|
470
476
|
}
|
|
471
477
|
|
|
@@ -517,7 +523,8 @@ function Panel() {
|
|
|
517
523
|
setThreadId,
|
|
518
524
|
setChatVisibility,
|
|
519
525
|
setMessages,
|
|
520
|
-
setUnseenCount
|
|
526
|
+
setUnseenCount,
|
|
527
|
+
isMobile
|
|
521
528
|
} = (0,_store_useApp_js__WEBPACK_IMPORTED_MODULE_9__.useApp)();
|
|
522
529
|
const {
|
|
523
530
|
fetchThread,
|
|
@@ -535,6 +542,19 @@ function Panel() {
|
|
|
535
542
|
}
|
|
536
543
|
}, [thread, threadId, setUnseenCount, setChatVisibility]);
|
|
537
544
|
|
|
545
|
+
/**
|
|
546
|
+
* We need ammend classes on the body element to handle mobile behaviour
|
|
547
|
+
*/
|
|
548
|
+
(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
|
|
549
|
+
document.body.classList.remove('wc-u-hidden');
|
|
550
|
+
document.getElementsByTagName('html')[0].classList.add('wc-u-html');
|
|
551
|
+
document.body.classList.add('wc-u-body');
|
|
552
|
+
return () => {
|
|
553
|
+
document.getElementsByTagName('html')[0].classList.remove('wc-u-html');
|
|
554
|
+
document.body.classList.remove('wc-u-body');
|
|
555
|
+
};
|
|
556
|
+
}, [isMobile]);
|
|
557
|
+
|
|
538
558
|
/**
|
|
539
559
|
* Initializes the eventListener for pressing the escape key
|
|
540
560
|
*/
|
|
@@ -631,7 +651,9 @@ function Panel() {
|
|
|
631
651
|
tabIndex: "-1",
|
|
632
652
|
"aria-modal": "true",
|
|
633
653
|
"aria-labelledby": "wc-header-title"
|
|
634
|
-
},
|
|
654
|
+
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
|
655
|
+
className: "wc-panel__inner"
|
|
656
|
+
}, ScreenComponent));
|
|
635
657
|
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/(0,react_dom__WEBPACK_IMPORTED_MODULE_1__.createPortal)(Component, document.body));
|
|
636
658
|
}
|
|
637
659
|
|
|
@@ -682,22 +704,26 @@ function EndChat({
|
|
|
682
704
|
};
|
|
683
705
|
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", {
|
|
684
706
|
className: "wc-body"
|
|
707
|
+
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
|
708
|
+
className: "wc-content"
|
|
685
709
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h3", {
|
|
686
|
-
className: "
|
|
710
|
+
className: "wc-heading",
|
|
687
711
|
"aria-live": "polite"
|
|
688
712
|
}, "Are you sure you want to end the chat?"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
|
689
713
|
className: "govuk-button-group"
|
|
690
714
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
|
|
691
715
|
href: "#endChat",
|
|
692
|
-
|
|
716
|
+
role: "button",
|
|
717
|
+
className: "wc-button govuk-button",
|
|
693
718
|
"data-module": "govuk-button",
|
|
694
719
|
id: "confirmEndChat",
|
|
695
720
|
onClick: confirmEndChat
|
|
696
721
|
}, "Yes, end chat"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
|
|
697
722
|
href: "#resumeChat",
|
|
698
|
-
|
|
723
|
+
role: "button",
|
|
724
|
+
className: "wc-link govuk-link",
|
|
699
725
|
onClick: onChatScreen
|
|
700
|
-
}, "No, resume chat"))));
|
|
726
|
+
}, "No, resume chat")))));
|
|
701
727
|
}
|
|
702
728
|
|
|
703
729
|
/***/ }),
|
|
@@ -725,23 +751,24 @@ function Feedback({
|
|
|
725
751
|
};
|
|
726
752
|
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", {
|
|
727
753
|
className: "wc-body"
|
|
754
|
+
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
|
755
|
+
className: "wc-content"
|
|
728
756
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h3", {
|
|
729
757
|
id: "wc-subtitle",
|
|
730
|
-
className: "
|
|
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", {
|
|
758
|
+
className: "wc-heading"
|
|
759
|
+
}, "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("p", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
|
|
732
760
|
className: "govuk-link",
|
|
733
761
|
href: "#",
|
|
734
762
|
target: "_blank",
|
|
735
763
|
rel: "noreferrer"
|
|
736
|
-
}, "Feedback Link"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("
|
|
737
|
-
className: "govuk-button-group"
|
|
738
|
-
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
|
|
764
|
+
}, "Feedback Link")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
|
|
739
765
|
id: "feedback-cancel",
|
|
766
|
+
className: "wc-link govuk-link",
|
|
740
767
|
href: "#",
|
|
741
768
|
"data-module": "govuk-button",
|
|
742
769
|
role: "button",
|
|
743
770
|
onClick: feedbackCancel
|
|
744
|
-
}, "Close"))));
|
|
771
|
+
}, "Close")))));
|
|
745
772
|
}
|
|
746
773
|
|
|
747
774
|
/***/ }),
|
|
@@ -766,18 +793,14 @@ function PreChat({
|
|
|
766
793
|
}) {
|
|
767
794
|
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", {
|
|
768
795
|
className: "wc-body"
|
|
796
|
+
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
|
797
|
+
className: "wc-content"
|
|
769
798
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h3", {
|
|
770
|
-
className: "
|
|
799
|
+
className: "wc-heading",
|
|
771
800
|
"aria-live": "polite"
|
|
772
|
-
}, "What you can use webchat for"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
|
|
773
|
-
className: "
|
|
774
|
-
}, "
|
|
775
|
-
className: "govuk-body-s"
|
|
776
|
-
}, "You can use webchat to get:"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("ul", {
|
|
777
|
-
className: "govuk-list govuk-list--bullet govuk-body-s"
|
|
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", {
|
|
779
|
-
className: "govuk-body-s"
|
|
780
|
-
}, "There are other ways to\xA0", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
|
|
801
|
+
}, "What you can use webchat for"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", null, "Webchat lets you talk directly to a Floodline adviser."), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", null, "You can use webchat to get:"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("ul", {
|
|
802
|
+
className: "wc-list"
|
|
803
|
+
}, /*#__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", null, "There are other ways to\xA0", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
|
|
781
804
|
className: "govuk-link",
|
|
782
805
|
href: "https://www.gov.uk/sign-up-for-flood-warnings",
|
|
783
806
|
target: "_blank",
|
|
@@ -787,29 +810,23 @@ function PreChat({
|
|
|
787
810
|
href: "https://www.fws.environment-agency.gov.uk/app/olr/login",
|
|
788
811
|
target: "_blank",
|
|
789
812
|
rel: "noreferrer"
|
|
790
|
-
}, "manage your flood warnings account"), "."), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
|
|
791
|
-
className: "govuk-body-s"
|
|
792
|
-
}, "Do not use webchat to\xA0", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
|
|
813
|
+
}, "manage your flood warnings account"), "."), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", null, "Do not use webchat to\xA0", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
|
|
793
814
|
className: "govuk-link",
|
|
794
815
|
href: "https://www.gov.uk/report-flood-cause",
|
|
795
816
|
target: "_blank",
|
|
796
817
|
rel: "noreferrer"
|
|
797
818
|
}, "report a flood"), "."), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("button", {
|
|
798
|
-
className: "govuk-button govuk-!-
|
|
819
|
+
className: "govuk-button wc-button govuk-!-margin-top-1",
|
|
799
820
|
"data-module": "govuk-button",
|
|
800
821
|
onClick: onContinue
|
|
801
822
|
}, "Continue"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h3", {
|
|
802
|
-
className: "
|
|
803
|
-
}, "Other flood information"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
|
|
804
|
-
className: "govuk-body-s"
|
|
805
|
-
}, "Call Floodline for all other flood and flood warning information."), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
|
|
806
|
-
className: "govuk-body-s"
|
|
807
|
-
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("strong", null, "Floodline helpline"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("br", null), "Telephone: 0345 988 1188", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("br", null), "Textphone: 0345 602 6340", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("br", null), "Open 24 hours a day, 7 days a week", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("br", null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
|
|
823
|
+
className: "wc-heading"
|
|
824
|
+
}, "Other flood information"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", null, "Call Floodline for all other flood and flood warning information."), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("strong", null, "Floodline helpline"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("br", null), "Telephone: 0345 988 1188", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("br", null), "Textphone: 0345 602 6340", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("br", null), "Open 24 hours a day, 7 days a week", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("br", null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
|
|
808
825
|
className: "govuk-link",
|
|
809
826
|
href: "https://gov.uk/call-charges",
|
|
810
827
|
target: "_blank",
|
|
811
828
|
rel: "noreferrer"
|
|
812
|
-
}, "Find out more about call charges"))));
|
|
829
|
+
}, "Find out more about call charges")))));
|
|
813
830
|
}
|
|
814
831
|
|
|
815
832
|
/***/ }),
|
|
@@ -907,6 +924,8 @@ function RequestChat({
|
|
|
907
924
|
};
|
|
908
925
|
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", {
|
|
909
926
|
className: "wc-body"
|
|
927
|
+
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
|
928
|
+
className: "wc-content"
|
|
910
929
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
|
|
911
930
|
href: "#",
|
|
912
931
|
className: "wc-back-link govuk-back-link",
|
|
@@ -914,12 +933,12 @@ function RequestChat({
|
|
|
914
933
|
}, "What you can use webchat for"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_errorSummary_error_summary_jsx__WEBPACK_IMPORTED_MODULE_6__.ErrorSummary, {
|
|
915
934
|
errors: errors
|
|
916
935
|
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h3", {
|
|
917
|
-
className: "
|
|
936
|
+
className: "wc-heading",
|
|
918
937
|
"aria-live": "polite"
|
|
919
938
|
}, "Your name and question"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("form", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
|
920
|
-
className: (0,_lib_classnames_js__WEBPACK_IMPORTED_MODULE_2__.classnames)('govuk-form-group', errors.name && 'govuk-form-group--error')
|
|
939
|
+
className: (0,_lib_classnames_js__WEBPACK_IMPORTED_MODULE_2__.classnames)('wc-form-group', 'govuk-form-group', errors.name && 'govuk-form-group--error')
|
|
921
940
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("label", {
|
|
922
|
-
className: "govuk-label",
|
|
941
|
+
className: "wc-label govuk-label",
|
|
923
942
|
htmlFor: "wc-name"
|
|
924
943
|
}, "Your name"), errors.name && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
|
|
925
944
|
className: "govuk-error-message"
|
|
@@ -927,19 +946,19 @@ function RequestChat({
|
|
|
927
946
|
className: "govuk-visually-hidden"
|
|
928
947
|
}, "Error:"), " ", errors.name), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("input", {
|
|
929
948
|
ref: nameRef,
|
|
930
|
-
className: (0,_lib_classnames_js__WEBPACK_IMPORTED_MODULE_2__.classnames)('govuk-input', errors.name && 'govuk-input--error'),
|
|
949
|
+
className: (0,_lib_classnames_js__WEBPACK_IMPORTED_MODULE_2__.classnames)('wc-input', 'govuk-input', errors.name && 'govuk-input--error'),
|
|
931
950
|
id: "wc-name",
|
|
932
951
|
name: "name",
|
|
933
952
|
type: "text",
|
|
934
953
|
"data-testid": "request-chat-user-name"
|
|
935
954
|
})), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
|
936
|
-
className: "govuk-character-count",
|
|
955
|
+
className: "wc-form-group govuk-character-count",
|
|
937
956
|
"data-module": "govuk-character-count",
|
|
938
957
|
"data-maxlength": "500"
|
|
939
958
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
|
940
959
|
className: (0,_lib_classnames_js__WEBPACK_IMPORTED_MODULE_2__.classnames)('govuk-form-group', errors.question && 'govuk-form-group--error')
|
|
941
960
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("label", {
|
|
942
|
-
className: "govuk-label",
|
|
961
|
+
className: "wc-label govuk-label",
|
|
943
962
|
htmlFor: "wc-question"
|
|
944
963
|
}, "Your question"), errors.question && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
|
|
945
964
|
className: "govuk-error-message"
|
|
@@ -952,11 +971,11 @@ function RequestChat({
|
|
|
952
971
|
rows: "5",
|
|
953
972
|
"aria-describedby": "wc-question-info",
|
|
954
973
|
onChange: onQuestionChange,
|
|
955
|
-
className: (0,_lib_classnames_js__WEBPACK_IMPORTED_MODULE_2__.classnames)('govuk-textarea', 'govuk-js-character-count', !isQuestionLengthValid || errors.question ? 'govuk-textarea--error' : ''),
|
|
974
|
+
className: (0,_lib_classnames_js__WEBPACK_IMPORTED_MODULE_2__.classnames)('wc-textarea', 'govuk-textarea', 'govuk-js-character-count', !isQuestionLengthValid || errors.question ? 'govuk-textarea--error' : ''),
|
|
956
975
|
"data-testid": "request-chat-user-question"
|
|
957
976
|
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
|
958
977
|
id: "wc-question-info",
|
|
959
|
-
className: "govuk-hint govuk-
|
|
978
|
+
className: "wc-hint govuk-hint govuk-char-count__msg",
|
|
960
979
|
style: {
|
|
961
980
|
color: `${!isQuestionLengthValid ? '#d4351c' : ''}`
|
|
962
981
|
},
|
|
@@ -965,18 +984,18 @@ function RequestChat({
|
|
|
965
984
|
className: "govuk-character-count__sr-status govuk-visually-hidden",
|
|
966
985
|
"aria-live": "polite"
|
|
967
986
|
}, questionHint))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
|
968
|
-
className: "
|
|
987
|
+
className: "wc-inset-text govuk-inset-text"
|
|
969
988
|
}, "By selecting 'Request chat' you agree to the terms of our\xA0", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
|
|
970
989
|
href: "https://check-for-flooding.service.gov.uk/privacy-notice",
|
|
971
990
|
target: "_blank",
|
|
972
991
|
rel: "noreferrer",
|
|
973
992
|
className: "govuk-link"
|
|
974
993
|
}, "privacy notice"), "."), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("button", {
|
|
975
|
-
className: "govuk-button govuk-!-margin-top-1
|
|
994
|
+
className: "wc-button govuk-button govuk-!-margin-top-1",
|
|
976
995
|
"data-module": "govuk-button",
|
|
977
996
|
onClick: onRequestChat,
|
|
978
997
|
disabled: isButtonDisabled
|
|
979
|
-
}, buttonLabel))));
|
|
998
|
+
}, buttonLabel)))));
|
|
980
999
|
}
|
|
981
1000
|
|
|
982
1001
|
/***/ }),
|
|
@@ -1017,13 +1036,15 @@ function Settings({
|
|
|
1017
1036
|
};
|
|
1018
1037
|
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", {
|
|
1019
1038
|
className: "wc-body"
|
|
1039
|
+
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
|
1040
|
+
className: "wc-content"
|
|
1020
1041
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("fieldset", {
|
|
1021
1042
|
className: "govuk-fieldset govuk-!-margin-bottom-4"
|
|
1022
1043
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("legend", {
|
|
1023
1044
|
className: "govuk-fieldset__legend govuk-fieldset__legend"
|
|
1024
1045
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h3", {
|
|
1025
1046
|
id: "wc-subtitle",
|
|
1026
|
-
className: "
|
|
1047
|
+
className: "wc-heading"
|
|
1027
1048
|
}, "Change settings")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
|
1028
1049
|
className: "govuk-checkboxes govuk-checkboxes--small",
|
|
1029
1050
|
"data-module": "govuk-checkboxes"
|
|
@@ -1038,7 +1059,7 @@ function Settings({
|
|
|
1038
1059
|
defaultChecked: optionAudio,
|
|
1039
1060
|
onChange: () => setOptionAudio(!optionAudio)
|
|
1040
1061
|
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("label", {
|
|
1041
|
-
className: "
|
|
1062
|
+
className: "wc-label govuk-label govuk-checkboxes__label",
|
|
1042
1063
|
htmlFor: "audio"
|
|
1043
1064
|
}, "Play a sound when receiving a new message")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
|
1044
1065
|
className: "govuk-checkboxes__item"
|
|
@@ -1051,23 +1072,23 @@ function Settings({
|
|
|
1051
1072
|
defaultChecked: optionScroll,
|
|
1052
1073
|
onChange: () => setOptionScroll(!optionScroll)
|
|
1053
1074
|
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("label", {
|
|
1054
|
-
className: "
|
|
1075
|
+
className: "wc-label govuk-label govuk-checkboxes__label",
|
|
1055
1076
|
htmlFor: "scroll"
|
|
1056
1077
|
}, "Scroll automatically to a new message")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
|
1057
1078
|
className: "govuk-button-group"
|
|
1058
1079
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
|
|
1059
1080
|
id: "settings-save",
|
|
1060
1081
|
href: "#",
|
|
1061
|
-
className: "
|
|
1082
|
+
className: "wc-button govuk-button",
|
|
1062
1083
|
"data-module": "govuk-button",
|
|
1063
1084
|
onClick: onSave
|
|
1064
1085
|
}, "Save"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
|
|
1065
1086
|
id: "settings-cancel",
|
|
1066
1087
|
href: "#",
|
|
1067
|
-
className: "
|
|
1088
|
+
className: "wc-link govuk-link",
|
|
1068
1089
|
"data-module": "govuk-button",
|
|
1069
1090
|
onClick: onCancel
|
|
1070
|
-
}, "Cancel"))));
|
|
1091
|
+
}, "Cancel")))));
|
|
1071
1092
|
}
|
|
1072
1093
|
|
|
1073
1094
|
/***/ }),
|
|
@@ -1121,10 +1142,19 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
1121
1142
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
|
|
1122
1143
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
1123
1144
|
|
|
1124
|
-
const
|
|
1145
|
+
const ariaHidden = 'aria-hidden';
|
|
1146
|
+
const dataWcInert = 'data-wc-inert';
|
|
1147
|
+
const setAriaHidden = isInert => {
|
|
1125
1148
|
for (const node of document.body.children) {
|
|
1126
1149
|
if (node.id !== 'wc-panel') {
|
|
1127
|
-
|
|
1150
|
+
// We only want to toggle elements that aren't already inert
|
|
1151
|
+
if (isInert && !node.getAttribute(ariaHidden)) {
|
|
1152
|
+
node.setAttribute(ariaHidden, 'true');
|
|
1153
|
+
node.setAttribute(dataWcInert, '');
|
|
1154
|
+
} else if (node.hasAttribute(dataWcInert)) {
|
|
1155
|
+
node.removeAttribute(ariaHidden);
|
|
1156
|
+
node.removeAttribute(dataWcInert);
|
|
1157
|
+
}
|
|
1128
1158
|
}
|
|
1129
1159
|
}
|
|
1130
1160
|
};
|
|
@@ -1415,6 +1445,24 @@ const AppProvider = ({
|
|
|
1415
1445
|
payload: e.detail.data.case.status
|
|
1416
1446
|
});
|
|
1417
1447
|
};
|
|
1448
|
+
const onMatchMedia = e => {
|
|
1449
|
+
dispatch({
|
|
1450
|
+
type: 'TOGGLE_IS_MOBILE',
|
|
1451
|
+
payload: e.matches
|
|
1452
|
+
});
|
|
1453
|
+
};
|
|
1454
|
+
const onKeydown = () => {
|
|
1455
|
+
dispatch({
|
|
1456
|
+
type: 'TOGGLE_IS_KEYBOARD',
|
|
1457
|
+
payload: true
|
|
1458
|
+
});
|
|
1459
|
+
};
|
|
1460
|
+
const onPointerdown = () => {
|
|
1461
|
+
dispatch({
|
|
1462
|
+
type: 'TOGGLE_IS_KEYBOARD',
|
|
1463
|
+
payload: false
|
|
1464
|
+
});
|
|
1465
|
+
};
|
|
1418
1466
|
(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
|
|
1419
1467
|
sdk.onChatEvent(_nice_devone_nice_cxone_chat_web_sdk__WEBPACK_IMPORTED_MODULE_1__.ChatEvent.LIVECHAT_RECOVERED, onLiveChatRecovered);
|
|
1420
1468
|
sdk.onChatEvent(_nice_devone_nice_cxone_chat_web_sdk__WEBPACK_IMPORTED_MODULE_1__.ChatEvent.MESSAGE_CREATED, onMessageCreated);
|
|
@@ -1422,6 +1470,16 @@ const AppProvider = ({
|
|
|
1422
1470
|
sdk.onChatEvent(_nice_devone_nice_cxone_chat_web_sdk__WEBPACK_IMPORTED_MODULE_1__.ChatEvent.AGENT_TYPING_ENDED, onAgentTypingEnded);
|
|
1423
1471
|
sdk.onChatEvent(_nice_devone_nice_cxone_chat_web_sdk__WEBPACK_IMPORTED_MODULE_1__.ChatEvent.ASSIGNED_AGENT_CHANGED, onAssignedAgentChanged);
|
|
1424
1472
|
sdk.onChatEvent(_nice_devone_nice_cxone_chat_web_sdk__WEBPACK_IMPORTED_MODULE_1__.ChatEvent.CONTACT_STATUS_CHANGED, onContactStatusChanged);
|
|
1473
|
+
// We need to know if it is a mobile and if it is a keyboard interaction
|
|
1474
|
+
window.matchMedia('(max-width: 640px)').addEventListener('change', onMatchMedia);
|
|
1475
|
+
window.addEventListener('keydown', onKeydown);
|
|
1476
|
+
window.addEventListener('pointerdown', onPointerdown);
|
|
1477
|
+
// Tidying up
|
|
1478
|
+
return () => {
|
|
1479
|
+
window.removeEventListener('change', onMatchMedia);
|
|
1480
|
+
window.removeEventListener('keydown', onKeydown);
|
|
1481
|
+
window.removeEventListener('pointerdown', onPointerdown);
|
|
1482
|
+
};
|
|
1425
1483
|
}, [sdk]);
|
|
1426
1484
|
|
|
1427
1485
|
/**
|
|
@@ -1617,6 +1675,18 @@ const setUnseenCount = (state, payload) => {
|
|
|
1617
1675
|
unseenCount: payload
|
|
1618
1676
|
};
|
|
1619
1677
|
};
|
|
1678
|
+
const toggleIsMobile = (state, payload) => {
|
|
1679
|
+
return {
|
|
1680
|
+
...state,
|
|
1681
|
+
isMobile: payload
|
|
1682
|
+
};
|
|
1683
|
+
};
|
|
1684
|
+
const toggleIsKeyboard = (state, payload) => {
|
|
1685
|
+
return {
|
|
1686
|
+
...state,
|
|
1687
|
+
isKeyboard: payload
|
|
1688
|
+
};
|
|
1689
|
+
};
|
|
1620
1690
|
const actionsMap = {
|
|
1621
1691
|
SET_CHAT_VISIBILITY: setChatVisibility,
|
|
1622
1692
|
SET_AVAILABILITY: setAvailability,
|
|
@@ -1629,7 +1699,9 @@ const actionsMap = {
|
|
|
1629
1699
|
SET_AGENT: setAgent,
|
|
1630
1700
|
SET_AGENT_TYPING: setAgentIsTyping,
|
|
1631
1701
|
SET_AGENT_STATUS: setAgentStatus,
|
|
1632
|
-
SET_UNSEEN_COUNT: setUnseenCount
|
|
1702
|
+
SET_UNSEEN_COUNT: setUnseenCount,
|
|
1703
|
+
TOGGLE_IS_MOBILE: toggleIsMobile,
|
|
1704
|
+
TOGGLE_IS_KEYBOARD: toggleIsKeyboard
|
|
1633
1705
|
};
|
|
1634
1706
|
|
|
1635
1707
|
/***/ }),
|
|
@@ -1676,6 +1748,8 @@ const initialState = {
|
|
|
1676
1748
|
agentStatus: null,
|
|
1677
1749
|
isAgentTyping: false,
|
|
1678
1750
|
isChatOpen: false,
|
|
1751
|
+
isMobile: window.matchMedia('(max-width: 640px)').matches,
|
|
1752
|
+
isKeyboard: false,
|
|
1679
1753
|
settings: {
|
|
1680
1754
|
audio: true,
|
|
1681
1755
|
scroll: true
|