react-native-srschat 0.1.14 → 0.1.16

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.
Files changed (141) hide show
  1. package/README.md +54 -14
  2. package/lib/commonjs/components/email.js +243 -0
  3. package/lib/commonjs/components/email.js.map +1 -0
  4. package/lib/commonjs/components/feedback.js +115 -0
  5. package/lib/commonjs/components/feedback.js.map +1 -0
  6. package/lib/commonjs/components/header.js +33 -17
  7. package/lib/commonjs/components/header.js.map +1 -1
  8. package/lib/commonjs/components/input.js +106 -0
  9. package/lib/commonjs/components/input.js.map +1 -0
  10. package/lib/commonjs/components/productCard.js +234 -0
  11. package/lib/commonjs/components/productCard.js.map +1 -0
  12. package/lib/commonjs/components/testing.js +19 -6
  13. package/lib/commonjs/components/testing.js.map +1 -1
  14. package/lib/commonjs/{layout/chatIcon.js → components/welcomeButton.js} +40 -37
  15. package/lib/commonjs/components/welcomeButton.js.map +1 -0
  16. package/lib/commonjs/components/welcomeInput.js +87 -0
  17. package/lib/commonjs/components/welcomeInput.js.map +1 -0
  18. package/lib/commonjs/contexts/AppContext.js +269 -55
  19. package/lib/commonjs/contexts/AppContext.js.map +1 -1
  20. package/lib/commonjs/hooks/{Stream.js → stream.js} +107 -39
  21. package/lib/commonjs/hooks/stream.js.map +1 -0
  22. package/lib/commonjs/hooks/useAsyncStorage.js +36 -0
  23. package/lib/commonjs/hooks/useAsyncStorage.js.map +1 -0
  24. package/lib/commonjs/index.js +13 -6
  25. package/lib/commonjs/index.js.map +1 -1
  26. package/lib/commonjs/layout/disclaimer.js +200 -0
  27. package/lib/commonjs/layout/disclaimer.js.map +1 -0
  28. package/lib/commonjs/layout/ex.js +272 -0
  29. package/lib/commonjs/layout/ex.js.map +1 -0
  30. package/lib/commonjs/layout/icon.js +114 -0
  31. package/lib/commonjs/layout/icon.js.map +1 -0
  32. package/lib/commonjs/layout/layout.js +148 -14
  33. package/lib/commonjs/layout/layout.js.map +1 -1
  34. package/lib/commonjs/layout/welcome.js +135 -0
  35. package/lib/commonjs/layout/welcome.js.map +1 -0
  36. package/lib/commonjs/layout/window.js +205 -0
  37. package/lib/commonjs/layout/window.js.map +1 -0
  38. package/lib/module/components/email.js +233 -0
  39. package/lib/module/components/email.js.map +1 -0
  40. package/lib/module/components/feedback.js +105 -0
  41. package/lib/module/components/feedback.js.map +1 -0
  42. package/lib/module/components/header.js +33 -17
  43. package/lib/module/components/header.js.map +1 -1
  44. package/lib/module/components/input.js +96 -0
  45. package/lib/module/components/input.js.map +1 -0
  46. package/lib/module/components/productCard.js +225 -0
  47. package/lib/module/components/productCard.js.map +1 -0
  48. package/lib/module/components/testing.js +20 -7
  49. package/lib/module/components/testing.js.map +1 -1
  50. package/lib/module/components/welcomeButton.js +48 -0
  51. package/lib/module/components/welcomeButton.js.map +1 -0
  52. package/lib/module/components/welcomeInput.js +77 -0
  53. package/lib/module/components/welcomeInput.js.map +1 -0
  54. package/lib/module/contexts/AppContext.js +269 -56
  55. package/lib/module/contexts/AppContext.js.map +1 -1
  56. package/lib/module/hooks/{Stream.js → stream.js} +107 -39
  57. package/lib/module/hooks/stream.js.map +1 -0
  58. package/lib/module/hooks/useAsyncStorage.js +29 -0
  59. package/lib/module/hooks/useAsyncStorage.js.map +1 -0
  60. package/lib/module/index.js +13 -6
  61. package/lib/module/index.js.map +1 -1
  62. package/lib/module/layout/disclaimer.js +190 -0
  63. package/lib/module/layout/disclaimer.js.map +1 -0
  64. package/lib/module/layout/ex.js +262 -0
  65. package/lib/module/layout/ex.js.map +1 -0
  66. package/lib/module/layout/icon.js +104 -0
  67. package/lib/module/layout/icon.js.map +1 -0
  68. package/lib/module/layout/layout.js +150 -16
  69. package/lib/module/layout/layout.js.map +1 -1
  70. package/lib/module/layout/welcome.js +126 -0
  71. package/lib/module/layout/welcome.js.map +1 -0
  72. package/lib/module/layout/window.js +195 -0
  73. package/lib/module/layout/window.js.map +1 -0
  74. package/lib/typescript/components/email.d.ts +5 -0
  75. package/lib/typescript/components/email.d.ts.map +1 -0
  76. package/lib/typescript/components/feedback.d.ts +6 -0
  77. package/lib/typescript/components/feedback.d.ts.map +1 -0
  78. package/lib/typescript/components/header.d.ts.map +1 -1
  79. package/lib/typescript/components/input.d.ts +6 -0
  80. package/lib/typescript/components/input.d.ts.map +1 -0
  81. package/lib/typescript/components/productCard.d.ts +5 -0
  82. package/lib/typescript/components/productCard.d.ts.map +1 -0
  83. package/lib/typescript/components/testing.d.ts.map +1 -1
  84. package/lib/typescript/components/welcomeButton.d.ts +4 -0
  85. package/lib/typescript/components/welcomeButton.d.ts.map +1 -0
  86. package/lib/typescript/components/welcomeInput.d.ts +6 -0
  87. package/lib/typescript/components/welcomeInput.d.ts.map +1 -0
  88. package/lib/typescript/contexts/AppContext.d.ts +5 -1
  89. package/lib/typescript/contexts/AppContext.d.ts.map +1 -1
  90. package/lib/typescript/hooks/{Stream.d.ts → stream.d.ts} +1 -1
  91. package/lib/typescript/hooks/stream.d.ts.map +1 -0
  92. package/lib/typescript/hooks/useAsyncStorage.d.ts +2 -0
  93. package/lib/typescript/hooks/useAsyncStorage.d.ts.map +1 -0
  94. package/lib/typescript/index.d.ts +2 -1
  95. package/lib/typescript/index.d.ts.map +1 -1
  96. package/lib/typescript/layout/disclaimer.d.ts +5 -0
  97. package/lib/typescript/layout/disclaimer.d.ts.map +1 -0
  98. package/lib/typescript/layout/ex.d.ts +3 -0
  99. package/lib/typescript/layout/ex.d.ts.map +1 -0
  100. package/lib/typescript/layout/{chatIcon.d.ts → icon.d.ts} +1 -1
  101. package/lib/typescript/layout/icon.d.ts.map +1 -0
  102. package/lib/typescript/layout/layout.d.ts +1 -4
  103. package/lib/typescript/layout/layout.d.ts.map +1 -1
  104. package/lib/typescript/layout/welcome.d.ts +5 -0
  105. package/lib/typescript/layout/welcome.d.ts.map +1 -0
  106. package/lib/typescript/layout/window.d.ts +5 -0
  107. package/lib/typescript/layout/window.d.ts.map +1 -0
  108. package/package.json +6 -1
  109. package/src/components/email.js +210 -0
  110. package/src/components/feedback.js +114 -0
  111. package/src/components/header.js +32 -17
  112. package/src/components/input.js +95 -0
  113. package/src/components/productCard.js +240 -0
  114. package/src/components/testing.js +17 -4
  115. package/src/components/welcomeButton.js +51 -0
  116. package/src/components/welcomeInput.js +81 -0
  117. package/src/contexts/AppContext.js +235 -52
  118. package/src/hooks/{Stream.js → stream.js} +123 -41
  119. package/src/hooks/useAsyncStorage.js +33 -0
  120. package/src/index.js +7 -3
  121. package/src/layout/disclaimer.js +187 -0
  122. package/src/layout/ex.js +251 -0
  123. package/src/layout/icon.js +96 -0
  124. package/src/layout/layout.js +137 -10
  125. package/src/layout/welcome.js +124 -0
  126. package/src/layout/window.js +194 -0
  127. package/lib/commonjs/hooks/Stream.js.map +0 -1
  128. package/lib/commonjs/layout/chatIcon.js.map +0 -1
  129. package/lib/commonjs/layout/chatWindow.js +0 -199
  130. package/lib/commonjs/layout/chatWindow.js.map +0 -1
  131. package/lib/module/hooks/Stream.js.map +0 -1
  132. package/lib/module/layout/chatIcon.js +0 -44
  133. package/lib/module/layout/chatIcon.js.map +0 -1
  134. package/lib/module/layout/chatWindow.js +0 -189
  135. package/lib/module/layout/chatWindow.js.map +0 -1
  136. package/lib/typescript/hooks/Stream.d.ts.map +0 -1
  137. package/lib/typescript/layout/chatIcon.d.ts.map +0 -1
  138. package/lib/typescript/layout/chatWindow.d.ts +0 -6
  139. package/lib/typescript/layout/chatWindow.d.ts.map +0 -1
  140. package/src/layout/chatIcon.js +0 -38
  141. package/src/layout/chatWindow.js +0 -211
