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
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
import React, { forwardRef, useCallback, useEffect, useImperativeHandle, useMemo, useRef, useState } from "react";
|
|
2
|
-
import { View, StyleSheet, ScrollView, Text, DeviceEventEmitter, Platform } from "react-native";
|
|
2
|
+
import { View, StyleSheet, ScrollView, Text, KeyboardAvoidingView, DeviceEventEmitter, Platform } from "react-native";
|
|
3
3
|
import { ChatInput } from "./ChatInput";
|
|
4
4
|
import { MessageBubble } from "./MessageBubble";
|
|
5
|
+
import MessageMetaRow from "./MessageMetaRow";
|
|
5
6
|
import { mergeTheme } from "../theme";
|
|
6
7
|
import { fetchInitialMessages, getProducts, handleFeedbackActionApi, normaliseMessages, sendUserMessage } from "../api";
|
|
7
8
|
import ChatHeader from "./ChatHeader";
|
|
8
|
-
import
|
|
9
|
+
import BetaNotice from "./BetaNotice";
|
|
9
10
|
import ProductsList from "./ProductsList";
|
|
10
|
-
import { FeedbackAction, formatToTime } from "./utils";
|
|
11
|
+
import { FeedbackAction, formatToTime, getUserDetails } from "./utils";
|
|
12
|
+
import { useUserAnalytics } from "../hooks/useAnalytics";
|
|
11
13
|
import { Storage } from "../storage";
|
|
12
14
|
export const ChatWidget = /*#__PURE__*/forwardRef(({
|
|
13
15
|
apiUrl,
|
|
14
|
-
userId: userIdProp,
|
|
15
16
|
userToken: userTokenProp,
|
|
16
17
|
priceMode: priceModeProp,
|
|
17
18
|
modalHeight,
|
|
@@ -21,7 +22,8 @@ export const ChatWidget = /*#__PURE__*/forwardRef(({
|
|
|
21
22
|
onClose,
|
|
22
23
|
onClearChat,
|
|
23
24
|
onViewAllPress,
|
|
24
|
-
onItemPress: onItemPressProp
|
|
25
|
+
onItemPress: onItemPressProp,
|
|
26
|
+
isBetaMode: isBetaModeProp
|
|
25
27
|
}, ref) => {
|
|
26
28
|
const [messages, setMessages] = useState(initialMessages);
|
|
27
29
|
const [input, setInput] = useState("");
|
|
@@ -30,25 +32,21 @@ export const ChatWidget = /*#__PURE__*/forwardRef(({
|
|
|
30
32
|
const [typingMessageId, setTypingMessageId] = useState(null);
|
|
31
33
|
const [typingFullText, setTypingFullText] = useState("");
|
|
32
34
|
const [assistantResponse, setAssistantResponse] = useState(undefined);
|
|
33
|
-
const [
|
|
35
|
+
const [productsByMsg, setProductsByMsg] = useState({});
|
|
36
|
+
const [reloadLoadingIds, setReloadLoadingIds] = useState(new Set());
|
|
34
37
|
const [priceMode, setPriceMode] = useState(priceModeProp || null);
|
|
35
|
-
const [conversationId, setConversationId] = useState(null);
|
|
36
|
-
const [userId, setUserId] = useState(userIdProp || "");
|
|
37
38
|
const [userToken, setUserToken] = useState(userTokenProp || "");
|
|
38
39
|
const scrollRef = useRef(null);
|
|
39
40
|
const inputRef = useRef(null);
|
|
40
41
|
const theme = useMemo(() => mergeTheme(themeOverrides), [themeOverrides]);
|
|
41
|
-
|
|
42
|
+
const {
|
|
43
|
+
_identify
|
|
44
|
+
} = useUserAnalytics();
|
|
45
|
+
const betaActive = Boolean(isBetaModeProp);
|
|
42
46
|
// Load user auth data from storage on mount
|
|
43
47
|
useEffect(() => {
|
|
44
48
|
const loadAuthData = async () => {
|
|
45
49
|
try {
|
|
46
|
-
if (!userIdProp) {
|
|
47
|
-
const userData = await Storage.getJSON("userData", {});
|
|
48
|
-
if (userData?.id) {
|
|
49
|
-
setUserId(userData.id);
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
50
|
if (!userTokenProp) {
|
|
53
51
|
const token = await Storage.getItem("token");
|
|
54
52
|
if (token) {
|
|
@@ -60,10 +58,10 @@ export const ChatWidget = /*#__PURE__*/forwardRef(({
|
|
|
60
58
|
}
|
|
61
59
|
};
|
|
62
60
|
loadAuthData();
|
|
63
|
-
}, [
|
|
61
|
+
}, [userTokenProp]);
|
|
64
62
|
const onViewAll = useCallback(() => {
|
|
65
|
-
const searchPayload = JSON.stringify(assistantResponse?.
|
|
66
|
-
const payload = assistantResponse?.
|
|
63
|
+
const searchPayload = JSON.stringify(assistantResponse?.search_payload);
|
|
64
|
+
const payload = assistantResponse?.search_payload;
|
|
67
65
|
if (!payload) return;
|
|
68
66
|
const domain = apiUrl.split("v3");
|
|
69
67
|
const deepLinkUrl = `${domain[0]}webapp/${payload.lab_grown === "true" ? "lab-grown-diamonds" : "natural-diamonds"}/search?priceMode=${priceMode}&productType=${payload.lab_grown === "true" ? "lab_grown_diamond" : "diamond"}&fromNewFilterScreen=false&filterSplitStep=1§ionName=Single%20Stones&breadCrumbLabel=Stone%20Search&enterSecondFlow=false&saved_search=${searchPayload}`;
|
|
@@ -88,10 +86,10 @@ export const ChatWidget = /*#__PURE__*/forwardRef(({
|
|
|
88
86
|
window.open(deepLinkUrl, "_parent");
|
|
89
87
|
}
|
|
90
88
|
}, [apiUrl, priceMode, onItemPressProp]);
|
|
91
|
-
const hasAuth = useMemo(() => Boolean(
|
|
89
|
+
const hasAuth = useMemo(() => Boolean(userToken), [userToken]);
|
|
92
90
|
const apiParams = useMemo(() => ({
|
|
93
|
-
conversationId: userToken
|
|
94
|
-
}), [
|
|
91
|
+
conversationId: userToken
|
|
92
|
+
}), [userToken]);
|
|
95
93
|
const handleFeedbackAction = useCallback(async (action, conversation_id, message_id) => {
|
|
96
94
|
try {
|
|
97
95
|
// Use functional update to get current messages without dependency
|
|
@@ -124,7 +122,21 @@ export const ChatWidget = /*#__PURE__*/forwardRef(({
|
|
|
124
122
|
try {
|
|
125
123
|
const initial = await fetchInitialMessages(apiUrl, apiParams, priceMode);
|
|
126
124
|
if (!cancelled) {
|
|
127
|
-
|
|
125
|
+
const normalised = normaliseMessages(initial).reverse();
|
|
126
|
+
if (normalised.length === 0) {
|
|
127
|
+
const initialAssistant = {
|
|
128
|
+
id: "",
|
|
129
|
+
role: "assistant",
|
|
130
|
+
text: "Hello! How can I help you today?",
|
|
131
|
+
createdAt: Date.now(),
|
|
132
|
+
isLoading: false,
|
|
133
|
+
suggestions: ["Search Natural Diamonds", "Search Lab-Grown Diamonds"],
|
|
134
|
+
reaction: "0"
|
|
135
|
+
};
|
|
136
|
+
setMessages([initialAssistant]);
|
|
137
|
+
} else {
|
|
138
|
+
setMessages(normalised);
|
|
139
|
+
}
|
|
128
140
|
}
|
|
129
141
|
} catch (error) {
|
|
130
142
|
console.error("Failed to fetch initial messages", error);
|
|
@@ -140,9 +152,6 @@ export const ChatWidget = /*#__PURE__*/forwardRef(({
|
|
|
140
152
|
const sendMessage = useCallback(async rawText => {
|
|
141
153
|
const trimmed = rawText.trim();
|
|
142
154
|
if (!trimmed || loading) return;
|
|
143
|
-
if (products) {
|
|
144
|
-
setProducts(null);
|
|
145
|
-
}
|
|
146
155
|
const userMessage = {
|
|
147
156
|
id: `user-${Date.now()}`,
|
|
148
157
|
role: "user",
|
|
@@ -155,6 +164,7 @@ export const ChatWidget = /*#__PURE__*/forwardRef(({
|
|
|
155
164
|
role: "assistant",
|
|
156
165
|
text: "Thinking",
|
|
157
166
|
createdAt: Date.now(),
|
|
167
|
+
reaction: "0",
|
|
158
168
|
isLoading: true
|
|
159
169
|
};
|
|
160
170
|
setMessages(prev => [...prev, userMessage, loadingMessage]);
|
|
@@ -176,15 +186,14 @@ export const ChatWidget = /*#__PURE__*/forwardRef(({
|
|
|
176
186
|
setAssistantResponse(latestAssistant);
|
|
177
187
|
if (latestAssistant?.text) {
|
|
178
188
|
// If there is an agent_response, try to fetch products first
|
|
179
|
-
if (latestAssistant?.
|
|
180
|
-
const productsResult = await getProducts(latestAssistant.
|
|
189
|
+
if (latestAssistant?.search_payload && typeof latestAssistant.search_payload === "object" && Object.keys(latestAssistant.search_payload).length > 0) {
|
|
190
|
+
const productsResult = await getProducts(latestAssistant.search_payload);
|
|
181
191
|
const hasDiamonds = productsResult && productsResult.response && productsResult.response.body && Array.isArray(productsResult.response.body.diamonds) && productsResult.response.body.diamonds.length > 0;
|
|
182
192
|
if (!hasDiamonds) {
|
|
183
193
|
const noResultsText = "No results found for your search. Try adjusting your filters or query.";
|
|
184
194
|
setLoadingMessageId(null);
|
|
185
195
|
setTypingMessageId(null);
|
|
186
196
|
setTypingFullText("");
|
|
187
|
-
setProducts(null);
|
|
188
197
|
setMessages(prev => prev.map(msg => msg.id === loadingId ? {
|
|
189
198
|
...msg,
|
|
190
199
|
id: latestAssistant?.id ?? msg.id,
|
|
@@ -195,10 +204,10 @@ export const ChatWidget = /*#__PURE__*/forwardRef(({
|
|
|
195
204
|
inputRef.current?.focus();
|
|
196
205
|
return;
|
|
197
206
|
}
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
});
|
|
207
|
+
setProductsByMsg(prev => ({
|
|
208
|
+
...prev,
|
|
209
|
+
[latestAssistant.id]: productsResult
|
|
210
|
+
}));
|
|
202
211
|
}
|
|
203
212
|
setLoadingMessageId(null);
|
|
204
213
|
setMessages(prev => prev.map(msg => msg.id === loadingId ? {
|
|
@@ -232,7 +241,17 @@ export const ChatWidget = /*#__PURE__*/forwardRef(({
|
|
|
232
241
|
setLoadingMessageId(null);
|
|
233
242
|
inputRef.current?.focus();
|
|
234
243
|
}
|
|
235
|
-
}, [apiUrl, loading, messages, apiParams, hasAuth, priceMode,
|
|
244
|
+
}, [apiUrl, loading, messages, apiParams, hasAuth, priceMode, productsByMsg]);
|
|
245
|
+
const identifySegmentUser = async () => {
|
|
246
|
+
const user = await getUserDetails();
|
|
247
|
+
const userId = user?.id;
|
|
248
|
+
const email = JSON.stringify(user?.email) ?? undefined;
|
|
249
|
+
if (userId) {
|
|
250
|
+
_identify(`${userId}`, {
|
|
251
|
+
email: email
|
|
252
|
+
}).then();
|
|
253
|
+
}
|
|
254
|
+
};
|
|
236
255
|
const handleSend = useCallback(async () => {
|
|
237
256
|
const trimmed = input.trim();
|
|
238
257
|
if (!trimmed) return;
|
|
@@ -243,94 +262,100 @@ export const ChatWidget = /*#__PURE__*/forwardRef(({
|
|
|
243
262
|
sendMessage(value);
|
|
244
263
|
}, [sendMessage]);
|
|
245
264
|
const handleReloadResults = useCallback(async msg => {
|
|
265
|
+
const id = msg.id;
|
|
246
266
|
try {
|
|
247
|
-
|
|
248
|
-
|
|
267
|
+
setReloadLoadingIds(prev => new Set(prev).add(id));
|
|
268
|
+
const payload = msg?.search_payload;
|
|
269
|
+
if (!payload || Object.keys(payload).length === 0) return;
|
|
249
270
|
const productsResult = await getProducts(payload);
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
});
|
|
271
|
+
setProductsByMsg(prev => ({
|
|
272
|
+
...prev,
|
|
273
|
+
[id]: productsResult
|
|
274
|
+
}));
|
|
254
275
|
} catch (e) {
|
|
255
276
|
console.error("Reload results failed", e);
|
|
277
|
+
} finally {
|
|
278
|
+
setReloadLoadingIds(prev => {
|
|
279
|
+
const next = new Set(prev);
|
|
280
|
+
next.delete(id);
|
|
281
|
+
return next;
|
|
282
|
+
});
|
|
256
283
|
}
|
|
257
284
|
}, []);
|
|
258
285
|
useEffect(() => {
|
|
259
286
|
DeviceEventEmitter.addListener("clearChat", handleClearChat);
|
|
260
287
|
DeviceEventEmitter.addListener("changePriceMode", data => changePriceMode(data.priceMode));
|
|
261
|
-
changePriceMode(
|
|
288
|
+
changePriceMode();
|
|
289
|
+
identifySegmentUser();
|
|
262
290
|
return () => {
|
|
263
291
|
DeviceEventEmitter.removeAllListeners("clearChat");
|
|
264
292
|
DeviceEventEmitter.removeAllListeners("changePriceMode");
|
|
265
293
|
};
|
|
266
294
|
}, []);
|
|
267
295
|
const changePriceMode = async _priceMode => {
|
|
268
|
-
// Priority: passed argument > prop > storage
|
|
269
296
|
if (!_priceMode && priceModeProp) {
|
|
270
297
|
_priceMode = priceModeProp;
|
|
271
298
|
}
|
|
272
299
|
if (!_priceMode) {
|
|
273
|
-
|
|
300
|
+
let userData = await Storage.getJSON("persist:userInfo", {
|
|
301
|
+
user: undefined
|
|
302
|
+
});
|
|
303
|
+
userData = userData && userData.user ? JSON.parse(userData.user) : {};
|
|
274
304
|
_priceMode = userData?.price_mode;
|
|
275
305
|
}
|
|
276
|
-
setPriceMode(_priceMode
|
|
306
|
+
setPriceMode(_priceMode === undefined ? null : String(_priceMode));
|
|
277
307
|
};
|
|
278
|
-
|
|
279
|
-
// Update conversationId when priceMode changes
|
|
280
|
-
useEffect(() => {
|
|
281
|
-
const loadConversationId = async () => {
|
|
282
|
-
if (!priceMode) {
|
|
283
|
-
setConversationId(null);
|
|
284
|
-
return;
|
|
285
|
-
}
|
|
286
|
-
const conversations = await Storage.getJSON("vdbchat_conversations", {});
|
|
287
|
-
const storedId = conversations?.[priceMode]?.conversation_id ?? null;
|
|
288
|
-
setConversationId(storedId ? String(storedId) : null);
|
|
289
|
-
};
|
|
290
|
-
loadConversationId();
|
|
291
|
-
}, [priceMode, messages]); // Re-fetch when messages change (new conversation might be created)
|
|
292
|
-
|
|
293
308
|
const handleClearChat = useCallback(async () => {
|
|
294
309
|
try {
|
|
295
310
|
const conversations = await Storage.getJSON("vdbchat_conversations", {});
|
|
296
|
-
const storedId = conversations
|
|
311
|
+
const storedId = conversations ? conversations[priceMode]?.conversation_id : null;
|
|
297
312
|
if (storedId && priceMode) {
|
|
298
|
-
const updatedConversations = conversations
|
|
313
|
+
const updatedConversations = conversations ?? {};
|
|
299
314
|
delete updatedConversations[priceMode];
|
|
300
315
|
await Storage.setJSON("vdbchat_conversations", updatedConversations);
|
|
301
316
|
}
|
|
302
317
|
setMessages([]);
|
|
303
318
|
setAssistantResponse(undefined);
|
|
304
|
-
|
|
319
|
+
setProductsByMsg({});
|
|
320
|
+
setReloadLoadingIds(new Set());
|
|
305
321
|
setLoading(false);
|
|
306
322
|
setLoadingMessageId(null);
|
|
307
323
|
setTypingMessageId(null);
|
|
308
324
|
setTypingFullText("");
|
|
309
325
|
const fresh = await fetchInitialMessages(apiUrl, undefined, priceMode);
|
|
310
|
-
|
|
326
|
+
{
|
|
327
|
+
const normalised = normaliseMessages(fresh).reverse();
|
|
328
|
+
if (normalised.length === 0) {
|
|
329
|
+
const initialAssistant = {
|
|
330
|
+
id: "",
|
|
331
|
+
role: "assistant",
|
|
332
|
+
text: "Hello! How can I help you today?",
|
|
333
|
+
createdAt: Date.now(),
|
|
334
|
+
isLoading: false,
|
|
335
|
+
suggestions: ["Search Natural Diamonds", "Search Lab-Grown Diamonds"],
|
|
336
|
+
reaction: "0"
|
|
337
|
+
};
|
|
338
|
+
setMessages([initialAssistant]);
|
|
339
|
+
} else {
|
|
340
|
+
setMessages(normalised);
|
|
341
|
+
}
|
|
342
|
+
}
|
|
311
343
|
onClearChat?.();
|
|
312
344
|
} catch (err) {
|
|
345
|
+
// eslint-disable-next-line no-console
|
|
313
346
|
console.error("Failed to clear chat", err);
|
|
314
347
|
}
|
|
315
|
-
}, [apiUrl,
|
|
316
|
-
|
|
317
|
-
// Expose clearChat method via ref for external use (React Native)
|
|
318
|
-
useImperativeHandle(ref, () => ({
|
|
319
|
-
clearChat: handleClearChat
|
|
320
|
-
}), [handleClearChat]);
|
|
348
|
+
}, [apiUrl, priceMode]);
|
|
321
349
|
|
|
322
350
|
// "Thinking..." dot animation while waiting for the API
|
|
323
351
|
useEffect(() => {
|
|
324
|
-
if (!loadingMessageId || typingMessageId)
|
|
325
|
-
return;
|
|
326
|
-
}
|
|
352
|
+
if (!loadingMessageId || typingMessageId) return;
|
|
327
353
|
let step = 0;
|
|
328
354
|
const base = "Thinking";
|
|
329
|
-
const msgId = loadingMessageId;
|
|
330
355
|
const interval = setInterval(() => {
|
|
331
356
|
step = (step + 1) % 3;
|
|
332
357
|
const dots = ".".repeat(step + 1);
|
|
333
|
-
setMessages(prev => prev.map(msg => msg.id ===
|
|
358
|
+
setMessages(prev => prev.map(msg => msg.id === loadingMessageId && msg.isLoading ? {
|
|
334
359
|
...msg,
|
|
335
360
|
text: `${base}${dots}`
|
|
336
361
|
} : msg));
|
|
@@ -340,6 +365,11 @@ export const ChatWidget = /*#__PURE__*/forwardRef(({
|
|
|
340
365
|
};
|
|
341
366
|
}, [loadingMessageId, typingMessageId]);
|
|
342
367
|
|
|
368
|
+
// Expose clearChat method via ref for external use (React Native)
|
|
369
|
+
useImperativeHandle(ref, () => ({
|
|
370
|
+
clearChat: handleClearChat
|
|
371
|
+
}), [handleClearChat]);
|
|
372
|
+
|
|
343
373
|
// Typewriter-style animation for assistant reply once it arrives
|
|
344
374
|
const typingIndexRef = useRef(0);
|
|
345
375
|
useEffect(() => {
|
|
@@ -379,14 +409,25 @@ export const ChatWidget = /*#__PURE__*/forwardRef(({
|
|
|
379
409
|
}]
|
|
380
410
|
}, Platform.OS === "web" && /*#__PURE__*/React.createElement(ChatHeader, {
|
|
381
411
|
onClose: onClose,
|
|
382
|
-
onClearChat: handleClearChat
|
|
383
|
-
|
|
412
|
+
onClearChat: handleClearChat,
|
|
413
|
+
isBetaMode: betaActive
|
|
414
|
+
}), /*#__PURE__*/React.createElement(KeyboardAvoidingView, {
|
|
415
|
+
style: {
|
|
416
|
+
flex: 1
|
|
417
|
+
},
|
|
418
|
+
behavior: Platform.OS === "ios" ? "padding" : "height",
|
|
419
|
+
keyboardVerticalOffset: -16
|
|
420
|
+
}, /*#__PURE__*/React.createElement(ScrollView, {
|
|
384
421
|
ref: scrollRef,
|
|
422
|
+
keyboardShouldPersistTaps: "handled",
|
|
385
423
|
style: modalHeight ? {
|
|
386
|
-
height: modalHeight
|
|
387
|
-
|
|
424
|
+
height: modalHeight,
|
|
425
|
+
backgroundColor: "#FFFFFF"
|
|
426
|
+
} : {
|
|
427
|
+
backgroundColor: "#FFFFFF"
|
|
428
|
+
},
|
|
388
429
|
contentContainerStyle: {
|
|
389
|
-
backgroundColor: theme?.listContentBackgroundColor || "#
|
|
430
|
+
backgroundColor: theme?.listContentBackgroundColor || "#FFFFFF",
|
|
390
431
|
...styles.listContent,
|
|
391
432
|
justifyContent: messages.length === 0 ? "center" : "flex-end",
|
|
392
433
|
minHeight: modalHeight ? modalHeight : undefined
|
|
@@ -404,24 +445,42 @@ export const ChatWidget = /*#__PURE__*/forwardRef(({
|
|
|
404
445
|
const ordered = [...messages];
|
|
405
446
|
return ordered.map((item, index) => {
|
|
406
447
|
const isLatest = index === ordered.length - 1;
|
|
448
|
+
const hasDiamonds = Boolean(productsByMsg[item.id]?.response?.body?.diamonds && productsByMsg[item.id]?.response?.body?.diamonds.length > 0);
|
|
407
449
|
return /*#__PURE__*/React.createElement(View, {
|
|
408
|
-
key: item.id + index
|
|
450
|
+
key: item.id + index,
|
|
451
|
+
style: {
|
|
452
|
+
gap: 12
|
|
453
|
+
}
|
|
409
454
|
}, /*#__PURE__*/React.createElement(MessageBubble, {
|
|
410
455
|
message: item,
|
|
411
456
|
theme: theme,
|
|
412
|
-
|
|
457
|
+
priceMode: priceMode,
|
|
413
458
|
handleFeedbackAction: handleFeedbackAction,
|
|
414
|
-
onReloadResults: handleReloadResults
|
|
415
|
-
|
|
416
|
-
|
|
459
|
+
onReloadResults: handleReloadResults,
|
|
460
|
+
reloading: reloadLoadingIds.has(item.id),
|
|
461
|
+
hasResults: hasDiamonds,
|
|
462
|
+
totalResults: productsByMsg[item.id]?.response?.header?.total_diamonds_found || 0,
|
|
463
|
+
shownResults: productsByMsg[item.id]?.response?.body?.diamonds.length || 0,
|
|
464
|
+
onSuggestionSelect: handleSuggestionSelect,
|
|
465
|
+
isLatest: isLatest,
|
|
466
|
+
isTyping: typingMessageId === item.id
|
|
467
|
+
}), item.role === "assistant" && hasDiamonds && /*#__PURE__*/React.createElement(ProductsList, {
|
|
468
|
+
data: productsByMsg[item.id]?.response?.body?.diamonds || [],
|
|
469
|
+
totalResults: productsByMsg[item.id]?.response?.header?.total_diamonds_found || 0,
|
|
417
470
|
onViewAll: onViewAll,
|
|
418
471
|
onItemPress: onItemPress
|
|
419
|
-
}),
|
|
420
|
-
|
|
421
|
-
|
|
472
|
+
}), /*#__PURE__*/React.createElement(MessageMetaRow, {
|
|
473
|
+
message: item,
|
|
474
|
+
priceMode: priceMode || "",
|
|
475
|
+
handleFeedbackAction: handleFeedbackAction,
|
|
476
|
+
onReloadResults: handleReloadResults,
|
|
477
|
+
reloading: reloadLoadingIds.has(item.id),
|
|
478
|
+
hasResults: hasDiamonds
|
|
422
479
|
}));
|
|
423
480
|
});
|
|
424
|
-
})()), /*#__PURE__*/React.createElement(
|
|
481
|
+
})()), /*#__PURE__*/React.createElement(View, {
|
|
482
|
+
style: styles.bottomContainer
|
|
483
|
+
}, /*#__PURE__*/React.createElement(ChatInput, {
|
|
425
484
|
value: input,
|
|
426
485
|
onChangeText: setInput,
|
|
427
486
|
onSend: handleSend,
|
|
@@ -429,7 +488,9 @@ export const ChatWidget = /*#__PURE__*/forwardRef(({
|
|
|
429
488
|
placeholder: placeholder,
|
|
430
489
|
theme: theme,
|
|
431
490
|
inputRef: inputRef
|
|
432
|
-
})
|
|
491
|
+
}), /*#__PURE__*/React.createElement(BetaNotice, {
|
|
492
|
+
active: betaActive
|
|
493
|
+
}))));
|
|
433
494
|
});
|
|
434
495
|
ChatWidget.displayName = "ChatWidget";
|
|
435
496
|
const styles = StyleSheet.create({
|
|
@@ -450,12 +511,23 @@ const styles = StyleSheet.create({
|
|
|
450
511
|
padding: 16,
|
|
451
512
|
alignItems: "center",
|
|
452
513
|
justifyContent: "center",
|
|
453
|
-
backgroundColor: "#
|
|
514
|
+
backgroundColor: "#FFFFFF"
|
|
454
515
|
},
|
|
455
516
|
emptyText: {
|
|
456
|
-
fontSize:
|
|
457
|
-
fontWeight: "
|
|
458
|
-
color: "#
|
|
517
|
+
fontSize: 13,
|
|
518
|
+
fontWeight: "400",
|
|
519
|
+
color: "#4F4E57"
|
|
520
|
+
},
|
|
521
|
+
bottomContainer: {
|
|
522
|
+
paddingVertical: 12,
|
|
523
|
+
paddingHorizontal: 16,
|
|
524
|
+
borderTopColor: "#E0E0E0",
|
|
525
|
+
borderTopWidth: 1,
|
|
526
|
+
flexDirection: "column",
|
|
527
|
+
justifyContent: "space-between",
|
|
528
|
+
alignItems: "center",
|
|
529
|
+
alignSelf: "stretch",
|
|
530
|
+
gap: 12
|
|
459
531
|
}
|
|
460
532
|
});
|
|
461
533
|
//# sourceMappingURL=ChatWidget.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","forwardRef","useCallback","useEffect","useImperativeHandle","useMemo","useRef","useState","View","StyleSheet","ScrollView","Text","DeviceEventEmitter","Platform","ChatInput","MessageBubble","mergeTheme","fetchInitialMessages","getProducts","handleFeedbackActionApi","normaliseMessages","sendUserMessage","ChatHeader","SuggestionsRow","ProductsList","FeedbackAction","formatToTime","Storage","ChatWidget","apiUrl","userId","userIdProp","userToken","userTokenProp","priceMode","priceModeProp","modalHeight","theme","themeOverrides","initialMessages","placeholder","onClose","onClearChat","onViewAllPress","onItemPress","onItemPressProp","ref","messages","setMessages","input","setInput","loading","setLoading","loadingMessageId","setLoadingMessageId","typingMessageId","setTypingMessageId","typingFullText","setTypingFullText","assistantResponse","setAssistantResponse","undefined","products","setProducts","setPriceMode","conversationId","setConversationId","setUserId","setUserToken","scrollRef","inputRef","loadAuthData","userData","getJSON","id","token","getItem","e","console","error","onViewAll","searchPayload","JSON","stringify","agent_response","payload","domain","split","deepLinkUrl","lab_grown","OS","window","open","item","type","hasAuth","Boolean","apiParams","handleFeedbackAction","action","conversation_id","message_id","currentReaction","prev","msg","find","m","reaction","nextAction","UNSET","res","ok","map","status","cancelled","load","initial","reverse","length","sendMessage","rawText","trimmed","trim","userMessage","Date","now","role","text","createdAt","loadingId","loadingMessage","isLoading","historyForApi","updatedMessages","normalised","latestAssistant","Object","keys","productsResult","hasDiamonds","response","body","Array","isArray","diamonds","noResultsText","suggestions","current","focus","messageId","data","setTimeout","err","handleSend","handleSuggestionSelect","value","handleReloadResults","addListener","handleClearChat","changePriceMode","removeAllListeners","_priceMode","price_mode","loadConversationId","conversations","storedId","String","updatedConversations","setJSON","fresh","clearChat","step","base","msgId","interval","setInterval","dots","repeat","clearInterval","typingIndexRef","total","finalMsgId","fullText","currentIndex","slice","createElement","style","styles","container","backgroundColor","height","contentContainerStyle","listContentBackgroundColor","listContent","justifyContent","minHeight","onContentSizeChange","scrollToEnd","animated","emptyContainer","emptyText","ordered","index","isLatest","key","message","onReloadResults","onSelect","onChangeText","onSend","disabled","displayName","create","flex","width","paddingVertical","flexGrow","alignItems","padding","fontSize","fontWeight","color"],"sourceRoot":"../../../src","sources":["components/ChatWidget.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","forwardRef","useCallback","useEffect","useImperativeHandle","useMemo","useRef","useState","View","StyleSheet","ScrollView","Text","KeyboardAvoidingView","DeviceEventEmitter","Platform","ChatInput","MessageBubble","MessageMetaRow","mergeTheme","fetchInitialMessages","getProducts","handleFeedbackActionApi","normaliseMessages","sendUserMessage","ChatHeader","BetaNotice","ProductsList","FeedbackAction","formatToTime","getUserDetails","useUserAnalytics","Storage","ChatWidget","apiUrl","userToken","userTokenProp","priceMode","priceModeProp","modalHeight","theme","themeOverrides","initialMessages","placeholder","onClose","onClearChat","onViewAllPress","onItemPress","onItemPressProp","isBetaMode","isBetaModeProp","ref","messages","setMessages","input","setInput","loading","setLoading","loadingMessageId","setLoadingMessageId","typingMessageId","setTypingMessageId","typingFullText","setTypingFullText","assistantResponse","setAssistantResponse","undefined","productsByMsg","setProductsByMsg","reloadLoadingIds","setReloadLoadingIds","Set","setPriceMode","setUserToken","scrollRef","inputRef","_identify","betaActive","Boolean","loadAuthData","token","getItem","e","console","error","onViewAll","searchPayload","JSON","stringify","search_payload","payload","domain","split","deepLinkUrl","lab_grown","OS","window","open","item","type","id","hasAuth","apiParams","conversationId","handleFeedbackAction","action","conversation_id","message_id","currentReaction","prev","msg","find","m","reaction","nextAction","UNSET","res","ok","map","status","cancelled","load","initial","normalised","reverse","length","initialAssistant","role","text","createdAt","Date","now","isLoading","suggestions","sendMessage","rawText","trimmed","trim","userMessage","loadingId","loadingMessage","historyForApi","updatedMessages","latestAssistant","Object","keys","productsResult","hasDiamonds","response","body","Array","isArray","diamonds","noResultsText","current","focus","setTimeout","err","identifySegmentUser","user","userId","email","then","handleSend","handleSuggestionSelect","value","handleReloadResults","add","next","delete","addListener","handleClearChat","data","changePriceMode","removeAllListeners","_priceMode","userData","getJSON","parse","price_mode","String","conversations","storedId","updatedConversations","setJSON","fresh","step","base","interval","setInterval","dots","repeat","clearInterval","clearChat","typingIndexRef","total","finalMsgId","fullText","currentIndex","slice","createElement","style","styles","container","backgroundColor","flex","behavior","keyboardVerticalOffset","keyboardShouldPersistTaps","height","contentContainerStyle","listContentBackgroundColor","listContent","justifyContent","minHeight","onContentSizeChange","scrollToEnd","animated","emptyContainer","emptyText","ordered","index","isLatest","key","gap","message","onReloadResults","reloading","has","hasResults","totalResults","header","total_diamonds_found","shownResults","onSuggestionSelect","isTyping","bottomContainer","onChangeText","onSend","disabled","active","displayName","create","width","paddingVertical","flexGrow","alignItems","padding","fontSize","fontWeight","color","paddingHorizontal","borderTopColor","borderTopWidth","flexDirection","alignSelf"],"sourceRoot":"../../../src","sources":["components/ChatWidget.tsx"],"mappings":"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","ignoreList":[]}
|