react-native-srschat 0.1.43 → 0.1.45
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/README.md +18 -0
- package/lib/commonjs/components/productCard.js +34 -5
- package/lib/commonjs/components/productCard.js.map +1 -1
- package/lib/commonjs/contexts/AppContext.js +78 -31
- package/lib/commonjs/contexts/AppContext.js.map +1 -1
- package/lib/commonjs/hooks/Stream.js +2 -2
- package/lib/commonjs/hooks/Stream.js.map +1 -1
- package/lib/commonjs/utils/audioRecorder.js +49 -21
- package/lib/commonjs/utils/audioRecorder.js.map +1 -1
- package/lib/commonjs/utils/storage.js +74 -0
- package/lib/commonjs/utils/storage.js.map +1 -0
- package/lib/module/components/productCard.js +34 -5
- package/lib/module/components/productCard.js.map +1 -1
- package/lib/module/contexts/AppContext.js +77 -31
- package/lib/module/contexts/AppContext.js.map +1 -1
- package/lib/module/hooks/Stream.js +2 -2
- package/lib/module/hooks/Stream.js.map +1 -1
- package/lib/module/utils/audioRecorder.js +50 -22
- package/lib/module/utils/audioRecorder.js.map +1 -1
- package/lib/module/utils/storage.js +65 -0
- package/lib/module/utils/storage.js.map +1 -0
- package/lib/typescript/components/productCard.d.ts.map +1 -1
- package/lib/typescript/contexts/AppContext.d.ts.map +1 -1
- package/lib/typescript/utils/audioRecorder.d.ts.map +1 -1
- package/lib/typescript/utils/storage.d.ts +28 -0
- package/lib/typescript/utils/storage.d.ts.map +1 -0
- package/package.json +5 -5
- package/src/components/productCard.js +34 -4
- package/src/contexts/AppContext.js +94 -35
- package/src/hooks/Stream.js +2 -2
- package/src/utils/audioRecorder.js +52 -27
- package/src/utils/storage.ts +86 -0
|
@@ -12,7 +12,7 @@ exports.setPermissionStatusHandlers = setPermissionStatusHandlers;
|
|
|
12
12
|
exports.startRecording = startRecording;
|
|
13
13
|
exports.stopRecording = stopRecording;
|
|
14
14
|
var _reactNative = require("react-native");
|
|
15
|
-
var _voice = _interopRequireDefault(require("@react-native-
|
|
15
|
+
var _voice = _interopRequireDefault(require("@react-native-voice/voice"));
|
|
16
16
|
var _reactNativePermissions = require("react-native-permissions");
|
|
17
17
|
var _useAsyncStorage = _interopRequireDefault(require("../hooks/useAsyncStorage"));
|
|
18
18
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
@@ -42,6 +42,12 @@ async function initVoice(onResult) {
|
|
|
42
42
|
resultCallback = onResult;
|
|
43
43
|
finalResult = '';
|
|
44
44
|
|
|
45
|
+
// Check if Voice module is available
|
|
46
|
+
if (!_voice.default) {
|
|
47
|
+
console.error('Voice module is not available');
|
|
48
|
+
return false;
|
|
49
|
+
}
|
|
50
|
+
|
|
45
51
|
// First check if speech recognition is available
|
|
46
52
|
const isAvailable = await _voice.default.isAvailable();
|
|
47
53
|
if (!isAvailable) {
|
|
@@ -80,7 +86,8 @@ async function initVoice(onResult) {
|
|
|
80
86
|
};
|
|
81
87
|
_voice.default.onSpeechError = async e => {
|
|
82
88
|
var _e$error, _e$error2;
|
|
83
|
-
console.error('onSpeechError: ', e);
|
|
89
|
+
// console.error('onSpeechError: ', e);
|
|
90
|
+
|
|
84
91
|
if (silenceTimer) {
|
|
85
92
|
clearTimeout(silenceTimer);
|
|
86
93
|
silenceTimer = null;
|
|
@@ -91,14 +98,13 @@ async function initVoice(onResult) {
|
|
|
91
98
|
await cleanupVoiceSession();
|
|
92
99
|
|
|
93
100
|
// Only send error to callback if it's not a "No speech detected" error
|
|
94
|
-
if (!isNoSpeechError) {
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
}
|
|
101
|
+
// if (!isNoSpeechError) {
|
|
102
|
+
// resultCallback(null, e.error?.message || 'Speech recognition error');
|
|
103
|
+
// } else {
|
|
104
|
+
// console.log('No speech detected, ignoring error');
|
|
105
|
+
// // Optionally, call the callback with null parameters or a special indicator
|
|
106
|
+
// resultCallback(null, null); // This won't trigger an error alert in the component
|
|
107
|
+
// }
|
|
102
108
|
};
|
|
103
109
|
_voice.default.onSpeechResults = e => {
|
|
104
110
|
console.log('onSpeechResults: ', e);
|
|
@@ -157,6 +163,12 @@ const cleanupVoiceSession = async () => {
|
|
|
157
163
|
silenceTimer = null;
|
|
158
164
|
}
|
|
159
165
|
try {
|
|
166
|
+
// Check if Voice module is available
|
|
167
|
+
if (!_voice.default) {
|
|
168
|
+
console.log('Voice module not available during cleanup');
|
|
169
|
+
return;
|
|
170
|
+
}
|
|
171
|
+
|
|
160
172
|
// First try to stop if still recognizing
|
|
161
173
|
const isRecognizing = await _voice.default.isRecognizing();
|
|
162
174
|
if (isRecognizing) {
|
|
@@ -182,7 +194,9 @@ const cleanupVoiceSession = async () => {
|
|
|
182
194
|
console.error('Error in cleanupVoiceSession:', error);
|
|
183
195
|
// Final attempt to destroy on error
|
|
184
196
|
try {
|
|
185
|
-
|
|
197
|
+
if (_voice.default) {
|
|
198
|
+
await _voice.default.destroy();
|
|
199
|
+
}
|
|
186
200
|
} catch (e) {
|
|
187
201
|
console.error('Final destroy attempt failed:', e);
|
|
188
202
|
}
|
|
@@ -191,6 +205,12 @@ const cleanupVoiceSession = async () => {
|
|
|
191
205
|
};
|
|
192
206
|
async function startRecording() {
|
|
193
207
|
try {
|
|
208
|
+
// Check if Voice module is available
|
|
209
|
+
if (!_voice.default) {
|
|
210
|
+
console.error('Voice module is not available');
|
|
211
|
+
return false;
|
|
212
|
+
}
|
|
213
|
+
|
|
194
214
|
// Ensure cleanup of any existing session
|
|
195
215
|
await cleanupVoiceSession();
|
|
196
216
|
const hasPermission = await requestAudioPermission();
|
|
@@ -209,7 +229,7 @@ async function startRecording() {
|
|
|
209
229
|
}
|
|
210
230
|
async function stopRecording() {
|
|
211
231
|
try {
|
|
212
|
-
if (!isCurrentlyRecording) return;
|
|
232
|
+
if (!isCurrentlyRecording || !_voice.default) return;
|
|
213
233
|
|
|
214
234
|
// Set this first to prevent race conditions
|
|
215
235
|
isCurrentlyRecording = false;
|
|
@@ -245,6 +265,7 @@ async function stopRecording() {
|
|
|
245
265
|
}
|
|
246
266
|
async function cancelRecording() {
|
|
247
267
|
try {
|
|
268
|
+
if (!_voice.default) return;
|
|
248
269
|
await _voice.default.cancel();
|
|
249
270
|
await cleanupVoiceSession();
|
|
250
271
|
} catch (error) {
|
|
@@ -279,19 +300,20 @@ async function requestAudioPermission() {
|
|
|
279
300
|
}
|
|
280
301
|
async function requestAndroidPermission() {
|
|
281
302
|
try {
|
|
282
|
-
//
|
|
303
|
+
// Request microphone permission
|
|
304
|
+
const micPermission = await (0, _reactNativePermissions.request)(_reactNativePermissions.PERMISSIONS.ANDROID.RECORD_AUDIO);
|
|
305
|
+
if (micPermission !== _reactNativePermissions.RESULTS.GRANTED) {
|
|
306
|
+
console.log('Microphone permission denied');
|
|
307
|
+
return false;
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
// Skip checking speech recognition services which is causing errors
|
|
283
311
|
const services = await _voice.default.getSpeechRecognitionServices();
|
|
284
312
|
if (!services || services.length === 0) {
|
|
285
313
|
console.error('No speech recognition services available');
|
|
286
314
|
return false;
|
|
287
315
|
}
|
|
288
|
-
|
|
289
|
-
title: 'Microphone Permission',
|
|
290
|
-
message: 'This app needs access to your microphone for voice recognition.',
|
|
291
|
-
buttonPositive: 'OK',
|
|
292
|
-
buttonNegative: 'Cancel'
|
|
293
|
-
});
|
|
294
|
-
return granted === _reactNative.PermissionsAndroid.RESULTS.GRANTED;
|
|
316
|
+
return true;
|
|
295
317
|
} catch (error) {
|
|
296
318
|
console.error('Error requesting Android permission:', error);
|
|
297
319
|
return false;
|
|
@@ -326,13 +348,19 @@ function resetStoredPermission() {
|
|
|
326
348
|
return false;
|
|
327
349
|
}
|
|
328
350
|
function cleanup() {
|
|
351
|
+
if (!_voice.default) {
|
|
352
|
+
console.log('Voice module not available during cleanup');
|
|
353
|
+
return;
|
|
354
|
+
}
|
|
329
355
|
_voice.default.destroy().then(() => {
|
|
330
356
|
_voice.default.removeAllListeners();
|
|
331
357
|
cleanupVoiceSession();
|
|
332
358
|
}).catch(error => {
|
|
333
359
|
console.error('Error in cleanup:', error);
|
|
334
360
|
// Try one more time
|
|
335
|
-
_voice.default
|
|
361
|
+
if (_voice.default) {
|
|
362
|
+
_voice.default.destroy().catch(e => console.error('Final cleanup attempt failed:', e));
|
|
363
|
+
}
|
|
336
364
|
});
|
|
337
365
|
}
|
|
338
366
|
//# sourceMappingURL=audioRecorder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_voice","_interopRequireDefault","_reactNativePermissions","_useAsyncStorage","e","__esModule","default","resultCallback","silenceTimer","isCurrentlyRecording","finalResult","SILENCE_DURATION","PERMISSION_STORAGE_KEY","permissionStatusGetter","permissionStatusSetter","setPermissionStatusHandlers","getter","setter","initVoice","onResult","
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_voice","_interopRequireDefault","_reactNativePermissions","_useAsyncStorage","e","__esModule","default","resultCallback","silenceTimer","isCurrentlyRecording","finalResult","SILENCE_DURATION","PERMISSION_STORAGE_KEY","permissionStatusGetter","permissionStatusSetter","setPermissionStatusHandlers","getter","setter","initVoice","onResult","Voice","console","error","isAvailable","onSpeechStart","log","clearTimeout","onSpeechRecognized","isFinal","handleFinalResult","onSpeechEnd","onSpeechError","_e$error","_e$error2","isNoSpeechError","code","message","includes","cleanupVoiceSession","onSpeechResults","value","length","handleSilenceDetection","onSpeechPartialResults","Platform","OS","onSpeechVolumeChanged","setTimeout","stopRecording","isRecognizing","stop","Promise","resolve","destroy","stillRecognizing","startRecording","hasPermission","requestAudioPermission","start","cancelRecording","cancel","storedPermission","permissionResult","requestAndroidPermission","requestIOSPermission","micPermission","request","PERMISSIONS","ANDROID","RECORD_AUDIO","RESULTS","GRANTED","services","getSpeechRecognitionServices","IOS","MICROPHONE","speechPermission","SPEECH_RECOGNITION","resetStoredPermission","cleanup","then","removeAllListeners","catch"],"sourceRoot":"../../../src","sources":["utils/audioRecorder.js"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.updateChat = exports.loadChat = exports.defaultState = void 0;
|
|
7
|
+
var _asyncStorage = _interopRequireDefault(require("@react-native-async-storage/async-storage"));
|
|
8
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
|
+
// Module-level singleton to cache chat states by token
|
|
10
|
+
const chatStore = {};
|
|
11
|
+
const getStorageKey = token => `srschat_${token}`;
|
|
12
|
+
const defaultState = exports.defaultState = {
|
|
13
|
+
typingIndicator: false,
|
|
14
|
+
ghostMessage: false,
|
|
15
|
+
ghostCard: false,
|
|
16
|
+
stopActivated: false,
|
|
17
|
+
disclaimer: false,
|
|
18
|
+
startStreaming: false,
|
|
19
|
+
messages: [{
|
|
20
|
+
type: "ai",
|
|
21
|
+
text: "Hi there 👋 I'm Poseidon, your Heritage Pool+ AI Agent. I can help you during your online visit with Product and Account information. How can I help you today?"
|
|
22
|
+
}],
|
|
23
|
+
showIcon: true,
|
|
24
|
+
toggleChat: false
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Loads chat state for a specific customer token
|
|
29
|
+
* Returns cached state if available, otherwise loads from AsyncStorage
|
|
30
|
+
*/
|
|
31
|
+
const loadChat = async token => {
|
|
32
|
+
// Return from in-memory cache if available
|
|
33
|
+
if (chatStore[token]) {
|
|
34
|
+
return chatStore[token];
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
// Otherwise load from AsyncStorage
|
|
38
|
+
try {
|
|
39
|
+
const key = getStorageKey(token);
|
|
40
|
+
const storedData = await _asyncStorage.default.getItem(key);
|
|
41
|
+
if (storedData) {
|
|
42
|
+
const parsedData = JSON.parse(storedData);
|
|
43
|
+
// Cache in memory for future access
|
|
44
|
+
chatStore[token] = parsedData;
|
|
45
|
+
return parsedData;
|
|
46
|
+
}
|
|
47
|
+
} catch (error) {
|
|
48
|
+
console.error('Error loading chat state:', error);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
// Return default state if nothing found
|
|
52
|
+
return defaultState;
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Updates chat state for a specific customer token
|
|
57
|
+
* Updates both in-memory cache and persists to AsyncStorage
|
|
58
|
+
*/
|
|
59
|
+
exports.loadChat = loadChat;
|
|
60
|
+
const updateChat = async (token, next) => {
|
|
61
|
+
try {
|
|
62
|
+
const key = getStorageKey(token);
|
|
63
|
+
|
|
64
|
+
// Update in-memory cache
|
|
65
|
+
chatStore[token] = next;
|
|
66
|
+
|
|
67
|
+
// Persist to AsyncStorage
|
|
68
|
+
await _asyncStorage.default.setItem(key, JSON.stringify(next));
|
|
69
|
+
} catch (error) {
|
|
70
|
+
console.error('Error updating chat state:', error);
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
exports.updateChat = updateChat;
|
|
74
|
+
//# sourceMappingURL=storage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_asyncStorage","_interopRequireDefault","require","e","__esModule","default","chatStore","getStorageKey","token","defaultState","exports","typingIndicator","ghostMessage","ghostCard","stopActivated","disclaimer","startStreaming","messages","type","text","showIcon","toggleChat","loadChat","key","storedData","AsyncStorage","getItem","parsedData","JSON","parse","error","console","updateChat","next","setItem","stringify"],"sourceRoot":"../../../src","sources":["utils/storage.ts"],"mappings":";;;;;;AAAA,IAAAA,aAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAqE,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAoBrE;AACA,MAAMG,SAAoC,GAAG,CAAC,CAAC;AAE/C,MAAMC,aAAa,GAAIC,KAAa,IAAK,WAAWA,KAAK,EAAE;AAEpD,MAAMC,YAAuB,GAAAC,OAAA,CAAAD,YAAA,GAAG;EACrCE,eAAe,EAAE,KAAK;EACtBC,YAAY,EAAE,KAAK;EACnBC,SAAS,EAAE,KAAK;EAChBC,aAAa,EAAE,KAAK;EACpBC,UAAU,EAAE,KAAK;EACjBC,cAAc,EAAE,KAAK;EACrBC,QAAQ,EAAE,CAAC;IACTC,IAAI,EAAE,IAAI;IACVC,IAAI,EAAE;EACR,CAAC,CAAC;EACFC,QAAQ,EAAE,IAAI;EACdC,UAAU,EAAE;AACd,CAAC;;AAED;AACA;AACA;AACA;AACO,MAAMC,QAAQ,GAAG,MAAOd,KAAa,IAAyB;EACnE;EACA,IAAIF,SAAS,CAACE,KAAK,CAAC,EAAE;IACpB,OAAOF,SAAS,CAACE,KAAK,CAAC;EACzB;;EAEA;EACA,IAAI;IACF,MAAMe,GAAG,GAAGhB,aAAa,CAACC,KAAK,CAAC;IAChC,MAAMgB,UAAU,GAAG,MAAMC,qBAAY,CAACC,OAAO,CAACH,GAAG,CAAC;IAElD,IAAIC,UAAU,EAAE;MACd,MAAMG,UAAU,GAAGC,IAAI,CAACC,KAAK,CAACL,UAAU,CAAc;MACtD;MACAlB,SAAS,CAACE,KAAK,CAAC,GAAGmB,UAAU;MAC7B,OAAOA,UAAU;IACnB;EACF,CAAC,CAAC,OAAOG,KAAK,EAAE;IACdC,OAAO,CAACD,KAAK,CAAC,2BAA2B,EAAEA,KAAK,CAAC;EACnD;;EAEA;EACA,OAAOrB,YAAY;AACrB,CAAC;;AAED;AACA;AACA;AACA;AAHAC,OAAA,CAAAY,QAAA,GAAAA,QAAA;AAIO,MAAMU,UAAU,GAAG,MAAAA,CAAOxB,KAAa,EAAEyB,IAAe,KAAoB;EACjF,IAAI;IACF,MAAMV,GAAG,GAAGhB,aAAa,CAACC,KAAK,CAAC;;IAEhC;IACAF,SAAS,CAACE,KAAK,CAAC,GAAGyB,IAAI;;IAEvB;IACA,MAAMR,qBAAY,CAACS,OAAO,CAACX,GAAG,EAAEK,IAAI,CAACO,SAAS,CAACF,IAAI,CAAC,CAAC;EACvD,CAAC,CAAC,OAAOH,KAAK,EAAE;IACdC,OAAO,CAACD,KAAK,CAAC,4BAA4B,EAAEA,KAAK,CAAC;EACpD;AACF,CAAC;AAACpB,OAAA,CAAAsB,UAAA,GAAAA,UAAA","ignoreList":[]}
|
|
@@ -2,6 +2,7 @@ import React, { useState, useContext, useEffect } from "react";
|
|
|
2
2
|
import { View, Text, Image, TouchableOpacity, TextInput, StyleSheet, Platform, Keyboard, ActionSheetIOS, Alert } from "react-native";
|
|
3
3
|
import { AppContext } from "../contexts/AppContext";
|
|
4
4
|
import Ionicons from 'react-native-vector-icons/Ionicons';
|
|
5
|
+
import axios from 'axios';
|
|
5
6
|
export const ProductCard = ({
|
|
6
7
|
prod,
|
|
7
8
|
onFocusQuantityInput
|
|
@@ -9,7 +10,10 @@ export const ProductCard = ({
|
|
|
9
10
|
var _prod$inventory_info2, _prod$inventory_info3, _prod$inventory_info4, _prod$inventory_info5;
|
|
10
11
|
const {
|
|
11
12
|
onProductCardClick,
|
|
12
|
-
onAddToCartClick
|
|
13
|
+
onAddToCartClick,
|
|
14
|
+
sessionId,
|
|
15
|
+
data,
|
|
16
|
+
ADD_TO_CART_URL
|
|
13
17
|
} = useContext(AppContext);
|
|
14
18
|
const [keyboardVisible, setKeyboardVisible] = useState(false);
|
|
15
19
|
const [selectedUom, setSelectedUom] = useState(() => {
|
|
@@ -26,7 +30,8 @@ export const ProductCard = ({
|
|
|
26
30
|
const grossPrice = uomInfo.gross_price || 0;
|
|
27
31
|
const netPrice = uomInfo.net_price || 0;
|
|
28
32
|
const isOnSale = uomInfo.is_on_sale || false;
|
|
29
|
-
const
|
|
33
|
+
const discountsArray = Array.isArray(uomInfo.discounts) ? uomInfo.discounts : [];
|
|
34
|
+
const discountsString = uomInfo.discounts ? uomInfo.discounts : "";
|
|
30
35
|
const maxQuantity = Math.floor(((_prod$inventory_info4 = prod.inventory_info) === null || _prod$inventory_info4 === void 0 || (_prod$inventory_info4 = _prod$inventory_info4.info_by_uom) === null || _prod$inventory_info4 === void 0 || (_prod$inventory_info4 = _prod$inventory_info4.EA) === null || _prod$inventory_info4 === void 0 ? void 0 : _prod$inventory_info4.quantity_available) || 0);
|
|
31
36
|
const valid = ((_prod$inventory_info5 = prod.inventory_info) === null || _prod$inventory_info5 === void 0 ? void 0 : _prod$inventory_info5.is_valid) || false;
|
|
32
37
|
const inStock = maxQuantity > 0;
|
|
@@ -66,6 +71,28 @@ export const ProductCard = ({
|
|
|
66
71
|
}
|
|
67
72
|
};
|
|
68
73
|
const handleAddToCart = () => {
|
|
74
|
+
//call add to cart logging endpoint
|
|
75
|
+
try {
|
|
76
|
+
const discount = discountsString ? discountsString : discountsArray.join(", ");
|
|
77
|
+
payload = {
|
|
78
|
+
product_name: prod.product_details.product_name,
|
|
79
|
+
time_stamp: new Date().toISOString(),
|
|
80
|
+
user_id: data.user_id,
|
|
81
|
+
session_id: sessionId,
|
|
82
|
+
quantity: quantity,
|
|
83
|
+
uom: selectedUom,
|
|
84
|
+
is_sale: isOnSale,
|
|
85
|
+
discount_string: discount
|
|
86
|
+
};
|
|
87
|
+
console.log("add to cart payload", payload);
|
|
88
|
+
axios.post(ADD_TO_CART_URL, payload).then(response => {
|
|
89
|
+
console.log("log addToCart response", response);
|
|
90
|
+
}).catch(error => {
|
|
91
|
+
console.log("log addToCart error", error);
|
|
92
|
+
});
|
|
93
|
+
} catch (error) {
|
|
94
|
+
console.log("log addToCart error", error);
|
|
95
|
+
}
|
|
69
96
|
onAddToCartClick({
|
|
70
97
|
selectedUom: selectedUom,
|
|
71
98
|
quantity: quantity,
|
|
@@ -154,12 +181,14 @@ export const ProductCard = ({
|
|
|
154
181
|
style: styles.details
|
|
155
182
|
}, /*#__PURE__*/React.createElement(Text, {
|
|
156
183
|
style: styles.boldText
|
|
157
|
-
}, "Part # "), prod.part_number),
|
|
184
|
+
}, "Part # "), prod.part_number), discountsArray.length > 0 && /*#__PURE__*/React.createElement(View, {
|
|
158
185
|
style: styles.discountContainer
|
|
159
|
-
},
|
|
186
|
+
}, discountsArray.map((discount, index) => /*#__PURE__*/React.createElement(Text, {
|
|
160
187
|
key: index,
|
|
161
188
|
style: styles.discountText
|
|
162
|
-
}, discount))), /*#__PURE__*/React.createElement(
|
|
189
|
+
}, discount))), discountsString && /*#__PURE__*/React.createElement(Text, {
|
|
190
|
+
style: styles.discountText
|
|
191
|
+
}, discountsString), /*#__PURE__*/React.createElement(View, {
|
|
163
192
|
style: styles.inputRow
|
|
164
193
|
}, uoms.length > 1 ? /*#__PURE__*/React.createElement(View, {
|
|
165
194
|
style: styles.uomSelectorContainer
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useState","useContext","useEffect","View","Text","Image","TouchableOpacity","TextInput","StyleSheet","Platform","Keyboard","ActionSheetIOS","Alert","AppContext","Ionicons","ProductCard","prod","onFocusQuantityInput","_prod$inventory_info2","_prod$inventory_info3","_prod$inventory_info4","_prod$inventory_info5","onProductCardClick","onAddToCartClick","keyboardVisible","setKeyboardVisible","selectedUom","setSelectedUom","_prod$inventory_info","inventory_info","info_by_uom","availableUoms","Object","keys","defaultUom","default_uom","includes","uoms","uomInfo","grossPrice","gross_price","netPrice","net_price","isOnSale","is_on_sale","discounts","Array","isArray","maxQuantity","Math","floor","EA","quantity_available","valid","is_valid","inStock","quantity","setQuantity","keyboardDidShowListener","addListener","part_number","keyboardDidHideListener","remove","handleQuantityChange","text","value","parseInt","incrementQuantity","prevQuantity","decrementQuantity","handleAddToCart","product","handleProductClick","prodWithSku","sku","product_details","console","log","JSON","stringify","handleUomChange","openUomPicker","OS","showActionSheetWithOptions","options","cancelButtonIndex","length","title","buttonIndex","buttons","map","uom","onPress","push","style","alert","cancelable","createElement","styles","card","row","leftColumn","saleTag","saleTagText","source","uri","image_url","image","Fragment","priceContainer","originalPrice","Number","toFixed","salePrice","price","perUnit","availability","rightColumn","productName","product_name","details","boldText","manufacturer_id","discountContainer","discount","index","key","discountText","inputRow","uomSelectorContainer","inputLabel","dropdownButton","disabled","dropdownButtonText","quantityContainer","quantityInputContainer","quantityButton","name","size","color","toString","onChangeText","keyboardType","quantityInput","editable","underlineColorAndroid","autoCorrect","autoCapitalize","caretHidden","contextMenuHidden","disableFullscreenUI","defaultValue","addToCartButton","activeButton","disabledButton","buttonText","activeText","disabledText","create","backgroundColor","width","padding","paddingHorizontal","borderRadius","marginBottom","flexDirection","alignItems","position","paddingLeft","height","resizeMode","top","left","paddingVertical","zIndex","fontSize","fontWeight","textAlign","flexWrap","justifyContent","textDecorationLine","marginRight","marginTop","textDecorationColor","borderWidth","borderColor","minWidth","flex"],"sourceRoot":"../../../src","sources":["components/productCard.js"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","useState","useContext","useEffect","View","Text","Image","TouchableOpacity","TextInput","StyleSheet","Platform","Keyboard","ActionSheetIOS","Alert","AppContext","Ionicons","axios","ProductCard","prod","onFocusQuantityInput","_prod$inventory_info2","_prod$inventory_info3","_prod$inventory_info4","_prod$inventory_info5","onProductCardClick","onAddToCartClick","sessionId","data","ADD_TO_CART_URL","keyboardVisible","setKeyboardVisible","selectedUom","setSelectedUom","_prod$inventory_info","inventory_info","info_by_uom","availableUoms","Object","keys","defaultUom","default_uom","includes","uoms","uomInfo","grossPrice","gross_price","netPrice","net_price","isOnSale","is_on_sale","discountsArray","Array","isArray","discounts","discountsString","maxQuantity","Math","floor","EA","quantity_available","valid","is_valid","inStock","quantity","setQuantity","keyboardDidShowListener","addListener","part_number","keyboardDidHideListener","remove","handleQuantityChange","text","value","parseInt","incrementQuantity","prevQuantity","decrementQuantity","handleAddToCart","discount","join","payload","product_name","product_details","time_stamp","Date","toISOString","user_id","session_id","uom","is_sale","discount_string","console","log","post","then","response","catch","error","product","handleProductClick","prodWithSku","sku","JSON","stringify","handleUomChange","openUomPicker","OS","showActionSheetWithOptions","options","cancelButtonIndex","length","title","buttonIndex","buttons","map","onPress","push","style","alert","cancelable","createElement","styles","card","row","leftColumn","saleTag","saleTagText","source","uri","image_url","image","Fragment","priceContainer","originalPrice","Number","toFixed","salePrice","price","perUnit","availability","rightColumn","productName","details","boldText","manufacturer_id","discountContainer","index","key","discountText","inputRow","uomSelectorContainer","inputLabel","dropdownButton","disabled","dropdownButtonText","quantityContainer","quantityInputContainer","quantityButton","name","size","color","toString","onChangeText","keyboardType","quantityInput","editable","underlineColorAndroid","autoCorrect","autoCapitalize","caretHidden","contextMenuHidden","disableFullscreenUI","defaultValue","addToCartButton","activeButton","disabledButton","buttonText","activeText","disabledText","create","backgroundColor","width","padding","paddingHorizontal","borderRadius","marginBottom","flexDirection","alignItems","position","paddingLeft","height","resizeMode","top","left","paddingVertical","zIndex","fontSize","fontWeight","textAlign","flexWrap","justifyContent","textDecorationLine","marginRight","marginTop","textDecorationColor","borderWidth","borderColor","minWidth","flex"],"sourceRoot":"../../../src","sources":["components/productCard.js"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import React, { createContext, useContext, useState, useEffect, useMemo } from "react";
|
|
2
2
|
import uuid from 'react-native-uuid';
|
|
3
3
|
import axios from "axios";
|
|
4
|
-
import useAsyncStorage from '../hooks/useAsyncStorage';
|
|
4
|
+
// import useAsyncStorage from '../hooks/useAsyncStorage';
|
|
5
|
+
import { loadChat, updateChat, defaultState } from '../utils/storage';
|
|
5
6
|
export const AppContext = /*#__PURE__*/createContext();
|
|
6
7
|
export const AppProvider = ({
|
|
7
8
|
data,
|
|
@@ -19,6 +20,8 @@ export const AppProvider = ({
|
|
|
19
20
|
inlineButtonColor: '#dbd4c8',
|
|
20
21
|
primaryColor: '#161616'
|
|
21
22
|
};
|
|
23
|
+
const TRACK_CLICK_URL = "https://srs-external-agent-logging-586731320826.us-central1.run.app/track-click";
|
|
24
|
+
const ADD_TO_CART_URL = "https://srs-external-agent-logging-586731320826.us-central1.run.app/add-to-cart";
|
|
22
25
|
|
|
23
26
|
// Backend URLs
|
|
24
27
|
const BASE_URL = data.env === "stage" ? "srs-external-agent-backend-stage-586731320826.us-central1.run.app" : "srs-external-agent-backend-586731320826.us-central1.run.app";
|
|
@@ -32,26 +35,20 @@ export const AppProvider = ({
|
|
|
32
35
|
}];
|
|
33
36
|
const maintenanceMessage = [{
|
|
34
37
|
type: "ai",
|
|
35
|
-
text: "Hi there 👋 I
|
|
38
|
+
text: "Hi there 👋 I'm Poseidon, your Heritage Pool+ AI Agent. I'm currently undergoing maintenance to improve my services. Thank you for your patience and understanding!"
|
|
36
39
|
}];
|
|
37
40
|
|
|
41
|
+
// user data variables
|
|
42
|
+
const customerToken = data.customer_token;
|
|
43
|
+
|
|
38
44
|
// Base Variables
|
|
39
45
|
const [showModal, setShowModal] = useState("Icon");
|
|
40
46
|
const [input, setInput] = useState('');
|
|
41
|
-
const [messages, setMessages] = useState(
|
|
47
|
+
const [messages, setMessages] = useState(defaultState.messages);
|
|
42
48
|
const [conversationStartTime, setConversationStartTime] = useState(null);
|
|
43
49
|
const [lastUserMessage, setLastUserMessage] = useState("");
|
|
44
50
|
const [lastMessageId, setLastMessageId] = useState("");
|
|
45
51
|
const [sessionId, setSessionId] = useState(null);
|
|
46
|
-
useEffect(() => {
|
|
47
|
-
const newSessionId = uuid.v4(); // Generate UUID v4
|
|
48
|
-
setSessionId(newSessionId);
|
|
49
|
-
}, []);
|
|
50
|
-
useEffect(() => {
|
|
51
|
-
if (showModal == "Off") {
|
|
52
|
-
setShowModal("Icon");
|
|
53
|
-
}
|
|
54
|
-
}, [uiConfig.showIcon]);
|
|
55
52
|
|
|
56
53
|
// Message UI
|
|
57
54
|
const [typingIndicator, setTypingIndicator] = useState(false);
|
|
@@ -60,6 +57,53 @@ export const AppProvider = ({
|
|
|
60
57
|
const [stopActivated, setStopActivated] = useState(false);
|
|
61
58
|
const [disclaimer, setDisclaimer] = useState(false);
|
|
62
59
|
const [startStreaming, setStartStreaming] = useState(false);
|
|
60
|
+
|
|
61
|
+
// Load persisted state on mount
|
|
62
|
+
useEffect(() => {
|
|
63
|
+
if (!customerToken) return;
|
|
64
|
+
const init = async () => {
|
|
65
|
+
try {
|
|
66
|
+
const cachedState = await loadChat(customerToken);
|
|
67
|
+
|
|
68
|
+
// Update all stateful values
|
|
69
|
+
setTypingIndicator(cachedState.typingIndicator);
|
|
70
|
+
setGhostMessage(cachedState.ghostMessage);
|
|
71
|
+
setGhostCard(cachedState.ghostCard);
|
|
72
|
+
setStopActivated(cachedState.stopActivated);
|
|
73
|
+
setDisclaimer(cachedState.disclaimer);
|
|
74
|
+
setStartStreaming(cachedState.startStreaming);
|
|
75
|
+
setMessages(cachedState.messages);
|
|
76
|
+
setShowModal(cachedState.showModal);
|
|
77
|
+
} catch (error) {
|
|
78
|
+
console.error('Error loading chat state:', error);
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
init();
|
|
82
|
+
}, [customerToken]);
|
|
83
|
+
|
|
84
|
+
// Persist state changes
|
|
85
|
+
useEffect(() => {
|
|
86
|
+
if (!customerToken) return;
|
|
87
|
+
const persistState = async () => {
|
|
88
|
+
const currentState = {
|
|
89
|
+
typingIndicator,
|
|
90
|
+
ghostMessage,
|
|
91
|
+
ghostCard,
|
|
92
|
+
stopActivated,
|
|
93
|
+
disclaimer,
|
|
94
|
+
startStreaming,
|
|
95
|
+
messages,
|
|
96
|
+
showModal
|
|
97
|
+
};
|
|
98
|
+
await updateChat(customerToken, currentState);
|
|
99
|
+
};
|
|
100
|
+
persistState();
|
|
101
|
+
}, [customerToken, typingIndicator, ghostMessage, ghostCard, stopActivated, disclaimer, startStreaming, messages, showModal]);
|
|
102
|
+
useEffect(() => {
|
|
103
|
+
if (showModal == "Off") {
|
|
104
|
+
setShowModal("Icon");
|
|
105
|
+
}
|
|
106
|
+
}, [uiConfig.showIcon]);
|
|
63
107
|
const stopGenerating = () => {
|
|
64
108
|
setTypingIndicator(false);
|
|
65
109
|
setStopActivated(true);
|
|
@@ -142,26 +186,26 @@ export const AppProvider = ({
|
|
|
142
186
|
setShowModal("Welcome");
|
|
143
187
|
}
|
|
144
188
|
if (messages.length > 1) {
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
|
|
189
|
+
const newState = {
|
|
190
|
+
...defaultState,
|
|
191
|
+
messages: maintenance ? maintenanceMessage : defaultMessage,
|
|
192
|
+
showModal: maintenance ? "ChatWindow" : "Welcome"
|
|
193
|
+
};
|
|
194
|
+
|
|
195
|
+
// Update all state variables
|
|
196
|
+
setMessages(newState.messages);
|
|
152
197
|
setTypingIndicator(false);
|
|
153
198
|
setGhostMessage(false);
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
} */
|
|
199
|
+
setShowModal(newState.showModal);
|
|
200
|
+
|
|
201
|
+
// Generate new session
|
|
202
|
+
const newSessionId = uuid.v4();
|
|
203
|
+
setSessionId(newSessionId);
|
|
204
|
+
|
|
205
|
+
// Clear persisted state
|
|
206
|
+
if (customerToken) {
|
|
207
|
+
await updateChat(customerToken, newState);
|
|
208
|
+
}
|
|
165
209
|
}
|
|
166
210
|
};
|
|
167
211
|
const [feedback, setFeedback] = useState({});
|
|
@@ -304,7 +348,9 @@ export const AppProvider = ({
|
|
|
304
348
|
confirmDisclaimer,
|
|
305
349
|
formatChatHistory,
|
|
306
350
|
uiConfig,
|
|
307
|
-
handleVoiceSend
|
|
351
|
+
handleVoiceSend,
|
|
352
|
+
TRACK_CLICK_URL,
|
|
353
|
+
ADD_TO_CART_URL
|
|
308
354
|
}
|
|
309
355
|
}, children);
|
|
310
356
|
};
|