-
Notifications
You must be signed in to change notification settings - Fork 462
/
Copy pathindex.tsx
123 lines (116 loc) · 3.02 KB
/
index.tsx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
import { Provider } from 'react-redux';
import Widget from './components/Widget';
import store from './store';
import { AnyFunction } from './utils/types';
type Props = {
handleNewUserMessage: AnyFunction;
handleQuickButtonClicked?: AnyFunction;
title?: string;
titleAvatar?: string;
subtitle?: string;
senderPlaceHolder?: string;
showCloseButton?: boolean;
fullScreenMode?: boolean;
autofocus?: boolean;
profileAvatar?: string;
profileClientAvatar?: string;
launcher?: AnyFunction;
handleTextInputChange?: (event: any) => void;
chatId?: string;
handleToggle?: AnyFunction;
launcherOpenLabel?: string,
launcherCloseLabel?: string,
launcherCloseImg?: string,
launcherOpenImg?: string,
sendButtonAlt?: string;
showTimeStamp?: boolean;
imagePreview?: boolean;
zoomStep?: number;
emojis?: boolean;
handleSubmit?: AnyFunction;
showBadge?: boolean;
resizable?: boolean;
} & typeof defaultProps;
function ConnectedWidget({
title,
titleAvatar,
subtitle,
senderPlaceHolder,
showCloseButton,
fullScreenMode,
autofocus,
profileAvatar,
profileClientAvatar,
launcher,
handleNewUserMessage,
handleQuickButtonClicked,
handleTextInputChange,
chatId,
handleToggle,
launcherOpenLabel,
launcherCloseLabel,
launcherCloseImg,
launcherOpenImg,
sendButtonAlt,
showTimeStamp,
imagePreview,
zoomStep,
handleSubmit,
showBadge,
resizable,
emojis
}: Props) {
return (
<Provider store={store}>
<Widget
title={title}
titleAvatar={titleAvatar}
subtitle={subtitle}
handleNewUserMessage={handleNewUserMessage}
handleQuickButtonClicked={handleQuickButtonClicked}
senderPlaceHolder={senderPlaceHolder}
profileAvatar={profileAvatar}
profileClientAvatar={profileClientAvatar}
showCloseButton={showCloseButton}
fullScreenMode={fullScreenMode}
autofocus={autofocus}
customLauncher={launcher}
handleTextInputChange={handleTextInputChange}
chatId={chatId}
handleToggle={handleToggle}
launcherOpenLabel={launcherOpenLabel}
launcherCloseLabel={launcherCloseLabel}
launcherCloseImg={launcherCloseImg}
launcherOpenImg={launcherOpenImg}
sendButtonAlt={sendButtonAlt}
showTimeStamp={showTimeStamp}
imagePreview={imagePreview}
zoomStep={zoomStep}
handleSubmit={handleSubmit}
showBadge={showBadge}
resizable={resizable}
emojis={emojis}
/>
</Provider>
);
}
const defaultProps = {
title: 'Welcome',
subtitle: 'This is your chat subtitle',
senderPlaceHolder: 'Type a message...',
showCloseButton: true,
fullScreenMode: false,
autofocus: true,
chatId: 'rcw-chat-container',
launcherOpenLabel: 'Open chat',
launcherCloseLabel: 'Close chat',
launcherOpenImg: '',
launcherCloseImg: '',
sendButtonAlt: 'Send',
showTimeStamp: true,
imagePreview: false,
zoomStep: 80,
showBadge: true,
};
ConnectedWidget.defaultProps = defaultProps;
export default ConnectedWidget;