@adminide-stack/yantra-mobile 12.0.28-alpha.61 → 12.0.28-alpha.62
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/lib/components/CustomDrawer.js +147 -26
- package/lib/components/CustomDrawer.js.map +1 -1
- package/lib/components/GatewayToolbarButtonMobile.js +21 -21
- package/lib/components/GatewayToolbarButtonMobile.js.map +1 -1
- package/lib/screens/Home/HomeScreen.js +244 -66
- package/lib/screens/Home/HomeScreen.js.map +1 -1
- package/lib/screens/Home/components/ChatHistoryLanding.js +55 -19
- package/lib/screens/Home/components/ChatHistoryLanding.js.map +1 -1
- package/lib/screens/Home/components/DeepSearchModal.js +49 -34
- package/lib/screens/Home/components/DeepSearchModal.js.map +1 -1
- package/lib/screens/NewChat/index.js +8 -4
- package/lib/screens/NewChat/index.js.map +1 -1
- package/lib/theme/mobileTokens.js +18 -0
- package/lib/theme/mobileTokens.js.map +1 -0
- package/package.json +4 -4
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {jsx,jsxs}from'react/jsx-runtime';import React,{useState,useMemo,useCallback,useEffect}from'react';import {View,StyleSheet,Pressable}from'react-native';import {MaterialCommunityIcons}from'@expo/vector-icons';import {getDefaultLeftItems,getDefaultRightItems,Box,Text,InputToolBar}from'@admin-layout/gluestack-ui-mobile';import {useSafeAreaInsets,SafeAreaView}from'react-native-safe-area-context';import {useNavigation,useRoute,CommonActions}from'@react-navigation/native';import {MessagesContainerUI}from'@messenger-box/platform-mobile';import {v4}from'uuid';import {ContributionSchemaId}from'common';import {useGetContextDataQuery,useGetPageSettingsQuery}from'common/graphql';import {useGatewayContext}from'../../contexts/GatewayContext.js';import {GatewayToolbarButtonMobile}from'../../components/GatewayToolbarButtonMobile.js';import {useCdecliAutoConnect}from'../../hooks/useCdecliAutoConnect.js';import {usePrerequisiteIds}from'../../hooks/usePrerequisiteIds.js';import {useChatMutations,useChatSessions}from'../../hooks/useChatApi.js';import {useChatStream}from'../../hooks/useChatStream.js';import DeepSearchModal from'./components/DeepSearchModal.js';import ChatHistoryLanding from'./components/ChatHistoryLanding.js';import {normalizeSummaryText,extractDeepSearchSources}from'./deepSearchUtils.js';import {YantraBrandLoader,YANTRA_LOADER_SIZE_COMPACT}from'../../components/YantraBrandLoader.js';import {navigationRef}from'@common-stack/client-react';var __defProp = Object.defineProperty;
|
|
1
|
+
import {jsx,jsxs}from'react/jsx-runtime';import React,{useState,useMemo,useCallback,useEffect}from'react';import {useWindowDimensions,useColorScheme,View,StyleSheet,Pressable,Platform,Keyboard,TouchableWithoutFeedback}from'react-native';import {MaterialCommunityIcons}from'@expo/vector-icons';import {getDefaultLeftItems,getDefaultRightItems,Box,Text,InputToolBar}from'@admin-layout/gluestack-ui-mobile';import {useSafeAreaInsets,SafeAreaView}from'react-native-safe-area-context';import {useNavigation,useRoute,CommonActions}from'@react-navigation/native';import {MessagesContainerUI}from'@messenger-box/platform-mobile';import {v4}from'uuid';import {ContributionSchemaId}from'common';import {useGetContextDataQuery,useGetPageSettingsQuery}from'common/graphql';import {useGatewayContext}from'../../contexts/GatewayContext.js';import {GatewayToolbarButtonMobile}from'../../components/GatewayToolbarButtonMobile.js';import {useCdecliAutoConnect}from'../../hooks/useCdecliAutoConnect.js';import {usePrerequisiteIds}from'../../hooks/usePrerequisiteIds.js';import {useChatMutations,useChatSessions}from'../../hooks/useChatApi.js';import {useChatStream}from'../../hooks/useChatStream.js';import DeepSearchModal from'./components/DeepSearchModal.js';import ChatHistoryLanding from'./components/ChatHistoryLanding.js';import {normalizeSummaryText,extractDeepSearchSources}from'./deepSearchUtils.js';import {YantraBrandLoader,YANTRA_LOADER_SIZE_COMPACT}from'../../components/YantraBrandLoader.js';import {navigationRef}from'@common-stack/client-react';import {mobileTokens}from'../../theme/mobileTokens.js';var __defProp = Object.defineProperty;
|
|
2
2
|
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
3
3
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
4
4
|
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
@@ -15,6 +15,8 @@ var __spreadValues = (a, b) => {
|
|
|
15
15
|
return a;
|
|
16
16
|
};
|
|
17
17
|
const SENDING_LOADER_COMPOSER_RESERVE_PX = 156;
|
|
18
|
+
const IOS_KEYBOARD_DOCKING_ADJUST_PX = 10;
|
|
19
|
+
const COMPOSER_SCROLL_RESERVE_PX = 136;
|
|
18
20
|
function organizationFromSettingsValue(settings) {
|
|
19
21
|
if (settings == null) return null;
|
|
20
22
|
if (typeof settings === "string") {
|
|
@@ -57,6 +59,11 @@ function HomeScreenContent({
|
|
|
57
59
|
disabled = false
|
|
58
60
|
}) {
|
|
59
61
|
var _a, _b, _c, _d, _e, _f, _g;
|
|
62
|
+
const {
|
|
63
|
+
width: screenWidth
|
|
64
|
+
} = useWindowDimensions();
|
|
65
|
+
const colorScheme = useColorScheme();
|
|
66
|
+
const isDark = colorScheme === "dark";
|
|
60
67
|
const navigation = useNavigation();
|
|
61
68
|
const route = useRoute();
|
|
62
69
|
const hasRehydratedOrgRef = React.useRef(false);
|
|
@@ -149,6 +156,7 @@ function HomeScreenContent({
|
|
|
149
156
|
const pinSendingLoaderNearComposer = useMemo(() => messages.length > 0 || Boolean((response != null ? response : "").trim()), [messages.length, response]);
|
|
150
157
|
const showSendingLoader = !showChatHistory && (channelBootstrap || waitingForAssistant);
|
|
151
158
|
const insets = useSafeAreaInsets();
|
|
159
|
+
const [keyboardHeight, setKeyboardHeight] = useState(0);
|
|
152
160
|
const handleModeSwitch = useCallback((mode) => {
|
|
153
161
|
setActiveMode(mode);
|
|
154
162
|
}, []);
|
|
@@ -235,6 +243,14 @@ function HomeScreenContent({
|
|
|
235
243
|
const gatewayToolbarTone = "default";
|
|
236
244
|
const gatewayToolbarLabel = cdecli.status === "connecting" ? "Checking..." : void 0;
|
|
237
245
|
const gatewayToolbarError = cdecli.error;
|
|
246
|
+
const surfaceColor = isDark ? "#0f172a" : mobileTokens.color.bg;
|
|
247
|
+
const primaryTextColor = isDark ? "#e5e7eb" : mobileTokens.color.text;
|
|
248
|
+
const secondaryTextColor = isDark ? "#94a3b8" : mobileTokens.color.textMuted;
|
|
249
|
+
const accentColor = isDark ? "#a5b4fc" : "#4338ca";
|
|
250
|
+
const newChatIconColor = isDark ? "#e5e7eb" : "#000000";
|
|
251
|
+
const composerBarBackground = isDark ? "rgba(15, 23, 42, 0.94)" : "rgba(248, 250, 252, 0.97)";
|
|
252
|
+
const composerBarBorder = isDark ? "rgba(71, 85, 105, 0.5)" : "rgba(148, 163, 184, 0.25)";
|
|
253
|
+
const contentMaxWidth = Math.min(720, Math.max(360, screenWidth - 24));
|
|
238
254
|
useEffect(() => {
|
|
239
255
|
var _a2, _b2, _c2;
|
|
240
256
|
const currentOrgName = ((_b2 = (_a2 = route == null ? void 0 : route.params) == null ? void 0 : _a2.orgName) == null ? void 0 : _b2.trim()) || "";
|
|
@@ -264,18 +280,18 @@ function HomeScreenContent({
|
|
|
264
280
|
headerTitle: showChatHistory ? "Chats" : "Yantra",
|
|
265
281
|
headerLeft: showChatHistory ? () => /* @__PURE__ */ jsx(Pressable, { onPress: handleCloseChatHistory, style: ({
|
|
266
282
|
pressed
|
|
267
|
-
}) => [styles.backButton, pressed && styles.newChatButtonPressed], accessibilityLabel: "Back to chat", children: /* @__PURE__ */ jsx(MaterialCommunityIcons, { name: "chevron-left", size: 24, color:
|
|
283
|
+
}) => [styles.backButton, pressed && styles.newChatButtonPressed], accessibilityLabel: "Back to chat", children: /* @__PURE__ */ jsx(MaterialCommunityIcons, { name: "chevron-left", size: 24, color: primaryTextColor }) }) : void 0,
|
|
268
284
|
headerRight: () => /* @__PURE__ */ jsxs(View, { style: styles.headerRight, children: [
|
|
269
285
|
/* @__PURE__ */ jsx(GatewayToolbarButtonMobile, { gatewayStatus: gatewayToolbarStatus, gatewayError: gatewayToolbarError, onToggleGateway: handleToggleGateway, disabled: false, statusLabel: gatewayToolbarLabel, tone: gatewayToolbarTone }),
|
|
270
286
|
!showChatHistory ? /* @__PURE__ */ jsx(Pressable, { onPress: handleOpenChatHistory, style: ({
|
|
271
287
|
pressed
|
|
272
|
-
}) => [styles.historyHeaderButton, pressed && styles.historyHeaderButtonPressed], accessibilityLabel: "Chat history", accessibilityRole: "button", children: /* @__PURE__ */ jsx(View, { style: styles.historyHeaderButtonInner, children: /* @__PURE__ */ jsx(MaterialCommunityIcons, { name: "history", size: 19, color:
|
|
288
|
+
}) => [styles.historyHeaderButton, pressed && styles.historyHeaderButtonPressed], accessibilityLabel: "Chat history", accessibilityRole: "button", children: /* @__PURE__ */ jsx(View, { style: [styles.historyHeaderButtonInner, isDark ? styles.historyHeaderButtonInnerDark : null], children: /* @__PURE__ */ jsx(MaterialCommunityIcons, { name: "history", size: 19, color: accentColor }) }) }) : null,
|
|
273
289
|
/* @__PURE__ */ jsx(Pressable, { onPress: handleNewChat, style: ({
|
|
274
290
|
pressed
|
|
275
|
-
}) => [styles.newChatButton, pressed && styles.newChatButtonPressed], accessibilityLabel: "New chat", children: /* @__PURE__ */ jsx(MaterialCommunityIcons, { name: "chat-plus-outline", size:
|
|
291
|
+
}) => [styles.newChatButton, pressed && styles.newChatButtonPressed], accessibilityLabel: "New chat", children: /* @__PURE__ */ jsx(View, { style: [styles.newChatButtonInner, isDark ? styles.newChatButtonInnerDark : null], children: /* @__PURE__ */ jsx(MaterialCommunityIcons, { name: "chat-plus-outline", size: 20, color: newChatIconColor }) }) })
|
|
276
292
|
] })
|
|
277
293
|
});
|
|
278
|
-
}, [navigation, showChatHistory, handleCloseChatHistory, handleOpenChatHistory, handleNewChat, handleToggleGateway, gatewayToolbarStatus, gatewayToolbarError, gatewayToolbarLabel, gatewayToolbarTone]);
|
|
294
|
+
}, [navigation, showChatHistory, handleCloseChatHistory, handleOpenChatHistory, handleNewChat, handleToggleGateway, gatewayToolbarStatus, gatewayToolbarError, gatewayToolbarLabel, gatewayToolbarTone, primaryTextColor, accentColor, newChatIconColor, isDark]);
|
|
279
295
|
const handleSendMessage = useCallback(async (text) => {
|
|
280
296
|
if (!text.trim() || isLoading || disabled) return;
|
|
281
297
|
const submission = {
|
|
@@ -381,12 +397,47 @@ function HomeScreenContent({
|
|
|
381
397
|
setDeepSearchSummary(normalizeSummaryText(latestAssistantMessage));
|
|
382
398
|
setDeepSearchSources(extractDeepSearchSources(latestAssistantMessage));
|
|
383
399
|
}, [deepSearchQuery, isStreaming, latestAssistantMessage]);
|
|
400
|
+
useEffect(() => {
|
|
401
|
+
if (Platform.OS === "ios") {
|
|
402
|
+
const frameSub = Keyboard.addListener("keyboardWillChangeFrame", (event) => {
|
|
403
|
+
var _a2, _b2;
|
|
404
|
+
return setKeyboardHeight((_b2 = (_a2 = event.endCoordinates) == null ? void 0 : _a2.height) != null ? _b2 : 0);
|
|
405
|
+
});
|
|
406
|
+
const showSub2 = Keyboard.addListener("keyboardWillShow", (event) => {
|
|
407
|
+
var _a2, _b2;
|
|
408
|
+
return setKeyboardHeight((_b2 = (_a2 = event.endCoordinates) == null ? void 0 : _a2.height) != null ? _b2 : 0);
|
|
409
|
+
});
|
|
410
|
+
const hideSub2 = Keyboard.addListener("keyboardWillHide", () => setKeyboardHeight(0));
|
|
411
|
+
return () => {
|
|
412
|
+
frameSub.remove();
|
|
413
|
+
showSub2.remove();
|
|
414
|
+
hideSub2.remove();
|
|
415
|
+
};
|
|
416
|
+
}
|
|
417
|
+
const showSub = Keyboard.addListener("keyboardDidShow", (event) => {
|
|
418
|
+
var _a2, _b2;
|
|
419
|
+
return setKeyboardHeight((_b2 = (_a2 = event.endCoordinates) == null ? void 0 : _a2.height) != null ? _b2 : 0);
|
|
420
|
+
});
|
|
421
|
+
const hideSub = Keyboard.addListener("keyboardDidHide", () => setKeyboardHeight(0));
|
|
422
|
+
return () => {
|
|
423
|
+
showSub.remove();
|
|
424
|
+
hideSub.remove();
|
|
425
|
+
};
|
|
426
|
+
}, []);
|
|
427
|
+
const composerBottomOffset = Math.max(0, keyboardHeight - insets.bottom - (Platform.OS === "ios" ? IOS_KEYBOARD_DOCKING_ADJUST_PX : 0));
|
|
428
|
+
const composerScrollBottomPadding = COMPOSER_SCROLL_RESERVE_PX;
|
|
384
429
|
return /* @__PURE__ */ jsxs(SafeAreaView, { edges: ["left", "right", "bottom"], style: {
|
|
385
430
|
flex: 1,
|
|
386
|
-
backgroundColor:
|
|
431
|
+
backgroundColor: surfaceColor
|
|
387
432
|
}, children: [
|
|
388
|
-
/* @__PURE__ */ jsxs(Box, { flex: 1, width: "100%", position: "relative", children: [
|
|
389
|
-
(chatError || cdecli.error) && /* @__PURE__ */ jsx(Box, { mb: "$2", mx: "$4", p: "$3",
|
|
433
|
+
/* @__PURE__ */ jsx(TouchableWithoutFeedback, { onPress: Keyboard.dismiss, accessible: false, children: /* @__PURE__ */ jsxs(Box, { flex: 1, width: "100%", position: "relative", children: [
|
|
434
|
+
(chatError || cdecli.error) && /* @__PURE__ */ jsx(Box, { mb: "$2", mx: "$4", p: "$3", borderRadius: "$md", style: {
|
|
435
|
+
backgroundColor: isDark ? "#2b1a1d" : "#fef2f2",
|
|
436
|
+
borderWidth: 1,
|
|
437
|
+
borderColor: isDark ? "#7f1d1d" : "#fecaca"
|
|
438
|
+
}, children: /* @__PURE__ */ jsx(Text, { fontSize: "$sm", style: {
|
|
439
|
+
color: isDark ? "#fecaca" : "#991b1b"
|
|
440
|
+
}, children: chatError || cdecli.error }) }),
|
|
390
441
|
showChatHistory ? /* @__PURE__ */ jsx(ChatHistoryLanding, { onSelectSession: (channelId) => {
|
|
391
442
|
setShowChatHistory(false);
|
|
392
443
|
setActiveSessionId(channelId);
|
|
@@ -396,13 +447,21 @@ function HomeScreenContent({
|
|
|
396
447
|
setActiveSessionId(null);
|
|
397
448
|
setValue("");
|
|
398
449
|
clearMessages();
|
|
399
|
-
} }) : hasMessages || response ? /* @__PURE__ */ jsx(Box, { flex: 1, width: "100%", alignSelf: "stretch", children: /* @__PURE__ */ jsx(MessagesContainerUI, { mode: "chat", showBackButton: false, onBackPress: handleNewChat, compactTop:
|
|
450
|
+
} }) : hasMessages || response ? /* @__PURE__ */ jsx(Box, { flex: 1, width: "100%", alignSelf: "stretch", children: /* @__PURE__ */ jsx(MessagesContainerUI, { mode: "chat", showBackButton: false, onBackPress: handleNewChat, compactTop: true, messagesContainerStyle: {
|
|
400
451
|
paddingHorizontal: 0,
|
|
401
|
-
paddingTop:
|
|
402
|
-
|
|
452
|
+
paddingTop: 0,
|
|
453
|
+
paddingBottom: composerScrollBottomPadding,
|
|
454
|
+
margin: 0,
|
|
455
|
+
marginTop: 0,
|
|
456
|
+
alignSelf: "center",
|
|
457
|
+
width: contentMaxWidth
|
|
403
458
|
}, listContentStyle: {
|
|
404
|
-
paddingTop:
|
|
405
|
-
|
|
459
|
+
paddingTop: 0,
|
|
460
|
+
paddingBottom: composerScrollBottomPadding,
|
|
461
|
+
margin: 0,
|
|
462
|
+
marginTop: 0,
|
|
463
|
+
width: contentMaxWidth,
|
|
464
|
+
alignSelf: "center"
|
|
406
465
|
}, messages: messages.map((msg, index) => ({
|
|
407
466
|
id: `msg-${index}-${msg.role}`,
|
|
408
467
|
role: msg.role,
|
|
@@ -410,46 +469,61 @@ function HomeScreenContent({
|
|
|
410
469
|
metadata: msg.metadata
|
|
411
470
|
})), streamingContent: response, currentUser: {
|
|
412
471
|
id: "user"
|
|
413
|
-
}, onSend: handleSendMessage, disabled: isLoading || disabled, isLoading, onStop: isStreaming ? cancel : onStop, renderPlanInputToolbar: ({
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
472
|
+
}, onSend: handleSendMessage, disabled: isLoading || disabled, isLoading, onStop: isStreaming ? cancel : onStop, renderPlanInputToolbar: () => null, renderBuildInputToolbar: () => null }) }) : /* @__PURE__ */ jsx(Box, { flex: 1, width: "100%", children: /* @__PURE__ */ jsxs(View, { style: styles.emptyCenterTitleWrap, children: [
|
|
473
|
+
/* @__PURE__ */ jsx(Text, { style: [styles.emptyEyebrow, {
|
|
474
|
+
color: secondaryTextColor
|
|
475
|
+
}], children: "Choose your mode" }),
|
|
476
|
+
/* @__PURE__ */ jsxs(View, { style: [styles.emptyModePillRow, {
|
|
477
|
+
backgroundColor: isDark ? "rgba(30, 41, 59, 0.9)" : "#eef2ff",
|
|
478
|
+
borderColor: isDark ? "rgba(148, 163, 184, 0.26)" : "rgba(67, 56, 202, 0.15)"
|
|
479
|
+
}], children: [
|
|
480
|
+
/* @__PURE__ */ jsxs(Pressable, { onPress: () => handleModeSwitch("chat"), style: [styles.emptyModePill, activeMode === "chat" && styles.emptyModePillActive, activeMode === "chat" && {
|
|
481
|
+
backgroundColor: isDark ? "#312e81" : "#4338ca"
|
|
482
|
+
}], accessibilityRole: "button", accessibilityLabel: "Switch to chat mode", children: [
|
|
483
|
+
/* @__PURE__ */ jsx(MaterialCommunityIcons, { name: "magnify", size: 14, color: activeMode === "chat" ? "#ffffff" : secondaryTextColor }),
|
|
484
|
+
/* @__PURE__ */ jsx(Text, { style: [styles.emptyModePillLabel, {
|
|
485
|
+
color: activeMode === "chat" ? "#ffffff" : secondaryTextColor
|
|
486
|
+
}], children: "Chat" })
|
|
487
|
+
] }),
|
|
488
|
+
/* @__PURE__ */ jsxs(Pressable, { onPress: () => handleModeSwitch("deep-search"), style: [styles.emptyModePill, activeMode === "deep-search" && styles.emptyModePillActive, activeMode === "deep-search" && {
|
|
489
|
+
backgroundColor: isDark ? "#312e81" : "#4338ca"
|
|
490
|
+
}], accessibilityRole: "button", accessibilityLabel: "Switch to deep-search mode", children: [
|
|
491
|
+
/* @__PURE__ */ jsx(MaterialCommunityIcons, { name: "lightning-bolt-outline", size: 14, color: activeMode === "deep-search" ? "#ffffff" : secondaryTextColor }),
|
|
492
|
+
/* @__PURE__ */ jsx(Text, { style: [styles.emptyModePillLabel, {
|
|
493
|
+
color: activeMode === "deep-search" ? "#ffffff" : secondaryTextColor
|
|
494
|
+
}], children: "Deep Search" })
|
|
495
|
+
] })
|
|
496
|
+
] }),
|
|
497
|
+
/* @__PURE__ */ jsx(Text, { style: [styles.emptyCenterTitle, {
|
|
498
|
+
color: primaryTextColor
|
|
499
|
+
}], children: "How do you want to start?" }),
|
|
500
|
+
/* @__PURE__ */ jsx(Text, { style: [styles.emptySubtitle, {
|
|
501
|
+
color: secondaryTextColor
|
|
502
|
+
}], children: "Use Chat for quick help, or Deep Search for researched, source-backed answers." })
|
|
503
|
+
] }) }),
|
|
504
|
+
!showChatHistory ? /* @__PURE__ */ jsx(View, { style: [styles.bottomComposerWrap, {
|
|
505
|
+
paddingBottom: Math.max(insets.bottom - 6, 2) + composerBottomOffset,
|
|
506
|
+
backgroundColor: composerBarBackground,
|
|
507
|
+
borderTopColor: composerBarBorder
|
|
508
|
+
}], children: /* @__PURE__ */ jsx(View, { style: [styles.bottomComposerInner, {
|
|
509
|
+
width: contentMaxWidth
|
|
510
|
+
}], children: /* @__PURE__ */ jsx(InputToolBar, { inputConfig: {
|
|
511
|
+
value,
|
|
512
|
+
onChange: (e) => setValue(e.nativeEvent.text),
|
|
421
513
|
placeholder: inputPlaceholder,
|
|
422
|
-
disabled:
|
|
514
|
+
disabled: isLoading || disabled
|
|
423
515
|
}, leftItems, rightItems, templateButton: null, templateModalConfig: null, micSendButton: {
|
|
424
|
-
hasContent:
|
|
425
|
-
onSend: () =>
|
|
516
|
+
hasContent: canSubmit,
|
|
517
|
+
onSend: () => handleSubmit(),
|
|
426
518
|
onMic: () => console.log("mic"),
|
|
427
|
-
disabled:
|
|
519
|
+
disabled: isLoading || disabled,
|
|
428
520
|
isLoading,
|
|
429
521
|
onStop: isStreaming ? cancel : onStop
|
|
430
|
-
} })
|
|
431
|
-
/* @__PURE__ */ jsx(View, { style: styles.emptyCenterTitleWrap, children: /* @__PURE__ */ jsx(Text, { style: styles.emptyCenterTitle, children: "What can I do for you?" }) }),
|
|
432
|
-
/* @__PURE__ */ jsx(View, { style: [styles.bottomComposerWrap, {
|
|
433
|
-
paddingBottom: Math.max(insets.bottom - 6, 2),
|
|
434
|
-
marginBottom: -Math.max(insets.bottom - 2, 0)
|
|
435
|
-
}], children: /* @__PURE__ */ jsx(InputToolBar, { inputConfig: {
|
|
436
|
-
value,
|
|
437
|
-
onChange: (e) => setValue(e.nativeEvent.text),
|
|
438
|
-
placeholder: inputPlaceholder,
|
|
439
|
-
disabled: isLoading || disabled
|
|
440
|
-
}, leftItems, rightItems, templateButton: null, templateModalConfig: null, micSendButton: {
|
|
441
|
-
hasContent: canSubmit,
|
|
442
|
-
onSend: () => handleSubmit(),
|
|
443
|
-
onMic: () => console.log("mic"),
|
|
444
|
-
disabled: isLoading || disabled,
|
|
445
|
-
isLoading,
|
|
446
|
-
onStop
|
|
447
|
-
} }) })
|
|
448
|
-
] }),
|
|
522
|
+
} }) }) }) : null,
|
|
449
523
|
showSendingLoader ? /* @__PURE__ */ jsx(View, { pointerEvents: "none", style: pinSendingLoaderNearComposer ? [styles.sendingLoaderAboveComposer, {
|
|
450
524
|
bottom: Math.max(insets.bottom, 12) + SENDING_LOADER_COMPOSER_RESERVE_PX
|
|
451
525
|
}] : styles.sendingLoaderEmptyState, children: /* @__PURE__ */ jsx(YantraBrandLoader, { size: YANTRA_LOADER_SIZE_COMPACT }) }) : null
|
|
452
|
-
] }),
|
|
526
|
+
] }) }),
|
|
453
527
|
/* @__PURE__ */ jsx(DeepSearchModal, { visible: isDeepSearchModalOpen, query: deepSearchQuery, summaryText: deepSearchPreviewNormalized, sources: deepSearchSources, isStreaming, researchProcessOpen, sourcesAccordionOpen, onToggleResearchProcess: () => setResearchProcessOpen((prev) => !prev), onToggleSourcesAccordion: () => setSourcesAccordionOpen((prev) => !prev), onRetry: () => {
|
|
454
528
|
void handleRetryDeepSearch();
|
|
455
529
|
}, onStop: cancel, onClose: handleDeepSearchClose })
|
|
@@ -480,39 +554,67 @@ const styles = StyleSheet.create({
|
|
|
480
554
|
headerRight: {
|
|
481
555
|
flexDirection: "row",
|
|
482
556
|
alignItems: "center",
|
|
483
|
-
marginRight:
|
|
484
|
-
gap:
|
|
557
|
+
marginRight: 6,
|
|
558
|
+
gap: 6
|
|
485
559
|
},
|
|
486
560
|
historyHeaderButton: {
|
|
487
|
-
marginHorizontal:
|
|
488
|
-
padding:
|
|
561
|
+
marginHorizontal: 0,
|
|
562
|
+
padding: 0,
|
|
489
563
|
borderRadius: 22
|
|
490
564
|
},
|
|
491
565
|
historyHeaderButtonPressed: {
|
|
492
566
|
opacity: 0.72
|
|
493
567
|
},
|
|
494
568
|
historyHeaderButtonInner: {
|
|
495
|
-
width:
|
|
496
|
-
height:
|
|
497
|
-
borderRadius:
|
|
569
|
+
width: 32,
|
|
570
|
+
height: 32,
|
|
571
|
+
borderRadius: 16,
|
|
498
572
|
alignItems: "center",
|
|
499
573
|
justifyContent: "center",
|
|
500
|
-
backgroundColor:
|
|
574
|
+
backgroundColor: mobileTokens.color.primarySoft,
|
|
501
575
|
borderWidth: StyleSheet.hairlineWidth,
|
|
502
|
-
borderColor:
|
|
503
|
-
shadowColor: "#
|
|
504
|
-
shadowOpacity: 0.
|
|
505
|
-
shadowRadius:
|
|
576
|
+
borderColor: mobileTokens.color.primaryBorder,
|
|
577
|
+
shadowColor: "#312e81",
|
|
578
|
+
shadowOpacity: 0.1,
|
|
579
|
+
shadowRadius: 5,
|
|
506
580
|
shadowOffset: {
|
|
507
581
|
width: 0,
|
|
508
582
|
height: 2
|
|
509
583
|
},
|
|
510
584
|
elevation: 2
|
|
511
585
|
},
|
|
586
|
+
historyHeaderButtonInnerDark: {
|
|
587
|
+
backgroundColor: "#1e293b",
|
|
588
|
+
borderColor: "rgba(148, 163, 184, 0.35)",
|
|
589
|
+
shadowColor: "#111827"
|
|
590
|
+
},
|
|
512
591
|
newChatButton: {
|
|
513
|
-
padding:
|
|
592
|
+
padding: 0,
|
|
593
|
+
alignItems: "center",
|
|
594
|
+
justifyContent: "center",
|
|
595
|
+
borderRadius: 22
|
|
596
|
+
},
|
|
597
|
+
newChatButtonInner: {
|
|
598
|
+
width: 32,
|
|
599
|
+
height: 32,
|
|
600
|
+
borderRadius: 16,
|
|
514
601
|
alignItems: "center",
|
|
515
|
-
justifyContent: "center"
|
|
602
|
+
justifyContent: "center",
|
|
603
|
+
backgroundColor: mobileTokens.color.surface,
|
|
604
|
+
borderWidth: 1,
|
|
605
|
+
borderColor: mobileTokens.color.border,
|
|
606
|
+
shadowColor: "#0f172a",
|
|
607
|
+
shadowOpacity: 0.08,
|
|
608
|
+
shadowRadius: 5,
|
|
609
|
+
shadowOffset: {
|
|
610
|
+
width: 0,
|
|
611
|
+
height: 2
|
|
612
|
+
},
|
|
613
|
+
elevation: 2
|
|
614
|
+
},
|
|
615
|
+
newChatButtonInnerDark: {
|
|
616
|
+
backgroundColor: "#0f172a",
|
|
617
|
+
borderColor: "#334155"
|
|
516
618
|
},
|
|
517
619
|
backButton: {
|
|
518
620
|
marginLeft: 6,
|
|
@@ -529,19 +631,95 @@ const styles = StyleSheet.create({
|
|
|
529
631
|
emptyCenterTitleWrap: {
|
|
530
632
|
flex: 1,
|
|
531
633
|
alignItems: "center",
|
|
532
|
-
justifyContent: "
|
|
634
|
+
justifyContent: "flex-start",
|
|
533
635
|
paddingHorizontal: 24,
|
|
534
|
-
paddingTop:
|
|
636
|
+
paddingTop: 88,
|
|
637
|
+
paddingBottom: 52,
|
|
638
|
+
maxWidth: 520,
|
|
639
|
+
alignSelf: "center"
|
|
640
|
+
},
|
|
641
|
+
emptyEyebrow: {
|
|
642
|
+
fontSize: 12,
|
|
643
|
+
fontWeight: "600",
|
|
644
|
+
letterSpacing: 0.4,
|
|
645
|
+
textTransform: "uppercase",
|
|
646
|
+
marginBottom: 10
|
|
535
647
|
},
|
|
536
648
|
emptyCenterTitle: {
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
649
|
+
marginTop: 2,
|
|
650
|
+
fontSize: 30,
|
|
651
|
+
fontWeight: "700",
|
|
540
652
|
textAlign: "center",
|
|
541
|
-
letterSpacing: 0.
|
|
653
|
+
letterSpacing: -0.5
|
|
654
|
+
},
|
|
655
|
+
emptySubtitle: {
|
|
656
|
+
marginTop: 12,
|
|
657
|
+
fontSize: 14,
|
|
658
|
+
lineHeight: 22,
|
|
659
|
+
textAlign: "center",
|
|
660
|
+
paddingHorizontal: 16,
|
|
661
|
+
maxWidth: 360
|
|
542
662
|
},
|
|
543
663
|
bottomComposerWrap: {
|
|
544
|
-
|
|
664
|
+
position: "absolute",
|
|
665
|
+
left: 0,
|
|
666
|
+
right: 0,
|
|
667
|
+
bottom: 0,
|
|
668
|
+
alignItems: "center",
|
|
669
|
+
justifyContent: "flex-end",
|
|
670
|
+
borderTopWidth: 1,
|
|
671
|
+
shadowColor: "#0f172a",
|
|
672
|
+
shadowOpacity: 0.08,
|
|
673
|
+
shadowRadius: 8,
|
|
674
|
+
shadowOffset: {
|
|
675
|
+
width: 0,
|
|
676
|
+
height: -2
|
|
677
|
+
},
|
|
678
|
+
elevation: 6
|
|
679
|
+
},
|
|
680
|
+
bottomComposerInner: {
|
|
681
|
+
paddingHorizontal: 14,
|
|
682
|
+
paddingTop: 10,
|
|
683
|
+
paddingBottom: 4
|
|
684
|
+
},
|
|
685
|
+
emptyModePillRow: {
|
|
686
|
+
flexDirection: "row",
|
|
687
|
+
alignItems: "center",
|
|
688
|
+
gap: 8,
|
|
689
|
+
marginBottom: 22,
|
|
690
|
+
borderRadius: 16,
|
|
691
|
+
padding: 6,
|
|
692
|
+
borderWidth: 1,
|
|
693
|
+
shadowColor: "#312e81",
|
|
694
|
+
shadowOpacity: 0.08,
|
|
695
|
+
shadowRadius: 8,
|
|
696
|
+
shadowOffset: {
|
|
697
|
+
width: 0,
|
|
698
|
+
height: 3
|
|
699
|
+
},
|
|
700
|
+
elevation: 3
|
|
701
|
+
},
|
|
702
|
+
emptyModePill: {
|
|
703
|
+
flexDirection: "row",
|
|
704
|
+
alignItems: "center",
|
|
705
|
+
gap: 4,
|
|
706
|
+
paddingHorizontal: 12,
|
|
707
|
+
paddingVertical: 7,
|
|
708
|
+
borderRadius: 11
|
|
709
|
+
},
|
|
710
|
+
emptyModePillActive: {
|
|
711
|
+
shadowColor: "#312e81",
|
|
712
|
+
shadowOpacity: 0.18,
|
|
713
|
+
shadowRadius: 6,
|
|
714
|
+
shadowOffset: {
|
|
715
|
+
width: 0,
|
|
716
|
+
height: 2
|
|
717
|
+
},
|
|
718
|
+
elevation: 2
|
|
719
|
+
},
|
|
720
|
+
emptyModePillLabel: {
|
|
721
|
+
fontSize: 12,
|
|
722
|
+
fontWeight: "600"
|
|
545
723
|
}
|
|
546
724
|
});
|
|
547
725
|
const HomeScreen = (props) => /* @__PURE__ */ jsx(HomeScreenContent, __spreadValues({}, props));export{HomeScreen as default};//# sourceMappingURL=HomeScreen.js.map
|