react-native-srschat 0.1.7 → 0.1.9
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 +70 -0
- package/lib/commonjs/assets/heritage.png +0 -0
- package/lib/commonjs/components/header.js +105 -0
- package/lib/commonjs/components/header.js.map +1 -0
- package/lib/commonjs/components/testing.js +61 -0
- package/lib/commonjs/components/testing.js.map +1 -0
- package/lib/commonjs/contexts/AppContext.js +99 -0
- package/lib/commonjs/contexts/AppContext.js.map +1 -0
- package/lib/commonjs/hooks/Stream.js +202 -0
- package/lib/commonjs/hooks/Stream.js.map +1 -0
- package/lib/commonjs/index.js +13 -262
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/layout/chatIcon.js +53 -0
- package/lib/commonjs/layout/chatIcon.js.map +1 -0
- package/lib/commonjs/layout/chatWindow.js +208 -0
- package/lib/commonjs/layout/chatWindow.js.map +1 -0
- package/lib/commonjs/layout/layout.js +35 -0
- package/lib/commonjs/layout/layout.js.map +1 -0
- package/lib/module/assets/heritage.png +0 -0
- package/lib/module/components/header.js +96 -0
- package/lib/module/components/header.js.map +1 -0
- package/lib/module/components/testing.js +53 -0
- package/lib/module/components/testing.js.map +1 -0
- package/lib/module/contexts/AppContext.js +90 -0
- package/lib/module/contexts/AppContext.js.map +1 -0
- package/lib/module/hooks/Stream.js +194 -0
- package/lib/module/hooks/Stream.js.map +1 -0
- package/lib/module/index.js +11 -261
- package/lib/module/index.js.map +1 -1
- package/lib/module/layout/chatIcon.js +44 -0
- package/lib/module/layout/chatIcon.js.map +1 -0
- package/lib/module/layout/chatWindow.js +199 -0
- package/lib/module/layout/chatWindow.js.map +1 -0
- package/lib/module/layout/layout.js +26 -0
- package/lib/module/layout/layout.js.map +1 -0
- package/lib/typescript/components/header.d.ts +3 -0
- package/lib/typescript/components/header.d.ts.map +1 -0
- package/lib/typescript/components/testing.d.ts +6 -0
- package/lib/typescript/components/testing.d.ts.map +1 -0
- package/lib/typescript/contexts/AppContext.d.ts +6 -0
- package/lib/typescript/contexts/AppContext.d.ts.map +1 -0
- package/lib/typescript/hooks/Stream.d.ts +2 -0
- package/lib/typescript/hooks/Stream.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +5 -12
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/layout/chatIcon.d.ts +3 -0
- package/lib/typescript/layout/chatIcon.d.ts.map +1 -0
- package/lib/typescript/layout/chatWindow.d.ts +6 -0
- package/lib/typescript/layout/chatWindow.d.ts.map +1 -0
- package/lib/typescript/layout/layout.d.ts +6 -0
- package/lib/typescript/layout/layout.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/assets/heritage.png +0 -0
- package/src/components/header.js +89 -0
- package/src/components/testing.js +47 -0
- package/src/contexts/AppContext.js +83 -0
- package/src/hooks/Stream.js +198 -0
- package/src/index.js +18 -0
- package/src/layout/chatIcon.js +38 -0
- package/src/layout/chatWindow.js +200 -0
- package/src/layout/layout.js +23 -0
- package/src/index.tsx +0 -323
package/README.md
ADDED
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# React Native Instalily Chat
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Importing
|
|
5
|
+
|
|
6
|
+
Installing the package:
|
|
7
|
+
`npm i react-native-srschat`
|
|
8
|
+
|
|
9
|
+
### Example Implementation
|
|
10
|
+
|
|
11
|
+
```
|
|
12
|
+
import React from 'react';
|
|
13
|
+
import { View, StyleSheet } from 'react-native';
|
|
14
|
+
import { StatusBar } from 'expo-status-bar';
|
|
15
|
+
import { Chat } from 'react-native-srschat';
|
|
16
|
+
|
|
17
|
+
export default function App() {
|
|
18
|
+
|
|
19
|
+
const onProductCardClick = (productData) => {
|
|
20
|
+
console.log('Product Card Clicked:', productData);
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
const onAddToCartClick = (productData) => {
|
|
24
|
+
console.log('Added to Cart:', productData);
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
const data = {
|
|
28
|
+
"customer_code": "HPTA",
|
|
29
|
+
"branch_code": "BELHARR",
|
|
30
|
+
"active_ship_to": 1,
|
|
31
|
+
"branch_full_name": "BEL-AQUA HARRISBURG",
|
|
32
|
+
"customer_token": "eyJraWQiOiIxIiwiYWxnIjoiSFMyNTYifQ.eyJ1aWQiOjEyNjU0MiwidXR5cGlkIjozLCJpYXQiOjE3MjczNTYyNjEsImV4cCI6MTcyNzM4NTA2MX0.dU55SlMxKaafq_VVNy47DhAKzUAhRSygaySJXFjsHgY"
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
return (
|
|
36
|
+
<View style={styles.container}>
|
|
37
|
+
<StatusBar style="auto" />
|
|
38
|
+
<Chat
|
|
39
|
+
data={data}
|
|
40
|
+
onProductCardClick={onProductCardClick}
|
|
41
|
+
onAddToCartClick={onAddToCartClick}
|
|
42
|
+
/>
|
|
43
|
+
</View>
|
|
44
|
+
);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
const styles = StyleSheet.create({
|
|
48
|
+
container: {
|
|
49
|
+
flex: 1,
|
|
50
|
+
backgroundColor: '#fff',
|
|
51
|
+
},
|
|
52
|
+
});
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### Example Implementation
|
|
56
|
+
|
|
57
|
+
With successful integration, you should see the bubble pop up in the bottom right corner of the screen.
|
|
58
|
+
|
|
59
|
+

|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
Clicking on the bubble will pull up the chat interface. The chat is **still in development**, it will be adjusted to create a more seamless UI/UX. There are currently two placeholder buttons that execute the funtions *onProductCardClick* and *onAddToCartClick*. These functions will send a product payload.
|
|
63
|
+
|
|
64
|
+

|
|
65
|
+
|
|
66
|
+
### To do (HERITAGE)
|
|
67
|
+
|
|
68
|
+
* Create a function for onProductCardClick to navigate to the product page when clicked.
|
|
69
|
+
* Create a function for onAddToCartClick to add the associated quantity and item to cart.
|
|
70
|
+
* Pass through the data needed for the chat (listed in the example implementation).
|
|
Binary file
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.Header = void 0;
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
var _vectorIcons = require("@expo/vector-icons");
|
|
10
|
+
var _AppContext = require("../contexts/AppContext");
|
|
11
|
+
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); }
|
|
12
|
+
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; }
|
|
13
|
+
const Header = () => {
|
|
14
|
+
const {
|
|
15
|
+
setShowModal
|
|
16
|
+
} = (0, _react.useContext)(_AppContext.AppContext);
|
|
17
|
+
return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
18
|
+
style: styles.header
|
|
19
|
+
}, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
20
|
+
style: styles.section
|
|
21
|
+
}, /*#__PURE__*/_react.default.createElement(_reactNative.Image, {
|
|
22
|
+
source: require('../assets/heritage.png'),
|
|
23
|
+
style: styles.logo
|
|
24
|
+
})), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
25
|
+
style: [styles.section, styles.titleContainer]
|
|
26
|
+
}, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
27
|
+
style: styles.titleWrapper
|
|
28
|
+
}, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
|
|
29
|
+
style: styles.title
|
|
30
|
+
}, "Poseidon"), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
|
|
31
|
+
style: styles.betaText
|
|
32
|
+
}, /*#__PURE__*/_react.default.createElement(_vectorIcons.Ionicons, {
|
|
33
|
+
style: styles.icon,
|
|
34
|
+
name: "sparkles-outline",
|
|
35
|
+
size: 10,
|
|
36
|
+
color: "#007AFF"
|
|
37
|
+
}), "beta"))), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
38
|
+
style: styles.iconsSection
|
|
39
|
+
}, /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
|
|
40
|
+
onPress: () => setShowModal("Icon")
|
|
41
|
+
}, /*#__PURE__*/_react.default.createElement(_vectorIcons.Ionicons, {
|
|
42
|
+
name: "trash",
|
|
43
|
+
size: 24,
|
|
44
|
+
color: "gray"
|
|
45
|
+
})), /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
|
|
46
|
+
onPress: () => setShowModal("Icon")
|
|
47
|
+
}, /*#__PURE__*/_react.default.createElement(_vectorIcons.Ionicons, {
|
|
48
|
+
name: "chevron-down",
|
|
49
|
+
size: 24,
|
|
50
|
+
color: "gray"
|
|
51
|
+
}))));
|
|
52
|
+
};
|
|
53
|
+
exports.Header = Header;
|
|
54
|
+
const styles = _reactNative.StyleSheet.create({
|
|
55
|
+
header: {
|
|
56
|
+
flexDirection: 'row',
|
|
57
|
+
alignItems: 'center',
|
|
58
|
+
backgroundColor: '#f6f6f6',
|
|
59
|
+
padding: 16,
|
|
60
|
+
borderBottomWidth: 1,
|
|
61
|
+
borderBottomColor: '#ddd'
|
|
62
|
+
},
|
|
63
|
+
section: {
|
|
64
|
+
flex: 1,
|
|
65
|
+
alignItems: 'center'
|
|
66
|
+
},
|
|
67
|
+
iconsSection: {
|
|
68
|
+
flex: 1,
|
|
69
|
+
display: 'flex',
|
|
70
|
+
flexDirection: 'row',
|
|
71
|
+
alignItems: 'center',
|
|
72
|
+
justifyContent: 'flex-end'
|
|
73
|
+
},
|
|
74
|
+
logo: {
|
|
75
|
+
width: 100,
|
|
76
|
+
height: 40,
|
|
77
|
+
resizeMode: 'contain'
|
|
78
|
+
},
|
|
79
|
+
icon: {
|
|
80
|
+
paddingLeft: 2,
|
|
81
|
+
paddingRight: 2
|
|
82
|
+
},
|
|
83
|
+
titleContainer: {
|
|
84
|
+
flex: 2 // Slightly larger space for the title
|
|
85
|
+
},
|
|
86
|
+
titleWrapper: {
|
|
87
|
+
alignItems: 'center',
|
|
88
|
+
justifyContent: 'center'
|
|
89
|
+
},
|
|
90
|
+
title: {
|
|
91
|
+
fontSize: 20,
|
|
92
|
+
fontWeight: 'medium',
|
|
93
|
+
color: '#000',
|
|
94
|
+
textAlign: 'center',
|
|
95
|
+
flexDirection: 'row'
|
|
96
|
+
},
|
|
97
|
+
betaText: {
|
|
98
|
+
fontSize: 12,
|
|
99
|
+
color: 'gray',
|
|
100
|
+
position: 'absolute',
|
|
101
|
+
top: -10,
|
|
102
|
+
right: -35
|
|
103
|
+
}
|
|
104
|
+
});
|
|
105
|
+
//# sourceMappingURL=header.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_vectorIcons","_AppContext","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","Header","setShowModal","useContext","AppContext","createElement","View","style","styles","header","section","Image","source","logo","titleContainer","titleWrapper","Text","title","betaText","Ionicons","icon","name","size","color","iconsSection","TouchableOpacity","onPress","exports","StyleSheet","create","flexDirection","alignItems","backgroundColor","padding","borderBottomWidth","borderBottomColor","flex","display","justifyContent","width","height","resizeMode","paddingLeft","paddingRight","fontSize","fontWeight","textAlign","position","top","right"],"sourceRoot":"../../../src","sources":["components/header.js"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.Testing = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
|
+
const Testing = ({
|
|
11
|
+
onProductCardClick,
|
|
12
|
+
onAddToCartClick
|
|
13
|
+
}) => {
|
|
14
|
+
const product = {
|
|
15
|
+
"part_number": "AEQO177",
|
|
16
|
+
"inventory_info": {
|
|
17
|
+
"default_uom": "EA",
|
|
18
|
+
"is_valid": true,
|
|
19
|
+
"info_by_uom": {
|
|
20
|
+
"EA": {
|
|
21
|
+
"gross_price": 7.83,
|
|
22
|
+
"net_price": 7.83,
|
|
23
|
+
"is_on_sale": false,
|
|
24
|
+
"quantity_available": 0,
|
|
25
|
+
"discounts": null
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
"product_details": {
|
|
30
|
+
"product_name": "Aladdin Hayward SPX1600S SuperPump Lid Gasket | O-177-2",
|
|
31
|
+
"part_number": "AEQO177",
|
|
32
|
+
"manufacturer_id": "O-177-2",
|
|
33
|
+
"heritage_link": "https://www.heritagepoolplus.com/aeqo177-aladdin-o-ring-o-177-o-177-2-o-177-2",
|
|
34
|
+
"image_url": "https://media.heritageplus.com/image/upload/v1668157956/image/AEQO177_0.jpg"
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
38
|
+
style: styles.container
|
|
39
|
+
}, /*#__PURE__*/_react.default.createElement(_reactNative.Button, {
|
|
40
|
+
title: "Product Card Click",
|
|
41
|
+
onPress: () => onProductCardClick(product)
|
|
42
|
+
}), /*#__PURE__*/_react.default.createElement(_reactNative.Button, {
|
|
43
|
+
title: "Add to Cart",
|
|
44
|
+
onPress: () => onAddToCartClick({
|
|
45
|
+
"quantity": 1,
|
|
46
|
+
"product": product
|
|
47
|
+
})
|
|
48
|
+
}));
|
|
49
|
+
};
|
|
50
|
+
exports.Testing = Testing;
|
|
51
|
+
const styles = _reactNative.StyleSheet.create({
|
|
52
|
+
container: {
|
|
53
|
+
flexDirection: 'row',
|
|
54
|
+
justifyContent: 'space-evenly',
|
|
55
|
+
marginVertical: 10,
|
|
56
|
+
paddingHorizontal: 16,
|
|
57
|
+
borderTopWidth: 1,
|
|
58
|
+
borderTopColor: '#DDD'
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
//# sourceMappingURL=testing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","e","__esModule","default","Testing","onProductCardClick","onAddToCartClick","product","createElement","View","style","styles","container","Button","title","onPress","exports","StyleSheet","create","flexDirection","justifyContent","marginVertical","paddingHorizontal","borderTopWidth","borderTopColor"],"sourceRoot":"../../../src","sources":["components/testing.js"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAAwD,SAAAD,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEjD,MAAMG,OAAO,GAAGA,CAAC;EAAEC,kBAAkB;EAAEC;AAAiB,CAAC,KAAK;EAEnE,MAAMC,OAAO,GAAG;IACd,aAAa,EAAE,SAAS;IACxB,gBAAgB,EAAE;MAChB,aAAa,EAAE,IAAI;MACnB,UAAU,EAAE,IAAI;MAChB,aAAa,EAAE;QACb,IAAI,EAAE;UACJ,aAAa,EAAE,IAAI;UACnB,WAAW,EAAE,IAAI;UACjB,YAAY,EAAE,KAAK;UACnB,oBAAoB,EAAE,CAAC;UACvB,WAAW,EAAE;QACf;MACF;IACF,CAAC;IACD,iBAAiB,EAAE;MACjB,cAAc,EAAE,yDAAyD;MACzE,aAAa,EAAE,SAAS;MACxB,iBAAiB,EAAE,SAAS;MAC5B,eAAe,EAAE,+EAA+E;MAChG,WAAW,EAAE;IACf;EACF,CAAC;EAED,oBACEV,MAAA,CAAAM,OAAA,CAAAK,aAAA,CAACR,YAAA,CAAAS,IAAI;IAACC,KAAK,EAAEC,MAAM,CAACC;EAAU,gBAC5Bf,MAAA,CAAAM,OAAA,CAAAK,aAAA,CAACR,YAAA,CAAAa,MAAM;IAACC,KAAK,EAAC,oBAAoB;IAACC,OAAO,EAAEA,CAAA,KAAMV,kBAAkB,CAACE,OAAO;EAAE,CAAE,CAAC,eACjFV,MAAA,CAAAM,OAAA,CAAAK,aAAA,CAACR,YAAA,CAAAa,MAAM;IAACC,KAAK,EAAC,aAAa;IAACC,OAAO,EAAEA,CAAA,KAAMT,gBAAgB,CAAC;MAAC,UAAU,EAAC,CAAC;MAAC,SAAS,EAACC;IAAO,CAAC;EAAE,CAAE,CAC5F,CAAC;AAEX,CAAC;AAACS,OAAA,CAAAZ,OAAA,GAAAA,OAAA;AAEF,MAAMO,MAAM,GAAGM,uBAAU,CAACC,MAAM,CAAC;EAC/BN,SAAS,EAAE;IACTO,aAAa,EAAE,KAAK;IACpBC,cAAc,EAAE,cAAc;IAC9BC,cAAc,EAAE,EAAE;IAClBC,iBAAiB,EAAE,EAAE;IACrBC,cAAc,EAAE,CAAC;IACjBC,cAAc,EAAE;EAClB;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.AppProvider = exports.AppContext = void 0;
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
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); }
|
|
9
|
+
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; }
|
|
10
|
+
const AppContext = exports.AppContext = /*#__PURE__*/(0, _react.createContext)();
|
|
11
|
+
const AppProvider = ({
|
|
12
|
+
children
|
|
13
|
+
}) => {
|
|
14
|
+
const [showModal, setShowModal] = (0, _react.useState)("Icon");
|
|
15
|
+
const [input, setInput] = (0, _react.useState)('');
|
|
16
|
+
const [messages, setMessages] = (0, _react.useState)([{
|
|
17
|
+
type: "ai",
|
|
18
|
+
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?"
|
|
19
|
+
}, {
|
|
20
|
+
type: "user",
|
|
21
|
+
text: "Do you carry Hayward super pumps?"
|
|
22
|
+
}, {
|
|
23
|
+
type: "ai",
|
|
24
|
+
text: "Could you provide more details on the specific model or horsepower you are interested in for the Hayward Super Pump? We have various models with different features, such as variable speed settings and different horsepower ratings. Alternatively, I can offer you some recommendations right away to help you decide."
|
|
25
|
+
}]);
|
|
26
|
+
const handleSend = async () => {
|
|
27
|
+
if (!input.trim()) return;
|
|
28
|
+
const userMessage = input;
|
|
29
|
+
setInput('');
|
|
30
|
+
|
|
31
|
+
// Add user message to the list
|
|
32
|
+
setMessages(prev => [...prev, {
|
|
33
|
+
type: "user",
|
|
34
|
+
text: userMessage
|
|
35
|
+
}]);
|
|
36
|
+
try {
|
|
37
|
+
// Add placeholder for AI message
|
|
38
|
+
setMessages(prev => [...prev, {
|
|
39
|
+
type: "ai",
|
|
40
|
+
text: ''
|
|
41
|
+
}]);
|
|
42
|
+
|
|
43
|
+
// Simulate response with streaming
|
|
44
|
+
const response = await onSendMessage(userMessage, chunk => {
|
|
45
|
+
setMessages(prev => {
|
|
46
|
+
const newMessages = [...prev];
|
|
47
|
+
const lastMessage = newMessages[newMessages.length - 1];
|
|
48
|
+
if (lastMessage && lastMessage.type === "ai") {
|
|
49
|
+
lastMessage.text += chunk;
|
|
50
|
+
}
|
|
51
|
+
return newMessages;
|
|
52
|
+
});
|
|
53
|
+
});
|
|
54
|
+
|
|
55
|
+
// Finalize AI response
|
|
56
|
+
setMessages(prev => {
|
|
57
|
+
const newMessages = [...prev];
|
|
58
|
+
const lastMessage = newMessages[newMessages.length - 1];
|
|
59
|
+
if (lastMessage && lastMessage.type === "ai" && lastMessage.text !== response) {
|
|
60
|
+
lastMessage.text = response;
|
|
61
|
+
}
|
|
62
|
+
return newMessages;
|
|
63
|
+
});
|
|
64
|
+
} catch (error) {
|
|
65
|
+
console.error('Error sending message:', error);
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
const onSendMessage = async (message, onStream) => {
|
|
69
|
+
try {
|
|
70
|
+
if (onStream) {
|
|
71
|
+
const words = `You said: ${message}`.split(' ');
|
|
72
|
+
for (const word of words) {
|
|
73
|
+
await new Promise(resolve => setTimeout(resolve, 100));
|
|
74
|
+
onStream(word + ' ');
|
|
75
|
+
}
|
|
76
|
+
return `You said: ${message}`;
|
|
77
|
+
}
|
|
78
|
+
await new Promise(resolve => setTimeout(resolve, 1000));
|
|
79
|
+
return `You said: ${message}`;
|
|
80
|
+
} catch (error) {
|
|
81
|
+
console.error('Error handling message:', error);
|
|
82
|
+
return 'Error processing message';
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
return /*#__PURE__*/_react.default.createElement(AppContext.Provider, {
|
|
86
|
+
value: {
|
|
87
|
+
showModal,
|
|
88
|
+
setShowModal,
|
|
89
|
+
messages,
|
|
90
|
+
setMessages,
|
|
91
|
+
handleSend,
|
|
92
|
+
onSendMessage,
|
|
93
|
+
input,
|
|
94
|
+
setInput
|
|
95
|
+
}
|
|
96
|
+
}, children);
|
|
97
|
+
};
|
|
98
|
+
exports.AppProvider = AppProvider;
|
|
99
|
+
//# sourceMappingURL=AppContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","AppContext","exports","createContext","AppProvider","children","showModal","setShowModal","useState","input","setInput","messages","setMessages","type","text","handleSend","trim","userMessage","prev","response","onSendMessage","chunk","newMessages","lastMessage","length","error","console","message","onStream","words","split","word","Promise","resolve","setTimeout","createElement","Provider","value"],"sourceRoot":"../../../src","sources":["contexts/AppContext.js"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useWebSocketMessage = useWebSocketMessage;
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _AppContext = require("../contexts/AppContext");
|
|
9
|
+
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); }
|
|
10
|
+
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; }
|
|
11
|
+
function useWebSocketMessage() {
|
|
12
|
+
const {
|
|
13
|
+
setIsComplete,
|
|
14
|
+
startStreaming,
|
|
15
|
+
setMessages,
|
|
16
|
+
messages,
|
|
17
|
+
setGhostMessage,
|
|
18
|
+
isMobile,
|
|
19
|
+
setTypingIndicator,
|
|
20
|
+
setStartStreaming,
|
|
21
|
+
lastUserMessage,
|
|
22
|
+
stopActivated,
|
|
23
|
+
custEmail,
|
|
24
|
+
custName,
|
|
25
|
+
data,
|
|
26
|
+
setGhostCard,
|
|
27
|
+
BASE_URL,
|
|
28
|
+
setStopActivated,
|
|
29
|
+
setLastMessageId
|
|
30
|
+
} = (0, _react.useContext)(_AppContext.AppContext);
|
|
31
|
+
const wsProtocol = window.location.protocol === 'https:' ? 'wss://' : 'ws://';
|
|
32
|
+
const wsUrl = BASE_URL.replace(/^http(s)?:\/\//, '');
|
|
33
|
+
const ENDPOINT = '/send/event';
|
|
34
|
+
const payload = {
|
|
35
|
+
...data,
|
|
36
|
+
user_query: lastUserMessage,
|
|
37
|
+
customer_name: data.customer_name
|
|
38
|
+
};
|
|
39
|
+
const wsRef = (0, _react.useRef)(null);
|
|
40
|
+
(0, _react.useEffect)(() => {
|
|
41
|
+
if (startStreaming) {
|
|
42
|
+
console.log(payload);
|
|
43
|
+
const socketUrl = `${wsProtocol}${wsUrl}${ENDPOINT}`;
|
|
44
|
+
const ws = new WebSocket(socketUrl);
|
|
45
|
+
wsRef.current = ws;
|
|
46
|
+
ws.onopen = () => {
|
|
47
|
+
console.log("WebSocket connection established.");
|
|
48
|
+
ws.send(JSON.stringify(payload));
|
|
49
|
+
};
|
|
50
|
+
ws.onmessage = event => {
|
|
51
|
+
var _response$resource_de, _response$resource_de2;
|
|
52
|
+
const response = JSON.parse(event.data);
|
|
53
|
+
console.log(response);
|
|
54
|
+
switch (response.type) {
|
|
55
|
+
case 'middle_message':
|
|
56
|
+
const middleMessage = {
|
|
57
|
+
type: "middle",
|
|
58
|
+
text: response.message,
|
|
59
|
+
products: [],
|
|
60
|
+
product_cards: "False"
|
|
61
|
+
};
|
|
62
|
+
setMessages([...messages, middleMessage]);
|
|
63
|
+
break;
|
|
64
|
+
case 'message':
|
|
65
|
+
if (response.product_cards == "False" || response.product_cards == false) {
|
|
66
|
+
setGhostMessage(false);
|
|
67
|
+
setTypingIndicator(false);
|
|
68
|
+
} else {
|
|
69
|
+
setGhostMessage(false);
|
|
70
|
+
setGhostCard(true);
|
|
71
|
+
}
|
|
72
|
+
const newMessage = {
|
|
73
|
+
type: "ai",
|
|
74
|
+
message_id: response.message_id || '',
|
|
75
|
+
text: [response.message],
|
|
76
|
+
feedback: "True",
|
|
77
|
+
products: [],
|
|
78
|
+
product_cards: response.product_cards || "False",
|
|
79
|
+
resource: (response === null || response === void 0 || (_response$resource_de = response.resource_details) === null || _response$resource_de === void 0 || (_response$resource_de = _response$resource_de[0]) === null || _response$resource_de === void 0 ? void 0 : _response$resource_de.link) ?? "",
|
|
80
|
+
resource_type: (response === null || response === void 0 || (_response$resource_de2 = response.resource_details) === null || _response$resource_de2 === void 0 || (_response$resource_de2 = _response$resource_de2[0]) === null || _response$resource_de2 === void 0 ? void 0 : _response$resource_de2.type) ?? ""
|
|
81
|
+
};
|
|
82
|
+
setMessages(prevMessages => [...prevMessages, newMessage]);
|
|
83
|
+
setLastMessageId(response.message_id);
|
|
84
|
+
break;
|
|
85
|
+
case 'chunk':
|
|
86
|
+
const newContent = response.chunk;
|
|
87
|
+
const newMessageId = response.message_id;
|
|
88
|
+
setMessages(prevMessages => {
|
|
89
|
+
const lastMessageIndex = prevMessages.length - 1;
|
|
90
|
+
if (prevMessages[lastMessageIndex] && prevMessages[lastMessageIndex].type === "ai") {
|
|
91
|
+
const updatedLastMessage = {
|
|
92
|
+
...prevMessages[lastMessageIndex],
|
|
93
|
+
text: [prevMessages[lastMessageIndex].text[0] + newContent],
|
|
94
|
+
message_id: newMessageId || prevMessages[lastMessageIndex].message_id,
|
|
95
|
+
feedback: "True"
|
|
96
|
+
};
|
|
97
|
+
return [...prevMessages.slice(0, lastMessageIndex), updatedLastMessage];
|
|
98
|
+
} else {
|
|
99
|
+
setGhostMessage(false);
|
|
100
|
+
return [...prevMessages, {
|
|
101
|
+
type: "ai",
|
|
102
|
+
text: [newContent],
|
|
103
|
+
message_id: newMessageId,
|
|
104
|
+
feedback: "True"
|
|
105
|
+
}];
|
|
106
|
+
}
|
|
107
|
+
});
|
|
108
|
+
if (newMessageId) {
|
|
109
|
+
setLastMessageId(newMessageId);
|
|
110
|
+
}
|
|
111
|
+
break;
|
|
112
|
+
case 'product_cards':
|
|
113
|
+
setMessages(prevMessages => {
|
|
114
|
+
const lastMessageIndex = prevMessages.length - 1;
|
|
115
|
+
if (prevMessages[lastMessageIndex] && prevMessages[lastMessageIndex].type === "ai") {
|
|
116
|
+
const updatedLastMessage = {
|
|
117
|
+
...prevMessages[lastMessageIndex],
|
|
118
|
+
products: response.products || [],
|
|
119
|
+
product_cards: "True"
|
|
120
|
+
};
|
|
121
|
+
return [...prevMessages.slice(0, lastMessageIndex), updatedLastMessage];
|
|
122
|
+
}
|
|
123
|
+
});
|
|
124
|
+
setGhostMessage(false);
|
|
125
|
+
setTypingIndicator(false);
|
|
126
|
+
setGhostCard(false);
|
|
127
|
+
break;
|
|
128
|
+
case 'product_document':
|
|
129
|
+
setMessages(prevMessages => {
|
|
130
|
+
const lastMessageIndex = prevMessages.length - 1;
|
|
131
|
+
if (prevMessages[lastMessageIndex] && prevMessages[lastMessageIndex].type === "ai") {
|
|
132
|
+
var _response$resource_de3, _response$resource_de4;
|
|
133
|
+
const updatedLastMessage = {
|
|
134
|
+
...prevMessages[lastMessageIndex],
|
|
135
|
+
resource: (response === null || response === void 0 || (_response$resource_de3 = response.resource_details) === null || _response$resource_de3 === void 0 || (_response$resource_de3 = _response$resource_de3[0]) === null || _response$resource_de3 === void 0 ? void 0 : _response$resource_de3.link) ?? "",
|
|
136
|
+
resource_type: (response === null || response === void 0 || (_response$resource_de4 = response.resource_details) === null || _response$resource_de4 === void 0 || (_response$resource_de4 = _response$resource_de4[0]) === null || _response$resource_de4 === void 0 ? void 0 : _response$resource_de4.type) ?? ""
|
|
137
|
+
};
|
|
138
|
+
return [...prevMessages.slice(0, lastMessageIndex), updatedLastMessage];
|
|
139
|
+
}
|
|
140
|
+
});
|
|
141
|
+
setGhostMessage(false);
|
|
142
|
+
setTypingIndicator(false);
|
|
143
|
+
setGhostCard(false);
|
|
144
|
+
break;
|
|
145
|
+
case 'suggested_questions':
|
|
146
|
+
/* const questions = {
|
|
147
|
+
type: "questions",
|
|
148
|
+
message_id: response.message_id || '',
|
|
149
|
+
suggested_questions: response.suggested_questions || [],
|
|
150
|
+
}; */
|
|
151
|
+
setMessages(prevMessages => {
|
|
152
|
+
const lastMessageIndex = prevMessages.length - 1;
|
|
153
|
+
if (prevMessages[lastMessageIndex] && prevMessages[lastMessageIndex].type === "ai") {
|
|
154
|
+
const updatedLastMessage = {
|
|
155
|
+
...prevMessages[lastMessageIndex],
|
|
156
|
+
suggested_questions: true,
|
|
157
|
+
questions: response.suggested_questions
|
|
158
|
+
};
|
|
159
|
+
return [...prevMessages.slice(0, lastMessageIndex), updatedLastMessage];
|
|
160
|
+
}
|
|
161
|
+
});
|
|
162
|
+
//setMessages((prevMessages) => [...prevMessages, questions]);
|
|
163
|
+
break;
|
|
164
|
+
case 'setComplete':
|
|
165
|
+
setIsComplete(true);
|
|
166
|
+
setTypingIndicator(false);
|
|
167
|
+
setStartStreaming(false);
|
|
168
|
+
setGhostCard(false);
|
|
169
|
+
break;
|
|
170
|
+
}
|
|
171
|
+
};
|
|
172
|
+
ws.onerror = error => {
|
|
173
|
+
setStartStreaming(false);
|
|
174
|
+
setGhostMessage(false);
|
|
175
|
+
setTypingIndicator(false);
|
|
176
|
+
setGhostCard(false);
|
|
177
|
+
};
|
|
178
|
+
ws.onclose = event => {
|
|
179
|
+
console.log("WebSocket connection closed:", event.reason);
|
|
180
|
+
setStartStreaming(false);
|
|
181
|
+
setGhostMessage(false);
|
|
182
|
+
setTypingIndicator(false);
|
|
183
|
+
setGhostCard(false);
|
|
184
|
+
};
|
|
185
|
+
return () => {
|
|
186
|
+
ws.close();
|
|
187
|
+
};
|
|
188
|
+
}
|
|
189
|
+
;
|
|
190
|
+
}, [startStreaming]);
|
|
191
|
+
(0, _react.useEffect)(() => {
|
|
192
|
+
if (wsRef.current && wsRef.current.readyState === WebSocket.OPEN) {
|
|
193
|
+
wsRef.current.close();
|
|
194
|
+
setStartStreaming(false);
|
|
195
|
+
setGhostMessage(false);
|
|
196
|
+
setGhostCard(false);
|
|
197
|
+
setTypingIndicator(false);
|
|
198
|
+
setStopActivated(false);
|
|
199
|
+
}
|
|
200
|
+
}, [stopActivated, setStartStreaming]);
|
|
201
|
+
}
|
|
202
|
+
//# sourceMappingURL=Stream.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_AppContext","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","useWebSocketMessage","setIsComplete","startStreaming","setMessages","messages","setGhostMessage","isMobile","setTypingIndicator","setStartStreaming","lastUserMessage","stopActivated","custEmail","custName","data","setGhostCard","BASE_URL","setStopActivated","setLastMessageId","useContext","AppContext","wsProtocol","window","location","protocol","wsUrl","replace","ENDPOINT","payload","user_query","customer_name","wsRef","useRef","useEffect","console","log","socketUrl","ws","WebSocket","current","onopen","send","JSON","stringify","onmessage","event","_response$resource_de","_response$resource_de2","response","parse","type","middleMessage","text","message","products","product_cards","newMessage","message_id","feedback","resource","resource_details","link","resource_type","prevMessages","newContent","chunk","newMessageId","lastMessageIndex","length","updatedLastMessage","slice","_response$resource_de3","_response$resource_de4","suggested_questions","questions","onerror","error","onclose","reason","close","readyState","OPEN"],"sourceRoot":"../../../src","sources":["hooks/Stream.js"],"mappings":"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","ignoreList":[]}
|