vdb-ai-chat 1.0.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/248.chat-widget.js +1 -0
- package/dist/538.chat-widget.js +1 -0
- package/dist/751.chat-widget.js +1 -0
- package/dist/chat-widget.js +1 -1
- package/dist/chat-widget.js.LICENSE.txt +2 -0
- package/lib/commonjs/api.js +2 -5
- package/lib/commonjs/api.js.map +1 -1
- package/lib/commonjs/components/ChatHeader.js +15 -2
- package/lib/commonjs/components/ChatHeader.js.map +1 -1
- package/lib/commonjs/components/ChatWidget.js +49 -24
- package/lib/commonjs/components/ChatWidget.js.map +1 -1
- package/lib/commonjs/components/MessageBubble.js +33 -9
- package/lib/commonjs/components/MessageBubble.js.map +1 -1
- package/lib/commonjs/components/ProductsList.js +2 -2
- package/lib/commonjs/components/ProductsList.js.map +1 -1
- package/lib/commonjs/components/utils.js +46 -1
- package/lib/commonjs/components/utils.js.map +1 -1
- package/lib/commonjs/contexts/AnalyticsClientContext.js +19 -0
- package/lib/commonjs/contexts/AnalyticsClientContext.js.map +1 -0
- package/lib/commonjs/contexts/SegmentClientContext.js +19 -0
- package/lib/commonjs/contexts/SegmentClientContext.js.map +1 -0
- package/lib/commonjs/hooks/useAnalytics.js +158 -0
- package/lib/commonjs/hooks/useAnalytics.js.map +1 -0
- package/lib/commonjs/index.web.js +29 -3
- package/lib/commonjs/index.web.js.map +1 -1
- package/lib/commonjs/storage.js +5 -5
- package/lib/commonjs/storage.js.map +1 -1
- package/lib/module/api.js +2 -5
- package/lib/module/api.js.map +1 -1
- package/lib/module/components/ChatHeader.js +15 -2
- package/lib/module/components/ChatHeader.js.map +1 -1
- package/lib/module/components/ChatWidget.js +50 -25
- package/lib/module/components/ChatWidget.js.map +1 -1
- package/lib/module/components/MessageBubble.js +34 -10
- package/lib/module/components/MessageBubble.js.map +1 -1
- package/lib/module/components/ProductsList.js +2 -2
- package/lib/module/components/ProductsList.js.map +1 -1
- package/lib/module/components/utils.js +42 -0
- package/lib/module/components/utils.js.map +1 -1
- package/lib/module/contexts/AnalyticsClientContext.js +10 -0
- package/lib/module/contexts/AnalyticsClientContext.js.map +1 -0
- package/lib/module/contexts/SegmentClientContext.js +10 -0
- package/lib/module/contexts/SegmentClientContext.js.map +1 -0
- package/lib/module/hooks/useAnalytics.js +146 -0
- package/lib/module/hooks/useAnalytics.js.map +1 -0
- package/lib/module/index.native.js +5 -5
- package/lib/module/index.web.js +30 -4
- package/lib/module/index.web.js.map +1 -1
- package/lib/module/storage.js +6 -6
- package/lib/module/storage.js.map +1 -1
- package/lib/typescript/api.d.ts +1 -1
- package/lib/typescript/api.d.ts.map +1 -1
- package/lib/typescript/components/ChatHeader.d.ts.map +1 -1
- package/lib/typescript/components/ChatWidget.d.ts.map +1 -1
- package/lib/typescript/components/MessageBubble.d.ts +2 -0
- package/lib/typescript/components/MessageBubble.d.ts.map +1 -1
- package/lib/typescript/components/ProductsList.d.ts.map +1 -1
- package/lib/typescript/components/utils.d.ts +23 -0
- package/lib/typescript/components/utils.d.ts.map +1 -1
- package/lib/typescript/contexts/AnalyticsClientContext.d.ts +9 -0
- package/lib/typescript/contexts/AnalyticsClientContext.d.ts.map +1 -0
- package/lib/typescript/contexts/SegmentClientContext.d.ts +9 -0
- package/lib/typescript/contexts/SegmentClientContext.d.ts.map +1 -0
- package/lib/typescript/hooks/useAnalytics.d.ts +36 -0
- package/lib/typescript/hooks/useAnalytics.d.ts.map +1 -0
- package/lib/typescript/index.native.d.ts +5 -5
- package/lib/typescript/index.web.d.ts +1 -1
- package/lib/typescript/index.web.d.ts.map +1 -1
- package/lib/typescript/storage.d.ts.map +1 -1
- package/lib/typescript/types.d.ts +1 -1
- package/lib/typescript/types.d.ts.map +1 -1
- package/package.json +13 -3
- package/src/api.ts +22 -11
- package/src/components/ChatHeader.tsx +13 -2
- package/src/components/ChatWidget.tsx +53 -28
- package/src/components/MessageBubble.tsx +52 -10
- package/src/components/ProductsList.tsx +8 -6
- package/src/components/utils.ts +60 -1
- package/src/contexts/AnalyticsClientContext.tsx +20 -0
- package/src/contexts/SegmentClientContext.tsx +20 -0
- package/src/hooks/useAnalytics.tsx +176 -0
- package/src/index.native.tsx +5 -5
- package/src/index.web.tsx +36 -3
- package/src/storage.ts +16 -13
- package/src/types.ts +1 -1
|
@@ -3,8 +3,9 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.fetchConversationId = exports.FeedbackAction = void 0;
|
|
6
|
+
exports.fetchConversationId = exports.FeedbackAction = exports.DeviceType = exports.AnalyticsEventNames = void 0;
|
|
7
7
|
exports.formatToTime = formatToTime;
|
|
8
|
+
exports.getUserDetails = exports.getDeviceType = void 0;
|
|
8
9
|
var _storage = require("../storage");
|
|
9
10
|
function formatToTime(timestamp) {
|
|
10
11
|
const date = new Date(timestamp);
|
|
@@ -34,4 +35,48 @@ const fetchConversationId = async _priceMode => {
|
|
|
34
35
|
return conversations[priceMode]?.conversation_id || null;
|
|
35
36
|
};
|
|
36
37
|
exports.fetchConversationId = fetchConversationId;
|
|
38
|
+
const getUserDetails = async () => {
|
|
39
|
+
try {
|
|
40
|
+
const stored = await _storage.Storage.getJSON("persist:userInfo", {});
|
|
41
|
+
if (!stored?.user) return null;
|
|
42
|
+
|
|
43
|
+
// If user is stored as a JSON string, parse it
|
|
44
|
+
if (typeof stored.user === "string") {
|
|
45
|
+
try {
|
|
46
|
+
return JSON.parse(stored.user);
|
|
47
|
+
} catch {
|
|
48
|
+
return null;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
return stored.user;
|
|
52
|
+
} catch {
|
|
53
|
+
return null;
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
exports.getUserDetails = getUserDetails;
|
|
57
|
+
let DeviceType = exports.DeviceType = /*#__PURE__*/function (DeviceType) {
|
|
58
|
+
DeviceType["WEB"] = "web";
|
|
59
|
+
DeviceType["IOS"] = "ios";
|
|
60
|
+
DeviceType["ANDROID"] = "android";
|
|
61
|
+
return DeviceType;
|
|
62
|
+
}({});
|
|
63
|
+
const getDeviceType = platform => {
|
|
64
|
+
switch (platform) {
|
|
65
|
+
case DeviceType.WEB:
|
|
66
|
+
return 0;
|
|
67
|
+
case DeviceType.IOS:
|
|
68
|
+
return 1;
|
|
69
|
+
case DeviceType.ANDROID:
|
|
70
|
+
return 2;
|
|
71
|
+
default:
|
|
72
|
+
return 2;
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
exports.getDeviceType = getDeviceType;
|
|
76
|
+
let AnalyticsEventNames = exports.AnalyticsEventNames = /*#__PURE__*/function (AnalyticsEventNames) {
|
|
77
|
+
AnalyticsEventNames["WIDGET_OPENED"] = "ai_chat_widget_opened";
|
|
78
|
+
AnalyticsEventNames["WIDGET_CLOSED"] = "ai_chat_widget_closed";
|
|
79
|
+
AnalyticsEventNames["CHAT_CLEARED"] = "ai_chat_cleared";
|
|
80
|
+
return AnalyticsEventNames;
|
|
81
|
+
}({});
|
|
37
82
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_storage","require","formatToTime","timestamp","date","Date","hours","getHours","minutes","getMinutes","ampm","mins","FeedbackAction","exports","fetchConversationId","_priceMode","conversations","Storage","getJSON","priceMode","userData","price_mode","conversation_id"],"sourceRoot":"../../../src","sources":["components/utils.ts"],"mappings":"
|
|
1
|
+
{"version":3,"names":["_storage","require","formatToTime","timestamp","date","Date","hours","getHours","minutes","getMinutes","ampm","mins","FeedbackAction","exports","fetchConversationId","_priceMode","conversations","Storage","getJSON","priceMode","userData","price_mode","conversation_id","getUserDetails","stored","user","JSON","parse","DeviceType","getDeviceType","platform","WEB","IOS","ANDROID","AnalyticsEventNames"],"sourceRoot":"../../../src","sources":["components/utils.ts"],"mappings":";;;;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAEO,SAASC,YAAYA,CAACC,SAAiB,EAAU;EACtD,MAAMC,IAAI,GAAG,IAAIC,IAAI,CAACF,SAAS,CAAC;EAEhC,IAAIG,KAAK,GAAGF,IAAI,CAACG,QAAQ,CAAC,CAAC;EAC3B,MAAMC,OAAO,GAAGJ,IAAI,CAACK,UAAU,CAAC,CAAC;EACjC,MAAMC,IAAI,GAAGJ,KAAK,IAAI,EAAE,GAAG,IAAI,GAAG,IAAI;EAEtCA,KAAK,GAAGA,KAAK,GAAG,EAAE;EAClBA,KAAK,GAAGA,KAAK,GAAGA,KAAK,GAAG,EAAE,CAAC,CAAC;;EAE5B,MAAMK,IAAI,GAAGH,OAAO,GAAG,EAAE,GAAG,IAAIA,OAAO,EAAE,GAAGA,OAAO;EAEnD,OAAO,GAAGF,KAAK,IAAIK,IAAI,IAAID,IAAI,EAAE;AACnC;AAAC,IAEWE,cAAc,GAAAC,OAAA,CAAAD,cAAA,0BAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAA,OAAdA,cAAc;AAAA;AAMnB,MAAME,mBAAmB,GAAG,MACjCC,UAAkB,IACS;EAC3B,MAAMC,aAAa,GAAG,MAAMC,gBAAO,CAACC,OAAO,CACzC,uBAAuB,EACvB,CAAC,CACH,CAAC;EACD,IAAI,CAACF,aAAa,EAAE,OAAO,IAAI;EAE/B,IAAIG,SAAS,GAAGJ,UAAU;EAC1B,IAAI,CAACI,SAAS,EAAE;IACd,MAAMC,QAAQ,GAAG,MAAMH,gBAAO,CAACC,OAAO,CACpC,UAAU,EACV,CAAC,CACH,CAAC;IACDC,SAAS,GAAGC,QAAQ,EAAEC,UAAU,IAAI,EAAE;EACxC;EACA,OAAOL,aAAa,CAACG,SAAS,CAAC,EAAEG,eAAe,IAAI,IAAI;AAC1D,CAAC;AAACT,OAAA,CAAAC,mBAAA,GAAAA,mBAAA;AAcK,MAAMS,cAAc,GAAG,MAAAA,CAAA,KAAyC;EACrE,IAAI;IACF,MAAMC,MAAM,GAAG,MAAMP,gBAAO,CAACC,OAAO,CAClC,kBAAkB,EAClB,CAAC,CACH,CAAC;IACD,IAAI,CAACM,MAAM,EAAEC,IAAI,EAAE,OAAO,IAAI;;IAE9B;IACA,IAAI,OAAOD,MAAM,CAACC,IAAI,KAAK,QAAQ,EAAE;MACnC,IAAI;QACF,OAAOC,IAAI,CAACC,KAAK,CAACH,MAAM,CAACC,IAAI,CAAC;MAChC,CAAC,CAAC,MAAM;QACN,OAAO,IAAI;MACb;IACF;IAEA,OAAOD,MAAM,CAACC,IAAI;EACpB,CAAC,CAAC,MAAM;IACN,OAAO,IAAI;EACb;AACF,CAAC;AAACZ,OAAA,CAAAU,cAAA,GAAAA,cAAA;AAAA,IAEUK,UAAU,GAAAf,OAAA,CAAAe,UAAA,0BAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAA,OAAVA,UAAU;AAAA;AAMf,MAAMC,aAAa,GAAIC,QAAiB,IAAK;EAClD,QAAQA,QAAQ;IACd,KAAKF,UAAU,CAACG,GAAG;MACjB,OAAO,CAAC;IACV,KAAKH,UAAU,CAACI,GAAG;MACjB,OAAO,CAAC;IACV,KAAKJ,UAAU,CAACK,OAAO;MACrB,OAAO,CAAC;IACV;MACE,OAAO,CAAC;EACZ;AACF,CAAC;AAACpB,OAAA,CAAAgB,aAAA,GAAAA,aAAA;AAAA,IAEUK,mBAAmB,GAAArB,OAAA,CAAAqB,mBAAA,0BAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAA,OAAnBA,mBAAmB;AAAA","ignoreList":[]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useAnalyticsClient = exports.AnalyticsClientProvider = exports.AnalyticsClientContext = void 0;
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
9
|
+
const AnalyticsClientContext = exports.AnalyticsClientContext = /*#__PURE__*/(0, _react.createContext)(undefined);
|
|
10
|
+
const useAnalyticsClient = () => (0, _react.useContext)(AnalyticsClientContext);
|
|
11
|
+
exports.useAnalyticsClient = useAnalyticsClient;
|
|
12
|
+
const AnalyticsClientProvider = ({
|
|
13
|
+
client,
|
|
14
|
+
children
|
|
15
|
+
}) => /*#__PURE__*/_react.default.createElement(AnalyticsClientContext.Provider, {
|
|
16
|
+
value: client
|
|
17
|
+
}, children);
|
|
18
|
+
exports.AnalyticsClientProvider = AnalyticsClientProvider;
|
|
19
|
+
//# sourceMappingURL=AnalyticsClientContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","AnalyticsClientContext","exports","createContext","undefined","useAnalyticsClient","useContext","AnalyticsClientProvider","client","children","createElement","Provider","value"],"sourceRoot":"../../../src","sources":["contexts/AnalyticsClientContext.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAAyD,SAAAD,wBAAAE,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAJ,uBAAA,YAAAA,CAAAE,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAGlD,MAAMkB,sBAAsB,GAAAC,OAAA,CAAAD,sBAAA,gBAAG,IAAAE,oBAAa,EACjDC,SACF,CAAC;AAEM,MAAMC,kBAAkB,GAAGA,CAAA,KAAM,IAAAC,iBAAU,EAACL,sBAAsB,CAAC;AAACC,OAAA,CAAAG,kBAAA,GAAAA,kBAAA;AAEpE,MAAME,uBAAuB,GAAGA,CAAC;EACtCC,MAAM;EACNC;AAIF,CAAC,kBACC9B,MAAA,CAAAa,OAAA,CAAAkB,aAAA,CAACT,sBAAsB,CAACU,QAAQ;EAACC,KAAK,EAAEJ;AAAO,GAC5CC,QAC8B,CAClC;AAACP,OAAA,CAAAK,uBAAA,GAAAA,uBAAA","ignoreList":[]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useSegmentClient = exports.SegmentClientProvider = exports.SegmentClientContext = void 0;
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
9
|
+
const SegmentClientContext = exports.SegmentClientContext = /*#__PURE__*/(0, _react.createContext)(undefined);
|
|
10
|
+
const useSegmentClient = () => (0, _react.useContext)(SegmentClientContext);
|
|
11
|
+
exports.useSegmentClient = useSegmentClient;
|
|
12
|
+
const SegmentClientProvider = ({
|
|
13
|
+
client,
|
|
14
|
+
children
|
|
15
|
+
}) => /*#__PURE__*/_react.default.createElement(SegmentClientContext.Provider, {
|
|
16
|
+
value: client
|
|
17
|
+
}, children);
|
|
18
|
+
exports.SegmentClientProvider = SegmentClientProvider;
|
|
19
|
+
//# sourceMappingURL=SegmentClientContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","SegmentClientContext","exports","createContext","undefined","useSegmentClient","useContext","SegmentClientProvider","client","children","createElement","Provider","value"],"sourceRoot":"../../../src","sources":["contexts/SegmentClientContext.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAAyD,SAAAD,wBAAAE,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAJ,uBAAA,YAAAA,CAAAE,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAGlD,MAAMkB,oBAAoB,GAAAC,OAAA,CAAAD,oBAAA,gBAAG,IAAAE,oBAAa,EAC/CC,SACF,CAAC;AAEM,MAAMC,gBAAgB,GAAGA,CAAA,KAAM,IAAAC,iBAAU,EAACL,oBAAoB,CAAC;AAACC,OAAA,CAAAG,gBAAA,GAAAA,gBAAA;AAEhE,MAAME,qBAAqB,GAAGA,CAAC;EACpCC,MAAM;EACNC;AAIF,CAAC,kBACC9B,MAAA,CAAAa,OAAA,CAAAkB,aAAA,CAACT,oBAAoB,CAACU,QAAQ;EAACC,KAAK,EAAEJ;AAAO,GAC1CC,QAC4B,CAChC;AAACP,OAAA,CAAAK,qBAAA,GAAAA,qBAAA","ignoreList":[]}
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getUserAnalyticsPayload = exports.formatOSName = void 0;
|
|
7
|
+
exports.isBot = isBot;
|
|
8
|
+
exports.useUserAnalytics = exports.isSegmentUserAgent = void 0;
|
|
9
|
+
var _reactNative = require("react-native");
|
|
10
|
+
var _utils = require("../components/utils");
|
|
11
|
+
var _AnalyticsClientContext = require("../contexts/AnalyticsClientContext");
|
|
12
|
+
const getSystemTypeEnum = deviceType => {
|
|
13
|
+
let type = "web";
|
|
14
|
+
if (deviceType) {
|
|
15
|
+
switch (deviceType) {
|
|
16
|
+
case "Linux":
|
|
17
|
+
type = "android";
|
|
18
|
+
break;
|
|
19
|
+
case "iPhone":
|
|
20
|
+
type = "ios";
|
|
21
|
+
break;
|
|
22
|
+
default:
|
|
23
|
+
type = "web";
|
|
24
|
+
break;
|
|
25
|
+
}
|
|
26
|
+
} else {
|
|
27
|
+
type = String(_reactNative.Platform.OS);
|
|
28
|
+
}
|
|
29
|
+
return (0, _utils.getDeviceType)(type).toString();
|
|
30
|
+
};
|
|
31
|
+
const formatOSName = rawOsName => {
|
|
32
|
+
if (!rawOsName) return "";
|
|
33
|
+
const osName = rawOsName.toLowerCase();
|
|
34
|
+
const osMap = {
|
|
35
|
+
android: "Android",
|
|
36
|
+
ios: "iOS",
|
|
37
|
+
ipad: "iPadOS",
|
|
38
|
+
ipados: "iPadOS",
|
|
39
|
+
windows: "Windows",
|
|
40
|
+
macos: "macOS",
|
|
41
|
+
mac: "macOS",
|
|
42
|
+
linux: "Linux",
|
|
43
|
+
web: "Web",
|
|
44
|
+
tizen: "Tizen",
|
|
45
|
+
harmonyos: "HarmonyOS",
|
|
46
|
+
fireos: "Fire OS"
|
|
47
|
+
};
|
|
48
|
+
for (const key of Object.keys(osMap)) {
|
|
49
|
+
if (osName.includes(key)) {
|
|
50
|
+
return osMap[key];
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
return rawOsName.charAt(0).toUpperCase() + rawOsName.slice(1);
|
|
54
|
+
};
|
|
55
|
+
exports.formatOSName = formatOSName;
|
|
56
|
+
const getUserAnalyticsPayload = async () => {
|
|
57
|
+
const user = await (0, _utils.getUserDetails)();
|
|
58
|
+
const deviceDetails = _reactNative.Platform.OS === "web" ? {
|
|
59
|
+
system_type_enum: getSystemTypeEnum(null),
|
|
60
|
+
platform_action_enum: "0"
|
|
61
|
+
} : {};
|
|
62
|
+
return {
|
|
63
|
+
user_company_id: user?.company_id?.toString(),
|
|
64
|
+
user_company_name: user?.company,
|
|
65
|
+
user_email: user?.email,
|
|
66
|
+
user_id: user?.id?.toString(),
|
|
67
|
+
user_name: user?.first_name ? `${user?.first_name} ${user?.last_name}` : undefined,
|
|
68
|
+
user_price_mode: user?.price_mode?.toString(),
|
|
69
|
+
price_mode: user?.price_mode?.toString(),
|
|
70
|
+
has_plan_details: user?.plan_details ? true : false,
|
|
71
|
+
userAgent: _reactNative.Platform.OS === "web" ? navigator.userAgent : "",
|
|
72
|
+
...deviceDetails
|
|
73
|
+
};
|
|
74
|
+
};
|
|
75
|
+
exports.getUserAnalyticsPayload = getUserAnalyticsPayload;
|
|
76
|
+
const isSegmentUserAgent = userAgent => {
|
|
77
|
+
if (!userAgent) return false;
|
|
78
|
+
|
|
79
|
+
// Regex to match Segment's specific Safari-like pattern
|
|
80
|
+
const segmentPattern = /^Mozilla\/5\.0 \([^;]+; CPU [^)]+ like Mac OS X\) AppleWebKit\/600\.1\.4 \(KHTML, like Gecko\) Version\/\d\.0 Mobile\/10B329 Safari\/8536\.25$/;
|
|
81
|
+
return segmentPattern.test(userAgent);
|
|
82
|
+
};
|
|
83
|
+
exports.isSegmentUserAgent = isSegmentUserAgent;
|
|
84
|
+
function isBot(userAgent = "") {
|
|
85
|
+
if (!userAgent && _reactNative.Platform.OS === "web") return true;
|
|
86
|
+
const botPatterns = [/bot/i,
|
|
87
|
+
// "Googlebot", "Bingbot"
|
|
88
|
+
/crawl/i,
|
|
89
|
+
// "crawler"
|
|
90
|
+
/spider/i,
|
|
91
|
+
// "spider"
|
|
92
|
+
/HeadlessChrome/i,
|
|
93
|
+
// Puppeteer/Headless
|
|
94
|
+
/PhantomJS/i,
|
|
95
|
+
// Old automation
|
|
96
|
+
/slurp/i,
|
|
97
|
+
// Yahoo Slurp bot
|
|
98
|
+
/curl/i,
|
|
99
|
+
// CLI traffic
|
|
100
|
+
/wget/i,
|
|
101
|
+
// CLI downloads
|
|
102
|
+
/httpclient/i // Generic clients
|
|
103
|
+
];
|
|
104
|
+
return botPatterns.some(pattern => pattern.test(userAgent));
|
|
105
|
+
}
|
|
106
|
+
const useUserAnalytics = () => {
|
|
107
|
+
// This will return undefined if not wrapped in provider, which is fine
|
|
108
|
+
const analyticsClient = (0, _AnalyticsClientContext.useAnalyticsClient)();
|
|
109
|
+
const _track = async (eventName, options) => {
|
|
110
|
+
const userAnalyticsPayload = await getUserAnalyticsPayload();
|
|
111
|
+
if (isSegmentUserAgent(userAnalyticsPayload?.userAgent)) {
|
|
112
|
+
console.warn("Skipping tracking for Segment user agent:", userAnalyticsPayload.userAgent);
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
|
+
if (isBot(userAnalyticsPayload?.userAgent)) {
|
|
116
|
+
console.warn("Skipping tracking for bot user agent:", userAnalyticsPayload.userAgent);
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
const client = analyticsClient || window.analytics;
|
|
120
|
+
if (!client) return;
|
|
121
|
+
const user = await (0, _utils.getUserDetails)();
|
|
122
|
+
if (!user?.id) {
|
|
123
|
+
console.error("Track Event tracked without user:", eventName, JSON.stringify(options));
|
|
124
|
+
console.error("Can't identify as user is not logged in", JSON.stringify(user));
|
|
125
|
+
} else {
|
|
126
|
+
await client.identify(`${user.id}`, {
|
|
127
|
+
name: `${user.first_name} ${user.last_name}`,
|
|
128
|
+
email: user.email,
|
|
129
|
+
country: user.country
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
await client.track(eventName, {
|
|
133
|
+
...userAnalyticsPayload,
|
|
134
|
+
...options
|
|
135
|
+
});
|
|
136
|
+
};
|
|
137
|
+
const _identify = async (userId, userTraits) => {
|
|
138
|
+
const client = analyticsClient || window.analytics;
|
|
139
|
+
if (!client) return;
|
|
140
|
+
await client.identify(userId, userTraits);
|
|
141
|
+
};
|
|
142
|
+
const trackEvent = async (eventName, options) => {
|
|
143
|
+
const userAnalyticsPayload = await getUserAnalyticsPayload();
|
|
144
|
+
const client = analyticsClient || window.analytics;
|
|
145
|
+
if (!client) return;
|
|
146
|
+
await client.track(eventName, {
|
|
147
|
+
...userAnalyticsPayload,
|
|
148
|
+
...options
|
|
149
|
+
});
|
|
150
|
+
};
|
|
151
|
+
return {
|
|
152
|
+
trackEvent,
|
|
153
|
+
_identify,
|
|
154
|
+
_track
|
|
155
|
+
};
|
|
156
|
+
};
|
|
157
|
+
exports.useUserAnalytics = useUserAnalytics;
|
|
158
|
+
//# sourceMappingURL=useAnalytics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_utils","_AnalyticsClientContext","getSystemTypeEnum","deviceType","type","String","Platform","OS","getDeviceType","toString","formatOSName","rawOsName","osName","toLowerCase","osMap","android","ios","ipad","ipados","windows","macos","mac","linux","web","tizen","harmonyos","fireos","key","Object","keys","includes","charAt","toUpperCase","slice","exports","getUserAnalyticsPayload","user","getUserDetails","deviceDetails","system_type_enum","platform_action_enum","user_company_id","company_id","user_company_name","company","user_email","email","user_id","id","user_name","first_name","last_name","undefined","user_price_mode","price_mode","has_plan_details","plan_details","userAgent","navigator","isSegmentUserAgent","segmentPattern","test","isBot","botPatterns","some","pattern","useUserAnalytics","analyticsClient","useAnalyticsClient","_track","eventName","options","userAnalyticsPayload","console","warn","client","window","analytics","error","JSON","stringify","identify","name","country","track","_identify","userId","userTraits","trackEvent"],"sourceRoot":"../../../src","sources":["hooks/useAnalytics.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -8,17 +8,43 @@ var React = _interopRequireWildcard(require("react"));
|
|
|
8
8
|
var _client = require("react-dom/client");
|
|
9
9
|
var _reactNative = require("react-native");
|
|
10
10
|
var _ChatWidget = require("./components/ChatWidget");
|
|
11
|
+
var _analyticsNext = require("@segment/analytics-next");
|
|
12
|
+
var _AnalyticsClientContext = require("./contexts/AnalyticsClientContext");
|
|
11
13
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
12
|
-
function renderChatApp(domElement, apiUrl, theme, onClose, onClearChat) {
|
|
14
|
+
function renderChatApp(domElement, apiUrl, theme, onClose, onClearChat, segmentWriteKey) {
|
|
13
15
|
const root = (0, _client.createRoot)(domElement);
|
|
14
|
-
|
|
16
|
+
let analyticsClient;
|
|
17
|
+
if (_reactNative.Platform.OS === "web" && segmentWriteKey) {
|
|
18
|
+
try {
|
|
19
|
+
const client = new _analyticsNext.Analytics({
|
|
20
|
+
writeKey: segmentWriteKey
|
|
21
|
+
});
|
|
22
|
+
analyticsClient = client;
|
|
23
|
+
window.analytics = client;
|
|
24
|
+
client.track("AI Chat: Widget Loaded", {
|
|
25
|
+
userAgent: typeof navigator !== "undefined" ? navigator.userAgent : ""
|
|
26
|
+
}).then?.(() => {
|
|
27
|
+
// eslint-disable-next-line no-console
|
|
28
|
+
console.log("Segment: Widget Loaded event sent");
|
|
29
|
+
}).catch(e => {
|
|
30
|
+
console.warn("Segment track failed", e);
|
|
31
|
+
});
|
|
32
|
+
} catch (e) {
|
|
33
|
+
console.warn("Segment analytics load failed", e);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
const content = /*#__PURE__*/React.createElement(_reactNative.View, {
|
|
15
37
|
style: styles.root
|
|
16
38
|
}, /*#__PURE__*/React.createElement(_ChatWidget.ChatWidget, {
|
|
17
39
|
apiUrl: apiUrl,
|
|
18
40
|
theme: theme,
|
|
19
41
|
onClose: onClose,
|
|
20
42
|
onClearChat: onClearChat
|
|
21
|
-
}))
|
|
43
|
+
}));
|
|
44
|
+
const contentWithAnalytics = analyticsClient ? /*#__PURE__*/React.createElement(_AnalyticsClientContext.AnalyticsClientProvider, {
|
|
45
|
+
client: analyticsClient
|
|
46
|
+
}, content) : content;
|
|
47
|
+
root.render(contentWithAnalytics);
|
|
22
48
|
}
|
|
23
49
|
const styles = _reactNative.StyleSheet.create({
|
|
24
50
|
root: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","_interopRequireWildcard","require","_client","_reactNative","_ChatWidget","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","renderChatApp","domElement","apiUrl","theme","onClose","onClearChat","root","createRoot","
|
|
1
|
+
{"version":3,"names":["React","_interopRequireWildcard","require","_client","_reactNative","_ChatWidget","_analyticsNext","_AnalyticsClientContext","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","renderChatApp","domElement","apiUrl","theme","onClose","onClearChat","segmentWriteKey","root","createRoot","analyticsClient","Platform","OS","client","Analytics","writeKey","window","analytics","track","userAgent","navigator","then","console","log","catch","warn","content","createElement","View","style","styles","ChatWidget","contentWithAnalytics","AnalyticsClientProvider","render","StyleSheet","create","flex","height","width"],"sourceRoot":"../../src","sources":["index.web.tsx"],"mappings":"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","ignoreList":[]}
|
package/lib/commonjs/storage.js
CHANGED
|
@@ -11,7 +11,7 @@ var _reactNative = require("react-native");
|
|
|
11
11
|
|
|
12
12
|
// Helper to safely get localStorage (only available on web)
|
|
13
13
|
function getLocalStorage() {
|
|
14
|
-
if (typeof window !==
|
|
14
|
+
if (typeof window !== "undefined" && window.localStorage) {
|
|
15
15
|
return window.localStorage;
|
|
16
16
|
}
|
|
17
17
|
return null;
|
|
@@ -56,7 +56,7 @@ let hasWarnedAboutStorage = false;
|
|
|
56
56
|
/**
|
|
57
57
|
* Initialize storage with AsyncStorage for React Native.
|
|
58
58
|
* Call this once at app startup before using ChatWidget.
|
|
59
|
-
*
|
|
59
|
+
*
|
|
60
60
|
* @example
|
|
61
61
|
* import AsyncStorage from '@react-native-async-storage/async-storage';
|
|
62
62
|
* import { initStorage } from 'vdb-ai-chat';
|
|
@@ -71,7 +71,7 @@ function initStorage(asyncStorage) {
|
|
|
71
71
|
* Check if storage is properly initialized for the current platform
|
|
72
72
|
*/
|
|
73
73
|
function isStorageInitialized() {
|
|
74
|
-
if (_reactNative.Platform.OS ===
|
|
74
|
+
if (_reactNative.Platform.OS === "web") {
|
|
75
75
|
return getLocalStorage() !== null;
|
|
76
76
|
}
|
|
77
77
|
return nativeStorage !== null;
|
|
@@ -86,13 +86,13 @@ const noopStorage = {
|
|
|
86
86
|
|
|
87
87
|
// Get the appropriate storage based on platform
|
|
88
88
|
function getStorage() {
|
|
89
|
-
if (_reactNative.Platform.OS ===
|
|
89
|
+
if (_reactNative.Platform.OS === "web") {
|
|
90
90
|
return webStorage;
|
|
91
91
|
}
|
|
92
92
|
if (!nativeStorage) {
|
|
93
93
|
// Only warn once to avoid console spam
|
|
94
94
|
if (!hasWarnedAboutStorage) {
|
|
95
|
-
console.warn(
|
|
95
|
+
console.warn("[vdb-ai-chat] AsyncStorage not initialized. Call initStorage(AsyncStorage) at app startup.");
|
|
96
96
|
hasWarnedAboutStorage = true;
|
|
97
97
|
}
|
|
98
98
|
return noopStorage;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","getLocalStorage","window","localStorage","webStorage","getItem","key","storage","setItem","value","removeItem","nativeStorage","hasWarnedAboutStorage","initStorage","asyncStorage","isStorageInitialized","Platform","OS","noopStorage","getStorage","console","warn","Storage","exports","getJSON","defaultValue","JSON","parse","setJSON","stringify","_default","default"],"sourceRoot":"../../src","sources":["storage.ts"],"mappings":";;;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEA;;AAOA;AACA,SAASC,eAAeA,CAAA,EAAmB;EACzC,IAAI,OAAOC,MAAM,KAAK,WAAW,IAAIA,MAAM,CAACC,YAAY,EAAE;IACxD,OAAOD,MAAM,CAACC,YAAY;EAC5B;EACA,OAAO,IAAI;AACb;;AAEA;AACA,MAAMC,UAA4B,GAAG;EACnCC,OAAO,EAAE,MAAOC,GAAW,IAAK;IAC9B,IAAI;MACF,MAAMC,OAAO,GAAGN,eAAe,CAAC,CAAC;MACjC,OAAOM,OAAO,GAAGA,OAAO,CAACF,OAAO,CAACC,GAAG,CAAC,GAAG,IAAI;IAC9C,CAAC,CAAC,MAAM;MACN,OAAO,IAAI;IACb;EACF,CAAC;EACDE,OAAO,EAAE,MAAAA,CAAOF,GAAW,EAAEG,KAAa,KAAK;IAC7C,IAAI;MACF,MAAMF,OAAO,GAAGN,eAAe,CAAC,CAAC;MACjC,IAAIM,OAAO,EAAE;QACXA,OAAO,CAACC,OAAO,CAACF,GAAG,EAAEG,KAAK,CAAC;MAC7B;IACF,CAAC,CAAC,MAAM;MACN;IAAA;EAEJ,CAAC;EACDC,UAAU,EAAE,MAAOJ,GAAW,IAAK;IACjC,IAAI;MACF,MAAMC,OAAO,GAAGN,eAAe,CAAC,CAAC;MACjC,IAAIM,OAAO,EAAE;QACXA,OAAO,CAACG,UAAU,CAACJ,GAAG,CAAC;MACzB;IACF,CAAC,CAAC,MAAM;MACN;IAAA;EAEJ;AACF,CAAC;;AAED;AACA,IAAIK,aAAsC,GAAG,IAAI;AACjD,IAAIC,qBAAqB,GAAG,KAAK;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,WAAWA,CAACC,YAA8B,EAAQ;EAChEH,aAAa,GAAGG,YAAY;EAC5BF,qBAAqB,GAAG,KAAK;AAC/B;;AAEA;AACA;AACA;AACO,SAASG,oBAAoBA,CAAA,EAAY;EAC9C,IAAIC,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;IACzB,OAAOhB,eAAe,CAAC,CAAC,KAAK,IAAI;EACnC;EACA,OAAOU,aAAa,KAAK,IAAI;AAC/B;;AAEA;AACA,MAAMO,WAA6B,GAAG;EACpCb,OAAO,EAAE,MAAAA,CAAA,KAAY,IAAI;EACzBG,OAAO,EAAE,MAAAA,CAAA,KAAY,CAAC,CAAC;EACvBE,UAAU,EAAE,MAAAA,CAAA,KAAY,CAAC;AAC3B,CAAC;;AAED;AACA,SAASS,UAAUA,CAAA,EAAqB;EACtC,IAAIH,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;IACzB,OAAOb,UAAU;EACnB;EAEA,IAAI,CAACO,aAAa,EAAE;IAClB;IACA,IAAI,CAACC,qBAAqB,EAAE;MAC1BQ,OAAO,CAACC,IAAI,CACV,4FACF,CAAC;MACDT,qBAAqB,GAAG,IAAI;IAC9B;IACA,OAAOM,WAAW;EACpB;EAEA,OAAOP,aAAa;AACtB;;AAEA;AACO,MAAMW,OAAO,GAAAC,OAAA,CAAAD,OAAA,GAAG;EACrBjB,OAAO,EAAE,MAAOC,GAAW,IAA6B;IACtD,OAAOa,UAAU,CAAC,CAAC,CAACd,OAAO,CAACC,GAAG,CAAC;EAClC,CAAC;EAEDE,OAAO,EAAE,MAAAA,CAAOF,GAAW,EAAEG,KAAa,KAAoB;IAC5D,OAAOU,UAAU,CAAC,CAAC,CAACX,OAAO,CAACF,GAAG,EAAEG,KAAK,CAAC;EACzC,CAAC;EAEDC,UAAU,EAAE,MAAOJ,GAAW,IAAoB;IAChD,OAAOa,UAAU,CAAC,CAAC,CAACT,UAAU,CAACJ,GAAG,CAAC;EACrC,CAAC;EAED;EACAkB,OAAO,EAAE,MAAAA,
|
|
1
|
+
{"version":3,"names":["_reactNative","require","getLocalStorage","window","localStorage","webStorage","getItem","key","storage","setItem","value","removeItem","nativeStorage","hasWarnedAboutStorage","initStorage","asyncStorage","isStorageInitialized","Platform","OS","noopStorage","getStorage","console","warn","Storage","exports","getJSON","defaultValue","JSON","parse","setJSON","stringify","_default","default"],"sourceRoot":"../../src","sources":["storage.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/api.js
CHANGED
|
@@ -28,16 +28,13 @@ export function normaliseMessages(raw) {
|
|
|
28
28
|
role: m.role === "user" ? "user" : "assistant",
|
|
29
29
|
text: String(m.content ?? m.text ?? ""),
|
|
30
30
|
createdAt: typeof m.created_at === "string" ? Date.parse(m.created_at) : typeof m.createdAt === "number" ? m.createdAt : Date.now(),
|
|
31
|
-
|
|
32
|
-
agent_response: raw?.agent_response ? raw?.agent_response : undefined
|
|
33
|
-
} : {}),
|
|
34
|
-
// agent_response: m.agent_response,
|
|
31
|
+
search_payload: m.search_payload,
|
|
35
32
|
suggestions: Array.isArray(m.suggestions) ? m.suggestions : undefined
|
|
36
33
|
}));
|
|
37
34
|
}
|
|
38
35
|
export async function fetchInitialMessages(apiUrl, _params, priceMode) {
|
|
39
36
|
const conversations = await Storage.getJSON("vdbchat_conversations", {});
|
|
40
|
-
const storedId = conversations?.[priceMode]?.conversation_id ?? null;
|
|
37
|
+
const storedId = conversations?.[priceMode ?? ""]?.conversation_id ?? null;
|
|
41
38
|
if (!priceMode) return;
|
|
42
39
|
const body = {};
|
|
43
40
|
if (storedId) {
|
package/lib/module/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Storage","buildHeaders","token","getItem","iid","installationId","parsed","JSON","parse","installationIdentifier","session","Accept","Authorization","Cookie","normaliseMessages","raw","messages","Array","isArray","map","m","index","id","String","role","created_at","Date","now","text","content","createdAt","
|
|
1
|
+
{"version":3,"names":["Storage","buildHeaders","token","getItem","iid","installationId","parsed","JSON","parse","installationIdentifier","session","Accept","Authorization","Cookie","normaliseMessages","raw","messages","Array","isArray","map","m","index","id","String","role","created_at","Date","now","text","content","createdAt","search_payload","suggestions","undefined","fetchInitialMessages","apiUrl","_params","priceMode","conversations","getJSON","storedId","conversation_id","body","Number","isNaN","res","fetch","method","headers","Object","keys","length","stringify","ok","Error","status","data","json","updatedConversations","setJSON","sendUserMessage","userMessage","_history","query","clearChatHistory","url","URL","searchParams","set","toString","getProducts","params","vdb","page_size","price_mode","vdb_setting","handleFeedbackActionApi","action","message_id","feedbackUrl","payload","reaction","response"],"sourceRoot":"../../src","sources":["api.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { View, Text, StyleSheet, TouchableOpacity, Platform, Image } from "react-native";
|
|
2
2
|
import React from "react";
|
|
3
|
+
import { useUserAnalytics } from "../hooks/useAnalytics";
|
|
4
|
+
import { AnalyticsEventNames } from "./utils";
|
|
3
5
|
|
|
4
6
|
// Use expo-image on native if available, fallback to RN Image
|
|
5
7
|
let ImageComponent = Image;
|
|
@@ -27,6 +29,9 @@ const ChatHeader = ({
|
|
|
27
29
|
onClose,
|
|
28
30
|
onClearChat
|
|
29
31
|
}) => {
|
|
32
|
+
const {
|
|
33
|
+
trackEvent
|
|
34
|
+
} = useUserAnalytics();
|
|
30
35
|
return /*#__PURE__*/React.createElement(View, {
|
|
31
36
|
style: styles.container
|
|
32
37
|
}, /*#__PURE__*/React.createElement(View, {
|
|
@@ -46,12 +51,20 @@ const ChatHeader = ({
|
|
|
46
51
|
}, "AI Search")), /*#__PURE__*/React.createElement(View, {
|
|
47
52
|
style: styles.buttonContainer
|
|
48
53
|
}, /*#__PURE__*/React.createElement(TouchableOpacity, {
|
|
49
|
-
onPress: () =>
|
|
54
|
+
onPress: () => {
|
|
55
|
+
trackEvent?.(AnalyticsEventNames.CHAT_CLEARED, {});
|
|
56
|
+
console.log("Segment: Clear Chat tracked");
|
|
57
|
+
onClearChat?.();
|
|
58
|
+
}
|
|
50
59
|
}, /*#__PURE__*/React.createElement(Text, {
|
|
51
60
|
style: styles.clearChatText
|
|
52
61
|
}, "Clear Chat")), /*#__PURE__*/React.createElement(TouchableOpacity, {
|
|
53
62
|
style: styles.closeButton,
|
|
54
|
-
onPress: () =>
|
|
63
|
+
onPress: () => {
|
|
64
|
+
trackEvent?.(AnalyticsEventNames.WIDGET_CLOSED, {});
|
|
65
|
+
console.log("Segment: Widget Close tracked");
|
|
66
|
+
onClose?.();
|
|
67
|
+
}
|
|
55
68
|
}, /*#__PURE__*/React.createElement(CloseIcon, null))));
|
|
56
69
|
};
|
|
57
70
|
const styles = StyleSheet.create({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["View","Text","StyleSheet","TouchableOpacity","Platform","Image","React","ImageComponent","OS","ExpoImage","require","CloseIcon","createElement","source","uri","resizeMode","style","width","height","ChatHeader","onClose","onClearChat","styles","container","logoContainer","marginRight","title","buttonContainer","onPress","clearChatText","closeButton","create","padding","backgroundColor","justifyContent","flexDirection","alignItems","fontSize","fontWeight","color","borderRadius","closeIconText","textAlign","lineHeight","closeButtonText","textDecorationLine","gap"],"sourceRoot":"../../../src","sources":["components/ChatHeader.tsx"],"mappings":"AAAA,SACEA,IAAI,EACJC,IAAI,EACJC,UAAU,EACVC,gBAAgB,EAChBC,QAAQ,EACRC,KAAK,QACA,cAAc;AACrB,OAAOC,KAAK,MAAM,OAAO;;
|
|
1
|
+
{"version":3,"names":["View","Text","StyleSheet","TouchableOpacity","Platform","Image","React","useUserAnalytics","AnalyticsEventNames","ImageComponent","OS","ExpoImage","require","CloseIcon","createElement","source","uri","resizeMode","style","width","height","ChatHeader","onClose","onClearChat","trackEvent","styles","container","logoContainer","marginRight","title","buttonContainer","onPress","CHAT_CLEARED","console","log","clearChatText","closeButton","WIDGET_CLOSED","create","padding","backgroundColor","justifyContent","flexDirection","alignItems","fontSize","fontWeight","color","borderRadius","closeIconText","textAlign","lineHeight","closeButtonText","textDecorationLine","gap"],"sourceRoot":"../../../src","sources":["components/ChatHeader.tsx"],"mappings":"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","ignoreList":[]}
|