vdb-ai-chat 1.0.0 → 1.0.2
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/10.chat-widget.js +2 -0
- package/dist/10.chat-widget.js.LICENSE.txt +1 -0
- package/dist/104.chat-widget.js +1 -0
- package/dist/248.chat-widget.js +1 -0
- package/dist/50.chat-widget.js +1 -0
- package/dist/521.chat-widget.js +1 -0
- package/dist/538.chat-widget.js +1 -0
- package/dist/572.chat-widget.js +1 -0
- package/dist/694.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 +6 -8
- package/lib/commonjs/api.js.map +1 -1
- package/lib/commonjs/components/BetaNotice.js +38 -0
- package/lib/commonjs/components/BetaNotice.js.map +1 -0
- package/lib/commonjs/components/ChatHeader.js +41 -21
- package/lib/commonjs/components/ChatHeader.js.map +1 -1
- package/lib/commonjs/components/ChatInput.js +21 -21
- package/lib/commonjs/components/ChatInput.js.map +1 -1
- package/lib/commonjs/components/ChatWidget.js +162 -90
- package/lib/commonjs/components/ChatWidget.js.map +1 -1
- package/lib/commonjs/components/MessageBubble.js +28 -68
- package/lib/commonjs/components/MessageBubble.js.map +1 -1
- package/lib/commonjs/components/MessageMetaRow.js +135 -0
- package/lib/commonjs/components/MessageMetaRow.js.map +1 -0
- package/lib/commonjs/components/ProductsGrid.js +139 -0
- package/lib/commonjs/components/ProductsGrid.js.map +1 -0
- package/lib/commonjs/components/ProductsList.js +22 -126
- package/lib/commonjs/components/ProductsList.js.map +1 -1
- package/lib/commonjs/components/ProductsListView.js +139 -0
- package/lib/commonjs/components/ProductsListView.js.map +1 -0
- package/lib/commonjs/components/SuggestionsRow.js +41 -23
- package/lib/commonjs/components/SuggestionsRow.js.map +1 -1
- package/lib/commonjs/components/utils.js +50 -4
- 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/hooks/useAnalytics.js +158 -0
- package/lib/commonjs/hooks/useAnalytics.js.map +1 -0
- package/lib/commonjs/index.web.js +91 -8
- 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/commonjs/theme.js +4 -4
- package/lib/commonjs/theme.js.map +1 -1
- package/lib/module/api.js +6 -8
- package/lib/module/api.js.map +1 -1
- package/lib/module/components/BetaNotice.js +30 -0
- package/lib/module/components/BetaNotice.js.map +1 -0
- package/lib/module/components/ChatHeader.js +41 -21
- package/lib/module/components/ChatHeader.js.map +1 -1
- package/lib/module/components/ChatInput.js +21 -21
- package/lib/module/components/ChatInput.js.map +1 -1
- package/lib/module/components/ChatWidget.js +164 -92
- package/lib/module/components/ChatWidget.js.map +1 -1
- package/lib/module/components/MessageBubble.js +28 -70
- package/lib/module/components/MessageBubble.js.map +1 -1
- package/lib/module/components/MessageMetaRow.js +127 -0
- package/lib/module/components/MessageMetaRow.js.map +1 -0
- package/lib/module/components/ProductsGrid.js +133 -0
- package/lib/module/components/ProductsGrid.js.map +1 -0
- package/lib/module/components/ProductsList.js +21 -126
- package/lib/module/components/ProductsList.js.map +1 -1
- package/lib/module/components/ProductsListView.js +132 -0
- package/lib/module/components/ProductsListView.js.map +1 -0
- package/lib/module/components/SuggestionsRow.js +41 -23
- package/lib/module/components/SuggestionsRow.js.map +1 -1
- package/lib/module/components/utils.js +46 -3
- 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/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 +89 -6
- 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/module/theme.js +4 -4
- package/lib/module/theme.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/BetaNotice.d.ts +5 -0
- package/lib/typescript/components/BetaNotice.d.ts.map +1 -0
- package/lib/typescript/components/ChatHeader.d.ts +5 -2
- package/lib/typescript/components/ChatHeader.d.ts.map +1 -1
- package/lib/typescript/components/ChatInput.d.ts.map +1 -1
- package/lib/typescript/components/ChatWidget.d.ts.map +1 -1
- package/lib/typescript/components/MessageBubble.d.ts +9 -3
- package/lib/typescript/components/MessageBubble.d.ts.map +1 -1
- package/lib/typescript/components/MessageMetaRow.d.ts +14 -0
- package/lib/typescript/components/MessageMetaRow.d.ts.map +1 -0
- package/lib/typescript/components/ProductsGrid.d.ts +10 -0
- package/lib/typescript/components/ProductsGrid.d.ts.map +1 -0
- package/lib/typescript/components/ProductsList.d.ts +4 -2
- package/lib/typescript/components/ProductsList.d.ts.map +1 -1
- package/lib/typescript/components/ProductsListView.d.ts +10 -0
- package/lib/typescript/components/ProductsListView.d.ts.map +1 -0
- package/lib/typescript/components/SuggestionsRow.d.ts +2 -0
- package/lib/typescript/components/SuggestionsRow.d.ts.map +1 -1
- package/lib/typescript/components/utils.d.ts +24 -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/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 +4 -2
- package/lib/typescript/types.d.ts.map +1 -1
- package/package.json +13 -3
- package/src/api.ts +26 -14
- package/src/components/BetaNotice.tsx +32 -0
- package/src/components/ChatHeader.tsx +43 -18
- package/src/components/ChatInput.tsx +20 -21
- package/src/components/ChatWidget.tsx +282 -219
- package/src/components/MessageBubble.tsx +48 -111
- package/src/components/MessageMetaRow.tsx +199 -0
- package/src/components/ProductsGrid.tsx +163 -0
- package/src/components/ProductsList.tsx +20 -144
- package/src/components/ProductsListView.tsx +149 -0
- package/src/components/SuggestionsRow.tsx +45 -21
- package/src/components/utils.ts +66 -5
- package/src/contexts/AnalyticsClientContext.tsx +20 -0
- package/src/hooks/useAnalytics.tsx +176 -0
- package/src/index.native.tsx +5 -5
- package/src/index.web.tsx +92 -4
- package/src/storage.ts +16 -13
- package/src/theme.ts +4 -4
- package/src/types.ts +4 -3
|
@@ -4,21 +4,104 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.renderChatApp = renderChatApp;
|
|
7
|
-
var
|
|
8
|
-
var _client = require("react-dom/client");
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
8
|
var _reactNative = require("react-native");
|
|
9
|
+
var _client = require("react-dom/client");
|
|
10
|
+
var _analyticsNext = require("@segment/analytics-next");
|
|
11
|
+
var _AnalyticsClientContext = require("./contexts/AnalyticsClientContext");
|
|
10
12
|
var _ChatWidget = require("./components/ChatWidget");
|
|
11
|
-
|
|
12
|
-
function
|
|
13
|
+
var _utils = require("./components/utils");
|
|
14
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
15
|
+
function renderChatApp(domElement, apiUrl, theme, onClose, onClearChat, segmentWriteKey, onViewAllPress, onItemPress, isBetaMode) {
|
|
13
16
|
const root = (0, _client.createRoot)(domElement);
|
|
14
|
-
|
|
17
|
+
|
|
18
|
+
// Bridge to parent RN WebView / browser
|
|
19
|
+
const sendToParent = (type, payload) => {
|
|
20
|
+
const msg = {
|
|
21
|
+
source: "vdb-ai-chat",
|
|
22
|
+
type,
|
|
23
|
+
payload
|
|
24
|
+
};
|
|
25
|
+
const json = JSON.stringify(msg);
|
|
26
|
+
|
|
27
|
+
// RN WebView bridge
|
|
28
|
+
const rnwv = window.ReactNativeWebView;
|
|
29
|
+
if (rnwv?.postMessage) {
|
|
30
|
+
rnwv.postMessage(json);
|
|
31
|
+
} else {
|
|
32
|
+
// Browser/iframe
|
|
33
|
+
try {
|
|
34
|
+
window.parent?.postMessage(msg, "*");
|
|
35
|
+
} catch {}
|
|
36
|
+
try {
|
|
37
|
+
window.dispatchEvent(new CustomEvent("vdb-ai-event", {
|
|
38
|
+
detail: msg
|
|
39
|
+
}));
|
|
40
|
+
} catch {}
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
const handleViewAll = (url, payload) => {
|
|
44
|
+
onViewAllPress?.(url, payload);
|
|
45
|
+
sendToParent("ai_view_all", {
|
|
46
|
+
url,
|
|
47
|
+
payload
|
|
48
|
+
});
|
|
49
|
+
onClose?.();
|
|
50
|
+
};
|
|
51
|
+
const handleItemPress = (url, item) => {
|
|
52
|
+
onItemPress?.(url, item);
|
|
53
|
+
sendToParent("ai_item_click", {
|
|
54
|
+
url,
|
|
55
|
+
item
|
|
56
|
+
});
|
|
57
|
+
onClose?.();
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
// Build base content and render immediately
|
|
61
|
+
const content = /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
15
62
|
style: styles.root
|
|
16
|
-
}, /*#__PURE__*/
|
|
63
|
+
}, /*#__PURE__*/_react.default.createElement(_ChatWidget.ChatWidget, {
|
|
17
64
|
apiUrl: apiUrl,
|
|
18
65
|
theme: theme,
|
|
19
66
|
onClose: onClose,
|
|
20
|
-
onClearChat: onClearChat
|
|
21
|
-
|
|
67
|
+
onClearChat: onClearChat,
|
|
68
|
+
onViewAllPress: handleViewAll,
|
|
69
|
+
onItemPress: handleItemPress,
|
|
70
|
+
isBetaMode: isBetaMode
|
|
71
|
+
}));
|
|
72
|
+
root.render(content);
|
|
73
|
+
if (_reactNative.Platform.OS === "web" && segmentWriteKey) {
|
|
74
|
+
try {
|
|
75
|
+
const isEdge = typeof navigator !== "undefined" && (navigator.userAgent.includes("Edg") || navigator.userAgent.includes("Edge"));
|
|
76
|
+
const clientPromise = _analyticsNext.AnalyticsBrowser.load({
|
|
77
|
+
writeKey: segmentWriteKey,
|
|
78
|
+
trackAppLifecycleEvents: false,
|
|
79
|
+
flushAt: isEdge ? 1 : 10,
|
|
80
|
+
flushInterval: 10000,
|
|
81
|
+
maxBatchSize: isEdge ? 1 : 10
|
|
82
|
+
});
|
|
83
|
+
clientPromise.then(async ([client]) => {
|
|
84
|
+
client?.debug?.(true);
|
|
85
|
+
window.analytics = client;
|
|
86
|
+
client.page?.();
|
|
87
|
+
try {
|
|
88
|
+
const user = await (0, _utils.getUserDetails)();
|
|
89
|
+
const userId = user?.id;
|
|
90
|
+
if (userId) client.identify(userId);
|
|
91
|
+
} catch {}
|
|
92
|
+
const contentWithAnalytics = /*#__PURE__*/_react.default.createElement(_AnalyticsClientContext.AnalyticsClientProvider, {
|
|
93
|
+
client: client
|
|
94
|
+
}, content);
|
|
95
|
+
root.render(contentWithAnalytics);
|
|
96
|
+
}).catch(e => {
|
|
97
|
+
// eslint-disable-next-line no-console
|
|
98
|
+
console.error("[Segment] init failed", e);
|
|
99
|
+
});
|
|
100
|
+
} catch (e) {
|
|
101
|
+
// eslint-disable-next-line no-console
|
|
102
|
+
console.error("[Segment] init failed", e);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
22
105
|
}
|
|
23
106
|
const styles = _reactNative.StyleSheet.create({
|
|
24
107
|
root: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_client","_analyticsNext","_AnalyticsClientContext","_ChatWidget","_utils","e","__esModule","default","renderChatApp","domElement","apiUrl","theme","onClose","onClearChat","segmentWriteKey","onViewAllPress","onItemPress","isBetaMode","root","createRoot","sendToParent","type","payload","msg","source","json","JSON","stringify","rnwv","window","ReactNativeWebView","postMessage","parent","dispatchEvent","CustomEvent","detail","handleViewAll","url","handleItemPress","item","content","createElement","View","style","styles","ChatWidget","render","Platform","OS","isEdge","navigator","userAgent","includes","clientPromise","AnalyticsBrowser","load","writeKey","trackAppLifecycleEvents","flushAt","flushInterval","maxBatchSize","then","client","debug","analytics","page","user","getUserDetails","userId","id","identify","contentWithAnalytics","AnalyticsClientProvider","catch","console","error","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":"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
|
|
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/commonjs/theme.js
CHANGED
|
@@ -9,14 +9,14 @@ const defaultTheme = exports.defaultTheme = {
|
|
|
9
9
|
primaryColor: "#0b93f6",
|
|
10
10
|
backgroundColor: "#ffffff",
|
|
11
11
|
inputColor: "#FFF",
|
|
12
|
-
inputBackgroundColor: "#
|
|
12
|
+
inputBackgroundColor: "#FFFFFF",
|
|
13
13
|
inputBorderRadius: 8,
|
|
14
14
|
inputTextColor: "#000000",
|
|
15
|
-
userBubbleColor: "#
|
|
15
|
+
userBubbleColor: "#4F4E57",
|
|
16
16
|
userTextColor: "#ffffff",
|
|
17
|
-
botBubbleColor: "#
|
|
17
|
+
botBubbleColor: "#EDEDF2",
|
|
18
18
|
botTextColor: "#000000",
|
|
19
|
-
borderRadius:
|
|
19
|
+
borderRadius: 8,
|
|
20
20
|
fontFamily: undefined,
|
|
21
21
|
fontSize: 16
|
|
22
22
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["defaultTheme","exports","primaryColor","backgroundColor","inputColor","inputBackgroundColor","inputBorderRadius","inputTextColor","userBubbleColor","userTextColor","botBubbleColor","botTextColor","borderRadius","fontFamily","undefined","fontSize","mergeTheme","overrides"],"sourceRoot":"../../src","sources":["theme.ts"],"mappings":";;;;;;;AAEO,MAAMA,YAAuB,GAAAC,OAAA,CAAAD,YAAA,GAAG;EACrCE,YAAY,EAAE,SAAS;EACvBC,eAAe,EAAE,SAAS;EAC1BC,UAAU,EAAE,MAAM;EAClBC,oBAAoB,EAAE,SAAS;EAC/BC,iBAAiB,EAAE,CAAC;EACpBC,cAAc,EAAE,SAAS;EACzBC,eAAe,EAAE,SAAS;EAC1BC,aAAa,EAAE,SAAS;EACxBC,cAAc,EAAE,SAAS;EACzBC,YAAY,EAAE,SAAS;EACvBC,YAAY,EAAE,
|
|
1
|
+
{"version":3,"names":["defaultTheme","exports","primaryColor","backgroundColor","inputColor","inputBackgroundColor","inputBorderRadius","inputTextColor","userBubbleColor","userTextColor","botBubbleColor","botTextColor","borderRadius","fontFamily","undefined","fontSize","mergeTheme","overrides"],"sourceRoot":"../../src","sources":["theme.ts"],"mappings":";;;;;;;AAEO,MAAMA,YAAuB,GAAAC,OAAA,CAAAD,YAAA,GAAG;EACrCE,YAAY,EAAE,SAAS;EACvBC,eAAe,EAAE,SAAS;EAC1BC,UAAU,EAAE,MAAM;EAClBC,oBAAoB,EAAE,SAAS;EAC/BC,iBAAiB,EAAE,CAAC;EACpBC,cAAc,EAAE,SAAS;EACzBC,eAAe,EAAE,SAAS;EAC1BC,aAAa,EAAE,SAAS;EACxBC,cAAc,EAAE,SAAS;EACzBC,YAAY,EAAE,SAAS;EACvBC,YAAY,EAAE,CAAC;EACfC,UAAU,EAAEC,SAAS;EACrBC,QAAQ,EAAE;AACZ,CAAC;AAEM,SAASC,UAAUA,CAACC,SAA8B,EAAa;EACpE,OAAO;IAAE,GAAGjB,YAAY;IAAE,IAAIiB,SAAS,IAAI,CAAC,CAAC;EAAE,CAAC;AAClD","ignoreList":[]}
|
package/lib/module/api.js
CHANGED
|
@@ -28,17 +28,15 @@ 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
|
-
|
|
33
|
-
} : {}),
|
|
34
|
-
// agent_response: m.agent_response,
|
|
31
|
+
search_payload: m.search_payload,
|
|
32
|
+
reaction: String(m.reaction ?? "0"),
|
|
35
33
|
suggestions: Array.isArray(m.suggestions) ? m.suggestions : undefined
|
|
36
34
|
}));
|
|
37
35
|
}
|
|
38
36
|
export async function fetchInitialMessages(apiUrl, _params, priceMode) {
|
|
39
37
|
const conversations = await Storage.getJSON("vdbchat_conversations", {});
|
|
40
|
-
const storedId = conversations?.[priceMode]?.conversation_id ?? null;
|
|
41
|
-
if (
|
|
38
|
+
const storedId = conversations?.[priceMode ?? ""]?.conversation_id ?? null;
|
|
39
|
+
if (priceMode === undefined) return;
|
|
42
40
|
const body = {};
|
|
43
41
|
if (storedId) {
|
|
44
42
|
body.conversation_id = Number.isNaN(Number(storedId)) ? storedId : Number(storedId);
|
|
@@ -66,7 +64,7 @@ export async function fetchInitialMessages(apiUrl, _params, priceMode) {
|
|
|
66
64
|
export async function sendUserMessage(apiUrl, userMessage, _params, _history, priceMode) {
|
|
67
65
|
const conversations = await Storage.getJSON("vdbchat_conversations", {});
|
|
68
66
|
const storedId = conversations?.[priceMode]?.conversation_id ?? null;
|
|
69
|
-
if (
|
|
67
|
+
if (priceMode === undefined) {
|
|
70
68
|
return null;
|
|
71
69
|
}
|
|
72
70
|
const body = {
|
|
@@ -96,7 +94,7 @@ export async function sendUserMessage(apiUrl, userMessage, _params, _history, pr
|
|
|
96
94
|
export async function clearChatHistory(apiUrl, priceMode) {
|
|
97
95
|
const conversations = await Storage.getJSON("vdbchat_conversations", {});
|
|
98
96
|
const storedId = conversations?.[priceMode]?.conversation_id ?? null;
|
|
99
|
-
if (!storedId ||
|
|
97
|
+
if (!storedId || priceMode === undefined) return;
|
|
100
98
|
const url = new URL(apiUrl);
|
|
101
99
|
url.searchParams.set("conversation_id", storedId);
|
|
102
100
|
const res = await fetch(url.toString(), {
|
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","reaction","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","response"],"sourceRoot":"../../src","sources":["api.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { View, Text, StyleSheet } from "react-native";
|
|
3
|
+
export const BetaNotice = ({
|
|
4
|
+
active
|
|
5
|
+
}) => {
|
|
6
|
+
if (!active) return null;
|
|
7
|
+
return /*#__PURE__*/React.createElement(View, {
|
|
8
|
+
style: styles.container
|
|
9
|
+
}, /*#__PURE__*/React.createElement(Text, {
|
|
10
|
+
style: styles.text
|
|
11
|
+
}, "This AI feature is in beta and may make mistakes."));
|
|
12
|
+
};
|
|
13
|
+
const styles = StyleSheet.create({
|
|
14
|
+
container: {
|
|
15
|
+
alignSelf: "stretch",
|
|
16
|
+
paddingVertical: 6,
|
|
17
|
+
paddingHorizontal: 16,
|
|
18
|
+
backgroundColor: "transparent"
|
|
19
|
+
},
|
|
20
|
+
text: {
|
|
21
|
+
color: "#4F4E57",
|
|
22
|
+
fontFamily: "Roboto",
|
|
23
|
+
fontSize: 13,
|
|
24
|
+
fontStyle: "normal",
|
|
25
|
+
fontWeight: "400",
|
|
26
|
+
lineHeight: 18
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
export default BetaNotice;
|
|
30
|
+
//# sourceMappingURL=BetaNotice.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","View","Text","StyleSheet","BetaNotice","active","createElement","style","styles","container","text","create","alignSelf","paddingVertical","paddingHorizontal","backgroundColor","color","fontFamily","fontSize","fontStyle","fontWeight","lineHeight"],"sourceRoot":"../../../src","sources":["components/BetaNotice.tsx"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,IAAI,EAAEC,UAAU,QAAQ,cAAc;AAErD,OAAO,MAAMC,UAAU,GAAGA,CAAC;EAAEC;AAA6B,CAAC,KAAK;EAC9D,IAAI,CAACA,MAAM,EAAE,OAAO,IAAI;EACxB,oBACEL,KAAA,CAAAM,aAAA,CAACL,IAAI;IAACM,KAAK,EAAEC,MAAM,CAACC;EAAU,gBAC5BT,KAAA,CAAAM,aAAA,CAACJ,IAAI;IAACK,KAAK,EAAEC,MAAM,CAACE;EAAK,GAAC,mDAEpB,CACF,CAAC;AAEX,CAAC;AAED,MAAMF,MAAM,GAAGL,UAAU,CAACQ,MAAM,CAAC;EAC/BF,SAAS,EAAE;IACTG,SAAS,EAAE,SAAS;IACpBC,eAAe,EAAE,CAAC;IAClBC,iBAAiB,EAAE,EAAE;IACrBC,eAAe,EAAE;EACnB,CAAC;EACDL,IAAI,EAAE;IACJM,KAAK,EAAE,SAAS;IAChBC,UAAU,EAAE,QAAQ;IACpBC,QAAQ,EAAE,EAAE;IACZC,SAAS,EAAE,QAAQ;IACnBC,UAAU,EAAE,KAAK;IACjBC,UAAU,EAAE;EACd;AACF,CAAC,CAAC;AAEF,eAAejB,UAAU","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;
|
|
@@ -14,26 +16,20 @@ if (Platform.OS !== "web") {
|
|
|
14
16
|
const CloseIcon = () => {
|
|
15
17
|
return /*#__PURE__*/React.createElement(ImageComponent, {
|
|
16
18
|
source: {
|
|
17
|
-
uri: "
|
|
19
|
+
uri: "http://cdn.vdbapp.com/ai/chat-widget/assets/img/minus-cirlce.svg"
|
|
18
20
|
},
|
|
19
21
|
resizeMode: "contain",
|
|
20
22
|
style: {
|
|
21
23
|
width: 20,
|
|
22
|
-
height: 20
|
|
24
|
+
height: 20,
|
|
25
|
+
tintColor: "#ACACB3"
|
|
23
26
|
}
|
|
24
27
|
});
|
|
25
28
|
};
|
|
26
|
-
const
|
|
27
|
-
|
|
28
|
-
onClearChat
|
|
29
|
-
}) => {
|
|
30
|
-
return /*#__PURE__*/React.createElement(View, {
|
|
31
|
-
style: styles.container
|
|
32
|
-
}, /*#__PURE__*/React.createElement(View, {
|
|
33
|
-
style: styles.logoContainer
|
|
34
|
-
}, /*#__PURE__*/React.createElement(ImageComponent, {
|
|
29
|
+
const VDBLogo = () => {
|
|
30
|
+
return /*#__PURE__*/React.createElement(ImageComponent, {
|
|
35
31
|
source: {
|
|
36
|
-
uri: "
|
|
32
|
+
uri: "http://cdn.vdbapp.com/ai/chat-widget/assets/img/vdb.svg"
|
|
37
33
|
},
|
|
38
34
|
resizeMode: "contain",
|
|
39
35
|
style: {
|
|
@@ -41,35 +37,59 @@ const ChatHeader = ({
|
|
|
41
37
|
height: 30,
|
|
42
38
|
marginRight: 10
|
|
43
39
|
}
|
|
44
|
-
})
|
|
40
|
+
});
|
|
41
|
+
};
|
|
42
|
+
const ChatHeader = ({
|
|
43
|
+
onClose,
|
|
44
|
+
onClearChat,
|
|
45
|
+
isBetaMode
|
|
46
|
+
}) => {
|
|
47
|
+
const {
|
|
48
|
+
trackEvent
|
|
49
|
+
} = useUserAnalytics();
|
|
50
|
+
return /*#__PURE__*/React.createElement(View, {
|
|
51
|
+
style: styles.container
|
|
52
|
+
}, /*#__PURE__*/React.createElement(View, {
|
|
53
|
+
style: styles.logoContainer
|
|
54
|
+
}, /*#__PURE__*/React.createElement(VDBLogo, null), /*#__PURE__*/React.createElement(Text, {
|
|
45
55
|
style: styles.title
|
|
46
|
-
}, "AI Search")), /*#__PURE__*/React.createElement(View, {
|
|
56
|
+
}, isBetaMode ? "AI Search Beta" : "AI Search")), /*#__PURE__*/React.createElement(View, {
|
|
47
57
|
style: styles.buttonContainer
|
|
48
58
|
}, /*#__PURE__*/React.createElement(TouchableOpacity, {
|
|
49
|
-
onPress: () =>
|
|
59
|
+
onPress: () => {
|
|
60
|
+
trackEvent?.(AnalyticsEventNames.CHAT_CLEARED, {});
|
|
61
|
+
console.log("Segment: Clear Chat tracked");
|
|
62
|
+
onClearChat?.();
|
|
63
|
+
}
|
|
50
64
|
}, /*#__PURE__*/React.createElement(Text, {
|
|
51
65
|
style: styles.clearChatText
|
|
52
66
|
}, "Clear Chat")), /*#__PURE__*/React.createElement(TouchableOpacity, {
|
|
53
67
|
style: styles.closeButton,
|
|
54
|
-
onPress: () =>
|
|
68
|
+
onPress: () => {
|
|
69
|
+
trackEvent?.(AnalyticsEventNames.WIDGET_CLOSED, {});
|
|
70
|
+
console.log("Segment: Widget Close tracked");
|
|
71
|
+
onClose?.();
|
|
72
|
+
}
|
|
55
73
|
}, /*#__PURE__*/React.createElement(CloseIcon, null))));
|
|
56
74
|
};
|
|
57
75
|
const styles = StyleSheet.create({
|
|
58
76
|
container: {
|
|
59
77
|
padding: 16,
|
|
60
|
-
backgroundColor: "#
|
|
78
|
+
backgroundColor: "#FFFFFF",
|
|
61
79
|
justifyContent: "space-between",
|
|
62
80
|
flexDirection: "row",
|
|
63
|
-
alignItems: "center"
|
|
81
|
+
alignItems: "center",
|
|
82
|
+
borderBottomWidth: 1,
|
|
83
|
+
borderBottomColor: "#E0E0E0"
|
|
64
84
|
},
|
|
65
85
|
logoContainer: {
|
|
66
86
|
flexDirection: "row",
|
|
67
87
|
alignItems: "center"
|
|
68
88
|
},
|
|
69
89
|
title: {
|
|
70
|
-
fontSize:
|
|
90
|
+
fontSize: 16,
|
|
71
91
|
fontWeight: "500",
|
|
72
|
-
color: "#
|
|
92
|
+
color: "#020001"
|
|
73
93
|
},
|
|
74
94
|
closeButton: {
|
|
75
95
|
backgroundColor: "#FFF",
|
|
@@ -90,7 +110,7 @@ const styles = StyleSheet.create({
|
|
|
90
110
|
color: "#FFF"
|
|
91
111
|
},
|
|
92
112
|
clearChatText: {
|
|
93
|
-
color: "#
|
|
113
|
+
color: "#4F4E57",
|
|
94
114
|
fontSize: 14,
|
|
95
115
|
fontWeight: "500",
|
|
96
116
|
textDecorationLine: "none"
|
|
@@ -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","
|
|
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","tintColor","VDBLogo","marginRight","ChatHeader","onClose","onClearChat","isBetaMode","trackEvent","styles","container","logoContainer","title","buttonContainer","onPress","CHAT_CLEARED","console","log","clearChatText","closeButton","WIDGET_CLOSED","create","padding","backgroundColor","justifyContent","flexDirection","alignItems","borderBottomWidth","borderBottomColor","fontSize","fontWeight","color","borderRadius","closeIconText","textAlign","lineHeight","closeButtonText","textDecorationLine","gap"],"sourceRoot":"../../../src","sources":["components/ChatHeader.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -17,12 +17,13 @@ const SendIcon = ({
|
|
|
17
17
|
const isInactive = disabled || isEmpty;
|
|
18
18
|
return /*#__PURE__*/React.createElement(ImageComponent, {
|
|
19
19
|
source: {
|
|
20
|
-
uri: "https://cdn.vdbapp.com/ai/chat-widget/assets/img/
|
|
20
|
+
uri: "https://cdn.vdbapp.com/ai/chat-widget/assets/img/send.svg"
|
|
21
21
|
},
|
|
22
22
|
resizeMode: "contain",
|
|
23
23
|
style: {
|
|
24
24
|
...styles.buttonIcon,
|
|
25
|
-
tintColor: isInactive ? "#
|
|
25
|
+
tintColor: isInactive ? "#ACACB3" : "#020001",
|
|
26
|
+
cursor: isInactive ? "auto" : "pointer"
|
|
26
27
|
}
|
|
27
28
|
});
|
|
28
29
|
};
|
|
@@ -37,7 +38,7 @@ export const ChatInput = ({
|
|
|
37
38
|
}) => {
|
|
38
39
|
const isInactive = disabled || value.trim() === "";
|
|
39
40
|
return /*#__PURE__*/React.createElement(View, {
|
|
40
|
-
style: [styles.
|
|
41
|
+
style: [styles.inputContainer, Platform.OS === "web" ? styles.webShadow : styles.nativeShadow]
|
|
41
42
|
}, /*#__PURE__*/React.createElement(TextInput, {
|
|
42
43
|
ref: inputRef
|
|
43
44
|
// @ts-ignore - supported on web via react-native-web
|
|
@@ -52,10 +53,7 @@ export const ChatInput = ({
|
|
|
52
53
|
editable: !disabled,
|
|
53
54
|
autoFocus: true
|
|
54
55
|
}), /*#__PURE__*/React.createElement(TouchableOpacity, {
|
|
55
|
-
style:
|
|
56
|
-
...styles.button,
|
|
57
|
-
backgroundColor: isInactive ? "#EDEDF2" : "#C000FF"
|
|
58
|
-
},
|
|
56
|
+
style: styles.button,
|
|
59
57
|
onPress: onSend,
|
|
60
58
|
disabled: disabled
|
|
61
59
|
}, /*#__PURE__*/React.createElement(SendIcon, {
|
|
@@ -64,17 +62,19 @@ export const ChatInput = ({
|
|
|
64
62
|
})));
|
|
65
63
|
};
|
|
66
64
|
const styles = StyleSheet.create({
|
|
67
|
-
|
|
65
|
+
inputContainer: {
|
|
68
66
|
flexDirection: "row",
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
paddingVertical: 0,
|
|
67
|
+
paddingHorizontal: 12,
|
|
68
|
+
paddingVertical: 16,
|
|
72
69
|
justifyContent: "space-between",
|
|
73
70
|
alignItems: "center",
|
|
74
71
|
alignSelf: "stretch",
|
|
75
|
-
|
|
72
|
+
flex: 1,
|
|
73
|
+
borderRadius: 8,
|
|
76
74
|
backgroundColor: "#FFF",
|
|
77
|
-
|
|
75
|
+
borderColor: "#ACACB3",
|
|
76
|
+
borderWidth: 1,
|
|
77
|
+
height: 56
|
|
78
78
|
},
|
|
79
79
|
webShadow: {
|
|
80
80
|
...(Platform.OS === "web" ? {
|
|
@@ -101,7 +101,7 @@ const styles = StyleSheet.create({
|
|
|
101
101
|
lineHeight: 20,
|
|
102
102
|
minHeight: 20,
|
|
103
103
|
maxHeight: 120,
|
|
104
|
-
paddingHorizontal:
|
|
104
|
+
paddingHorizontal: 0,
|
|
105
105
|
paddingVertical: 0,
|
|
106
106
|
backgroundColor: "transparent",
|
|
107
107
|
borderWidth: 0
|
|
@@ -114,18 +114,18 @@ const styles = StyleSheet.create({
|
|
|
114
114
|
} : {})
|
|
115
115
|
},
|
|
116
116
|
button: {
|
|
117
|
-
marginLeft:
|
|
118
|
-
padding:
|
|
117
|
+
marginLeft: 0,
|
|
118
|
+
padding: 0,
|
|
119
119
|
justifyContent: "center",
|
|
120
120
|
alignItems: "center",
|
|
121
|
-
height:
|
|
121
|
+
height: 24,
|
|
122
122
|
aspectRatio: 1,
|
|
123
|
-
borderRadius:
|
|
124
|
-
backgroundColor: "#
|
|
123
|
+
borderRadius: 0,
|
|
124
|
+
backgroundColor: "#FFFFFF"
|
|
125
125
|
},
|
|
126
126
|
buttonIcon: {
|
|
127
|
-
height:
|
|
128
|
-
width:
|
|
127
|
+
height: 24,
|
|
128
|
+
width: 24
|
|
129
129
|
},
|
|
130
130
|
sendIconText: {
|
|
131
131
|
fontSize: 18,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","View","TextInput","TouchableOpacity","StyleSheet","Platform","Image","ImageComponent","OS","ExpoImage","require","SendIcon","disabled","isEmpty","isInactive","createElement","source","uri","resizeMode","style","styles","buttonIcon","tintColor","ChatInput","value","onChangeText","onSend","placeholder","theme","inputRef","trim","
|
|
1
|
+
{"version":3,"names":["React","View","TextInput","TouchableOpacity","StyleSheet","Platform","Image","ImageComponent","OS","ExpoImage","require","SendIcon","disabled","isEmpty","isInactive","createElement","source","uri","resizeMode","style","styles","buttonIcon","tintColor","cursor","ChatInput","value","onChangeText","onSend","placeholder","theme","inputRef","trim","inputContainer","webShadow","nativeShadow","ref","id","input","inputWeb","placeholderTextColor","onSubmitEditing","editable","autoFocus","button","onPress","create","flexDirection","paddingHorizontal","paddingVertical","justifyContent","alignItems","alignSelf","flex","borderRadius","backgroundColor","borderColor","borderWidth","height","boxShadow","shadowColor","shadowOffset","width","shadowOpacity","shadowRadius","elevation","color","fontFamily","fontSize","fontStyle","fontWeight","lineHeight","minHeight","maxHeight","outlineStyle","outlineWidth","marginLeft","padding","aspectRatio","sendIconText","textAlign"],"sourceRoot":"../../../src","sources":["components/ChatInput.tsx"],"mappings":"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","ignoreList":[]}
|