@@ -0,0 +1,205 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ChatWindow = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _header = require("../components/header");
10
+ var _AppContext = require("../contexts/AppContext");
11
+ var _Ionicons = _interopRequireDefault(require("react-native-vector-icons/Ionicons"));
12
+ var _reactNativeKeyboardAwareScrollView = require("react-native-keyboard-aware-scroll-view");
13
+ var _testing = require("../components/testing");
14
+ var _input = require("../components/input");
15
+ var _stream = require("../hooks/stream");
16
+ var _productCard = require("../components/productCard");
17
+ var _reactNativeMarkdownDisplay = _interopRequireDefault(require("react-native-markdown-display"));
18
+ var _feedback = require("../components/feedback");
19
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
20
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
21
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
22
+ const ChatWindow = ({
23
+ panHandlers
24
+ }) => {
25
+ const {
26
+ handleSend,
27
+ messages,
28
+ input,
29
+ setInput,
30
+ ghostMessage,
31
+ handleButtonClick,
32
+ onProductCardClick,
33
+ onAddToCartClick,
34
+ uiConfig
35
+ } = (0, _react.useContext)(_AppContext.AppContext);
36
+ const scrollViewRef = (0, _react.useRef)(null);
37
+ const fadeAnim = (0, _react.useRef)(new _reactNative.Animated.Value(0.6)).current;
38
+ (0, _react.useEffect)(() => {
39
+ if (scrollViewRef.current) {
40
+ setTimeout(() => {
41
+ scrollViewRef.current.scrollToEnd({
42
+ animated: false
43
+ });
44
+ }, 100);
45
+ }
46
+ }, []);
47
+ (0, _react.useEffect)(() => {
48
+ if (ghostMessage) {
49
+ _reactNative.Animated.loop(_reactNative.Animated.sequence([_reactNative.Animated.timing(fadeAnim, {
50
+ toValue: 1,
51
+ duration: 500,
52
+ useNativeDriver: false
53
+ }), _reactNative.Animated.timing(fadeAnim, {
54
+ toValue: 0.6,
55
+ duration: 500,
56
+ useNativeDriver: false
57
+ })])).start();
58
+ }
59
+ }, [ghostMessage]);
60
+ (0, _stream.useWebSocketMessage)();
61
+ return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
62
+ style: styles.container
63
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.View, panHandlers, /*#__PURE__*/_react.default.createElement(_header.Header, null)), /*#__PURE__*/_react.default.createElement(_reactNativeKeyboardAwareScrollView.KeyboardAwareScrollView, {
64
+ ref: scrollViewRef,
65
+ contentContainerStyle: styles.messagesContent,
66
+ enableOnAndroid: true,
67
+ contentInsetAdjustmentBehavior: "never",
68
+ automaticallyAdjustContentInsets: false,
69
+ contentInset: {
70
+ bottom: 0
71
+ },
72
+ keyboardShouldPersistTaps: "always",
73
+ showsVerticalScrollIndicator: false,
74
+ extraScrollHeight: 0,
75
+ onContentSizeChange: () => {
76
+ var _scrollViewRef$curren;
77
+ (_scrollViewRef$curren = scrollViewRef.current) === null || _scrollViewRef$curren === void 0 || _scrollViewRef$curren.scrollToEnd({
78
+ animated: true
79
+ });
80
+ }
81
+ }, messages.map((msg, i) => /*#__PURE__*/_react.default.createElement(_reactNative.View, {
82
+ key: i,
83
+ style: styles.messageWrapper
84
+ }, msg.type !== "middle" && /*#__PURE__*/_react.default.createElement(_reactNative.View, {
85
+ style: [styles.messageBubble, msg.type === "user" ? styles.userMessage : styles.aiMessage]
86
+ }, /*#__PURE__*/_react.default.createElement(_reactNativeMarkdownDisplay.default, {
87
+ style: {
88
+ body: {
89
+ color: msg.type === "user" ? "#ffffff" : "#161616",
90
+ fontSize: 16,
91
+ lineHeight: 22
92
+ }
93
+ }
94
+ }, msg.text), msg.type == 'ai' && i != 0 && msg.message_id && /*#__PURE__*/_react.default.createElement(_feedback.Feedback, {
95
+ message: msg,
96
+ messageId: msg.message_id
97
+ })), msg.products && msg.products.length > 0 && msg.products.map((prod, index) => /*#__PURE__*/_react.default.createElement(_reactNative.View, {
98
+ key: index,
99
+ style: styles.productCardWrapper
100
+ }, /*#__PURE__*/_react.default.createElement(_productCard.ProductCard, {
101
+ prod: prod
102
+ }))), msg.suggested_questions && Array.isArray(msg.questions) && msg.questions.map((question, index) => /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
103
+ key: index,
104
+ style: styles.suggestedQuestionButton,
105
+ onPress: () => handleButtonClick(question)
106
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
107
+ style: styles.suggestedQuestionText
108
+ }, question))), ghostMessage && i === messages.length - 1 && /*#__PURE__*/_react.default.createElement(_reactNative.View, {
109
+ style: styles.ghostMessageContainer
110
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.Animated.View, {
111
+ style: [styles.ghostBar, styles.ghostBarShort, {
112
+ opacity: fadeAnim
113
+ }]
114
+ }), /*#__PURE__*/_react.default.createElement(_reactNative.Animated.View, {
115
+ style: [styles.ghostBar, styles.ghostBarLong, {
116
+ opacity: fadeAnim
117
+ }]
118
+ }), /*#__PURE__*/_react.default.createElement(_reactNative.Animated.View, {
119
+ style: [styles.ghostBar, styles.ghostBarMedium, {
120
+ opacity: fadeAnim
121
+ }]
122
+ }))))), /*#__PURE__*/_react.default.createElement(_reactNative.KeyboardAvoidingView, {
123
+ behavior: _reactNative.Platform.OS === 'ios' ? 'padding' : undefined,
124
+ keyboardVerticalOffset: _reactNative.Platform.OS === 'ios' ? 120 : 60
125
+ }, uiConfig.testButtons && /*#__PURE__*/_react.default.createElement(_testing.Testing, {
126
+ onProductCardClick: onProductCardClick,
127
+ onAddToCartClick: onAddToCartClick
128
+ }), /*#__PURE__*/_react.default.createElement(_input.ChatInput, null)));
129
+ };
130
+ exports.ChatWindow = ChatWindow;
131
+ const styles = _reactNative.StyleSheet.create({
132
+ container: {
133
+ flex: 1
134
+ },
135
+ messagesContent: {
136
+ padding: 16,
137
+ justifyContent: 'flex-end'
138
+ },
139
+ messageWrapper: {
140
+ marginBottom: 0
141
+ },
142
+ messageBubble: {
143
+ padding: 6,
144
+ paddingHorizontal: 16,
145
+ borderRadius: 12,
146
+ marginBottom: 5
147
+ },
148
+ userMessage: {
149
+ alignSelf: 'flex-end',
150
+ backgroundColor: "#003764",
151
+ color: "#ffffff"
152
+ },
153
+ aiMessage: {
154
+ alignSelf: 'flex-start',
155
+ backgroundColor: '#FFFFFF',
156
+ width: '100%'
157
+ },
158
+ productCardWrapper: {
159
+ marginTop: 5
160
+ },
161
+ suggestedQuestionButton: {
162
+ backgroundColor: "white",
163
+ borderWidth: 1,
164
+ borderColor: "#004687",
165
+ borderRadius: 18,
166
+ paddingVertical: 10,
167
+ paddingHorizontal: 16,
168
+ marginBottom: 7,
169
+ alignSelf: "flex-start"
170
+ },
171
+ suggestedQuestionText: {
172
+ color: "#004687",
173
+ fontSize: 13,
174
+ textAlign: "left"
175
+ },
176
+ ghostMessageContainer: {
177
+ alignSelf: 'flex-start',
178
+ width: '100%',
179
+ backgroundColor: "#FFFFFF",
180
+ borderRadius: 10,
181
+ borderTopLeftRadius: 0,
182
+ padding: 14,
183
+ marginVertical: 5
184
+ },
185
+ ghostBar: {
186
+ height: 20,
187
+ borderRadius: 10,
188
+ backgroundColor: "#ebebeb",
189
+ marginVertical: 3
190
+ },
191
+ ghostBarShort: {
192
+ width: "50%"
193
+ },
194
+ ghostBarMedium: {
195
+ width: "75%"
196
+ },
197
+ ghostBarLong: {
198
+ width: "100%"
199
+ }
200
+ });
201
+ {/* <Testing
202
+ onProductCardClick={onProductCardClick}
203
+ onAddToCartClick={onAddToCartClick}
204
+ /> */}
205
+ //# sourceMappingURL=window.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_header","_AppContext","_Ionicons","_interopRequireDefault","_reactNativeKeyboardAwareScrollView","_testing","_input","_stream","_productCard","_reactNativeMarkdownDisplay","_feedback","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ChatWindow","panHandlers","handleSend","messages","input","setInput","ghostMessage","handleButtonClick","onProductCardClick","onAddToCartClick","uiConfig","useContext","AppContext","scrollViewRef","useRef","fadeAnim","Animated","Value","current","useEffect","setTimeout","scrollToEnd","animated","loop","sequence","timing","toValue","duration","useNativeDriver","start","useWebSocketMessage","createElement","View","style","styles","container","Header","KeyboardAwareScrollView","ref","contentContainerStyle","messagesContent","enableOnAndroid","contentInsetAdjustmentBehavior","automaticallyAdjustContentInsets","contentInset","bottom","keyboardShouldPersistTaps","showsVerticalScrollIndicator","extraScrollHeight","onContentSizeChange","_scrollViewRef$curren","map","msg","key","messageWrapper","type","messageBubble","userMessage","aiMessage","body","color","fontSize","lineHeight","text","message_id","Feedback","message","messageId","products","length","prod","index","productCardWrapper","ProductCard","suggested_questions","Array","isArray","questions","question","TouchableOpacity","suggestedQuestionButton","onPress","Text","suggestedQuestionText","ghostMessageContainer","ghostBar","ghostBarShort","opacity","ghostBarLong","ghostBarMedium","KeyboardAvoidingView","behavior","Platform","OS","undefined","keyboardVerticalOffset","testButtons","Testing","ChatInput","exports","StyleSheet","create","flex","padding","justifyContent","marginBottom","paddingHorizontal","borderRadius","alignSelf","backgroundColor","width","marginTop","borderWidth","borderColor","paddingVertical","textAlign","borderTopLeftRadius","marginVertical","height"],"sourceRoot":"../../../src","sources":["layout/window.js"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,233 @@
1
+ import React, { useState, useContext } from "react";
2
+ import { View, Text, TextInput, TouchableOpacity, ActivityIndicator, Alert, StyleSheet, ScrollView } from "react-native";
3
+ import Ionicons from "react-native-vector-icons/Ionicons";
4
+ import axios from "axios";
5
+ import { AppContext } from "../contexts/AppContext";
6
+ import { Header } from "./header";
7
+ export const EmailForm = ({
8
+ panHandlers
9
+ }) => {
10
+ const {
11
+ BASE_URL,
12
+ setShowModal,
13
+ messages,
14
+ formatChatHistory,
15
+ conversationStartTime
16
+ } = useContext(AppContext);
17
+ const [subject, setSubject] = useState("");
18
+ const [message, setMessage] = useState("");
19
+ const [userEmail, setUserEmail] = useState("");
20
+ const [branchEmail, setBranchEmail] = useState("");
21
+ const [isLoading, setIsLoading] = useState(false);
22
+ const [error, setError] = useState("");
23
+ const [success, setSuccess] = useState(false);
24
+ const [isComposing, setIsComposing] = useState(false);
25
+ const handleComposeEmail = async () => {
26
+ setIsComposing(true);
27
+ setError("");
28
+ try {
29
+ const chatHistory = formatChatHistory();
30
+ const payload = {
31
+ chat_history: chatHistory,
32
+ conversation_start_time: conversationStartTime,
33
+ customer_name: '',
34
+ branch_email: ""
35
+ };
36
+ const response = await axios.post(`https://${BASE_URL}/compose-email`, payload);
37
+ setMessage(response.data.message);
38
+ setSubject(response.data.subject || "");
39
+ } catch (error) {
40
+ var _error$response;
41
+ setError(((_error$response = error.response) === null || _error$response === void 0 || (_error$response = _error$response.data) === null || _error$response === void 0 ? void 0 : _error$response.message) || "Failed to compose email");
42
+ } finally {
43
+ setIsComposing(false);
44
+ }
45
+ };
46
+ const handleSubmit = async () => {
47
+ if (!userEmail || !subject || !message) {
48
+ setError("Please fill in all fields");
49
+ return;
50
+ }
51
+ if (!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(userEmail)) {
52
+ setError("Please enter a valid email address");
53
+ return;
54
+ }
55
+ setIsLoading(true);
56
+ try {
57
+ const chatHistory = formatChatHistory();
58
+ await axios.post(`https://${BASE_URL}/send-email`, {
59
+ user_email: 'cristin@instalily.ai',
60
+ subject,
61
+ message,
62
+ chat_history: chatHistory,
63
+ conversation_start_time: conversationStartTime,
64
+ customer_name: '',
65
+ branch_email: ""
66
+ });
67
+ setSuccess(true);
68
+ setTimeout(() => {
69
+ setSuccess(false);
70
+ setShowModal("ChatWindow");
71
+ }, 2000);
72
+ } catch (error) {
73
+ var _error$response2;
74
+ setError(((_error$response2 = error.response) === null || _error$response2 === void 0 || (_error$response2 = _error$response2.data) === null || _error$response2 === void 0 ? void 0 : _error$response2.message) || "Failed to send email");
75
+ } finally {
76
+ setIsLoading(false);
77
+ }
78
+ };
79
+ return /*#__PURE__*/React.createElement(View, {
80
+ style: styles.container
81
+ }, /*#__PURE__*/React.createElement(View, panHandlers, /*#__PURE__*/React.createElement(Header, null)), /*#__PURE__*/React.createElement(View, {
82
+ style: styles.topBar
83
+ }, /*#__PURE__*/React.createElement(TouchableOpacity, {
84
+ onPress: () => setShowModal("ChatWindow"),
85
+ style: styles.backButton
86
+ }, /*#__PURE__*/React.createElement(Ionicons, {
87
+ name: "arrow-back",
88
+ size: 20,
89
+ color: "#000"
90
+ })), /*#__PURE__*/React.createElement(Text, {
91
+ style: styles.topBarTitle
92
+ }, "Contact Us")), /*#__PURE__*/React.createElement(ScrollView, {
93
+ style: styles.content,
94
+ contentContainerStyle: {
95
+ paddingBottom: 100
96
+ } // Add padding to bottom
97
+ ,
98
+ keyboardShouldPersistTaps: "handled",
99
+ showsVerticalScrollIndicator: true
100
+ }, /*#__PURE__*/React.createElement(Text, {
101
+ style: styles.infoText
102
+ }, "Our AI assistant can help draft a professional email based on your chat conversation. The email will capture your main points and maintain a conversational tone. You can review and modify before sending."), /*#__PURE__*/React.createElement(TouchableOpacity, {
103
+ style: styles.composeButton,
104
+ onPress: handleComposeEmail,
105
+ disabled: isComposing
106
+ }, isComposing ? /*#__PURE__*/React.createElement(ActivityIndicator, {
107
+ size: "small",
108
+ color: "#FFFFFF"
109
+ }) : /*#__PURE__*/React.createElement(Text, {
110
+ style: styles.buttonText
111
+ }, "Draft My Email")), /*#__PURE__*/React.createElement(TextInput, {
112
+ style: styles.input,
113
+ value: branchEmail,
114
+ editable: false,
115
+ placeholder: "Branch Email"
116
+ }), /*#__PURE__*/React.createElement(TextInput, {
117
+ style: styles.input,
118
+ value: userEmail,
119
+ onChangeText: setUserEmail,
120
+ placeholder: "Your Email"
121
+ }), /*#__PURE__*/React.createElement(TextInput, {
122
+ style: styles.input,
123
+ value: subject,
124
+ onChangeText: setSubject,
125
+ placeholder: "Subject"
126
+ }), /*#__PURE__*/React.createElement(TextInput, {
127
+ style: styles.textArea,
128
+ value: message,
129
+ onChangeText: setMessage,
130
+ placeholder: "Message",
131
+ multiline: true
132
+ }), error ? /*#__PURE__*/React.createElement(Text, {
133
+ style: styles.errorText
134
+ }, error) : null, success ? /*#__PURE__*/React.createElement(Text, {
135
+ style: styles.successText
136
+ }, "Email sent successfully!") : null, /*#__PURE__*/React.createElement(TouchableOpacity, {
137
+ style: styles.sendButton,
138
+ onPress: handleSubmit,
139
+ disabled: isLoading
140
+ }, isLoading ? /*#__PURE__*/React.createElement(ActivityIndicator, {
141
+ size: "small",
142
+ color: "#FFFFFF"
143
+ }) : /*#__PURE__*/React.createElement(Text, {
144
+ style: styles.buttonText
145
+ }, "Send Email"))));
146
+ };
147
+ const styles = StyleSheet.create({
148
+ container: {
149
+ flex: 1
150
+ },
151
+ content: {
152
+ padding: 20,
153
+ paddingTop: 5,
154
+ paddingBottom: 40,
155
+ marginBottom: 40
156
+ },
157
+ topBar: {
158
+ flexDirection: 'row',
159
+ alignItems: 'center',
160
+ paddingVertical: 10,
161
+ paddingHorizontal: 16,
162
+ marginTop: 10
163
+ },
164
+ backButton: {
165
+ padding: 8,
166
+ borderRadius: 20,
167
+ backgroundColor: '#FFF'
168
+ },
169
+ topBarTitle: {
170
+ fontSize: 18,
171
+ fontWeight: 'medium',
172
+ marginLeft: 12
173
+ },
174
+ infoText: {
175
+ textAlign: "left",
176
+ color: "#666",
177
+ fontSize: 15,
178
+ lineHeight: 22,
179
+ marginBottom: 20
180
+ },
181
+ input: {
182
+ backgroundColor: "#f5f5f5",
183
+ borderRadius: 8,
184
+ padding: 12,
185
+ fontSize: 16,
186
+ borderWidth: 1,
187
+ borderColor: "#e0e0e0",
188
+ marginBottom: 10
189
+ },
190
+ textArea: {
191
+ backgroundColor: "#f5f5f5",
192
+ borderRadius: 8,
193
+ padding: 12,
194
+ fontSize: 16,
195
+ borderWidth: 1,
196
+ borderColor: "#e0e0e0",
197
+ marginBottom: 10,
198
+ height: 180,
199
+ textAlignVertical: "top"
200
+ },
201
+ composeButton: {
202
+ backgroundColor: "#367CB6",
203
+ borderRadius: 5,
204
+ padding: 12,
205
+ alignItems: "center",
206
+ marginBottom: 20
207
+ },
208
+ sendButton: {
209
+ backgroundColor: "#367CB6",
210
+ borderRadius: 5,
211
+ padding: 12,
212
+ alignItems: "center",
213
+ marginTop: 20
214
+ },
215
+ buttonText: {
216
+ color: "#FFF",
217
+ fontSize: 16,
218
+ fontWeight: "500"
219
+ },
220
+ errorText: {
221
+ color: "red",
222
+ fontSize: 14,
223
+ textAlign: "center",
224
+ marginTop: 10
225
+ },
226
+ successText: {
227
+ color: "green",
228
+ fontSize: 14,
229
+ textAlign: "center",
230
+ marginTop: 10
231
+ }
232
+ });
233
+ //# sourceMappingURL=email.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useState","useContext","View","Text","TextInput","TouchableOpacity","ActivityIndicator","Alert","StyleSheet","ScrollView","Ionicons","axios","AppContext","Header","EmailForm","panHandlers","BASE_URL","setShowModal","messages","formatChatHistory","conversationStartTime","subject","setSubject","message","setMessage","userEmail","setUserEmail","branchEmail","setBranchEmail","isLoading","setIsLoading","error","setError","success","setSuccess","isComposing","setIsComposing","handleComposeEmail","chatHistory","payload","chat_history","conversation_start_time","customer_name","branch_email","response","post","data","_error$response","handleSubmit","test","user_email","setTimeout","_error$response2","createElement","style","styles","container","topBar","onPress","backButton","name","size","color","topBarTitle","content","contentContainerStyle","paddingBottom","keyboardShouldPersistTaps","showsVerticalScrollIndicator","infoText","composeButton","disabled","buttonText","input","value","editable","placeholder","onChangeText","textArea","multiline","errorText","successText","sendButton","create","flex","padding","paddingTop","marginBottom","flexDirection","alignItems","paddingVertical","paddingHorizontal","marginTop","borderRadius","backgroundColor","fontSize","fontWeight","marginLeft","textAlign","lineHeight","borderWidth","borderColor","height","textAlignVertical"],"sourceRoot":"../../../src","sources":["components/email.js"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,105 @@
1
+ import React, { useContext } from "react";
2
+ import { View, Text, TouchableOpacity, TextInput, StyleSheet } from "react-native";
3
+ import Ionicons from "react-native-vector-icons/Ionicons";
4
+ import { AppContext } from "../contexts/AppContext";
5
+ import Feather from "react-native-vector-icons/Feather";
6
+ export const Feedback = ({
7
+ message,
8
+ messageId
9
+ }) => {
10
+ const {
11
+ handleFeedback,
12
+ feedback,
13
+ handleWrittenFeedback,
14
+ feedbackOpen,
15
+ setFeedbackOpen,
16
+ writeFeedback,
17
+ setWriteFeedback,
18
+ switchFeedbackOpen
19
+ } = useContext(AppContext);
20
+ return /*#__PURE__*/React.createElement(View, {
21
+ style: styles.container
22
+ }, /*#__PURE__*/React.createElement(View, {
23
+ style: styles.iconContainer
24
+ }, /*#__PURE__*/React.createElement(TouchableOpacity, {
25
+ onPress: () => handleFeedback(1, messageId)
26
+ }, /*#__PURE__*/React.createElement(Feather, {
27
+ name: "thumbs-up",
28
+ size: 18,
29
+ color: feedback[messageId] === 1 ? "#367CB6" : "#808080",
30
+ style: styles.icon
31
+ })), /*#__PURE__*/React.createElement(TouchableOpacity, {
32
+ onPress: () => handleFeedback(-1, messageId)
33
+ }, /*#__PURE__*/React.createElement(Feather, {
34
+ name: "thumbs-down",
35
+ size: 18,
36
+ color: feedback[messageId] === -1 ? "#367CB6" : "#808080",
37
+ style: styles.icon
38
+ }))), feedbackOpen[messageId] == true && /*#__PURE__*/React.createElement(View, {
39
+ style: styles.feedbackSection
40
+ }, /*#__PURE__*/React.createElement(TextInput, {
41
+ multiline: true,
42
+ numberOfLines: 3,
43
+ placeholder: "Enter your feedback...",
44
+ style: styles.textInput,
45
+ value: writeFeedback,
46
+ onChangeText: setWriteFeedback
47
+ }), /*#__PURE__*/React.createElement(View, {
48
+ style: styles.buttonContainer
49
+ }, /*#__PURE__*/React.createElement(TouchableOpacity, {
50
+ style: styles.button,
51
+ onPress: () => switchFeedbackOpen(false, messageId, true)
52
+ }, /*#__PURE__*/React.createElement(Text, {
53
+ style: styles.buttonText
54
+ }, "Close")), /*#__PURE__*/React.createElement(TouchableOpacity, {
55
+ style: styles.button,
56
+ onPress: () => handleWrittenFeedback(messageId)
57
+ }, /*#__PURE__*/React.createElement(Text, {
58
+ style: styles.buttonText
59
+ }, "Send")))));
60
+ };
61
+ const styles = StyleSheet.create({
62
+ container: {
63
+ marginTop: 0,
64
+ marginBottom: 5
65
+ },
66
+ iconContainer: {
67
+ flexDirection: "row",
68
+ alignItems: "center",
69
+ justifyContent: 'flex-end'
70
+ },
71
+ icon: {
72
+ marginRight: 10
73
+ },
74
+ feedbackSection: {
75
+ marginTop: 10
76
+ },
77
+ textInput: {
78
+ width: "100%",
79
+ borderWidth: 1,
80
+ borderColor: "#808080",
81
+ borderRadius: 5,
82
+ padding: 10,
83
+ fontSize: 14,
84
+ color: "#161616",
85
+ backgroundColor: "#fff"
86
+ },
87
+ buttonContainer: {
88
+ flexDirection: "row",
89
+ justifyContent: "flex-end",
90
+ marginTop: 5
91
+ },
92
+ button: {
93
+ backgroundColor: "#367CB6",
94
+ paddingVertical: 8,
95
+ paddingHorizontal: 15,
96
+ borderRadius: 5,
97
+ marginLeft: 10
98
+ },
99
+ buttonText: {
100
+ color: "white",
101
+ fontSize: 14,
102
+ textTransform: "none"
103
+ }
104
+ });
105
+ //# sourceMappingURL=feedback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useContext","View","Text","TouchableOpacity","TextInput","StyleSheet","Ionicons","AppContext","Feather","Feedback","message","messageId","handleFeedback","feedback","handleWrittenFeedback","feedbackOpen","setFeedbackOpen","writeFeedback","setWriteFeedback","switchFeedbackOpen","createElement","style","styles","container","iconContainer","onPress","name","size","color","icon","feedbackSection","multiline","numberOfLines","placeholder","textInput","value","onChangeText","buttonContainer","button","buttonText","create","marginTop","marginBottom","flexDirection","alignItems","justifyContent","marginRight","width","borderWidth","borderColor","borderRadius","padding","fontSize","backgroundColor","paddingVertical","paddingHorizontal","marginLeft","textTransform"],"sourceRoot":"../../../src","sources":["components/feedback.js"],"mappings":"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","ignoreList":[]}