@adminide-stack/yantra-mobile 12.0.142-alpha.0 โ†’ 12.0.144

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.
Files changed (118) hide show
  1. package/lib/features/attachments/displayUserMessageText.js +2 -2
  2. package/lib/features/attachments/displayUserMessageText.js.map +1 -1
  3. package/lib/features/devices/bodyComposition.js +116 -0
  4. package/lib/features/devices/bodyComposition.js.map +1 -0
  5. package/lib/features/devices/readings.js.map +1 -1
  6. package/lib/features/devices/session.js +22 -2
  7. package/lib/features/devices/session.js.map +1 -1
  8. package/lib/features/notion/NotionAgentPanel.js +987 -0
  9. package/lib/features/notion/NotionAgentPanel.js.map +1 -0
  10. package/lib/features/notion/NotionAskAiSheet.js +362 -0
  11. package/lib/features/notion/NotionAskAiSheet.js.map +1 -0
  12. package/lib/features/notion/NotionBlockView.js +4 -3
  13. package/lib/features/notion/NotionBlockView.js.map +1 -1
  14. package/lib/features/notion/NotionConnectionsSheet.js +47 -13
  15. package/lib/features/notion/NotionConnectionsSheet.js.map +1 -1
  16. package/lib/features/notion/NotionPageView.js +68 -8
  17. package/lib/features/notion/NotionPageView.js.map +1 -1
  18. package/lib/features/notion/NotionSidebarSections.js +1 -1
  19. package/lib/features/notion/NotionSidebarSections.js.map +1 -1
  20. package/lib/features/notion/NotionWorkspaceView.js +14 -9
  21. package/lib/features/notion/NotionWorkspaceView.js.map +1 -1
  22. package/lib/features/notion/database/DatabaseCells.js +3 -1
  23. package/lib/features/notion/database/DatabaseCells.js.map +1 -1
  24. package/lib/features/notion/database/DatabaseDateLayouts.js +1 -1
  25. package/lib/features/notion/database/DatabaseDateLayouts.js.map +1 -1
  26. package/lib/features/notion/database/NotionDatabaseView.js +1 -1
  27. package/lib/features/notion/database/NotionDatabaseView.js.map +1 -1
  28. package/lib/features/notion/notionAgentRunStatus.js +2 -2
  29. package/lib/features/notion/notionAgentRunStatus.js.map +1 -1
  30. package/lib/features/notion/notionAgentRuns.js +57 -0
  31. package/lib/features/notion/notionAgentRuns.js.map +1 -0
  32. package/lib/features/notion/notionAiContext.js +91 -0
  33. package/lib/features/notion/notionAiContext.js.map +1 -0
  34. package/lib/features/notion/notionConnections.js +42 -4
  35. package/lib/features/notion/notionConnections.js.map +1 -1
  36. package/lib/features/notion/notionDocuments.js +61 -1
  37. package/lib/features/notion/notionDocuments.js.map +1 -1
  38. package/lib/features/notion/notionNotesAgent.js +173 -3
  39. package/lib/features/notion/notionNotesAgent.js.map +1 -1
  40. package/lib/features/notion/notionPageKinds.js +1 -1
  41. package/lib/features/webbuilder/WebBuilderExperience.js +229 -97
  42. package/lib/features/webbuilder/WebBuilderExperience.js.map +1 -1
  43. package/lib/features/webbuilder/buildFragments.js +33 -7
  44. package/lib/features/webbuilder/buildFragments.js.map +1 -1
  45. package/lib/features/webbuilder/buildJob.js +2 -2
  46. package/lib/features/webbuilder/buildJob.js.map +1 -1
  47. package/lib/features/webbuilder/codeFiles.js +18 -1
  48. package/lib/features/webbuilder/codeFiles.js.map +1 -1
  49. package/lib/features/webbuilder/components/BottomTabs.js.map +1 -1
  50. package/lib/features/webbuilder/components/CodeView.js +134 -56
  51. package/lib/features/webbuilder/components/CodeView.js.map +1 -1
  52. package/lib/features/webbuilder/components/Composer.js +2 -2
  53. package/lib/features/webbuilder/components/Composer.js.map +1 -1
  54. package/lib/features/webbuilder/components/PreviewFrame.js +19 -3
  55. package/lib/features/webbuilder/components/PreviewFrame.js.map +1 -1
  56. package/lib/features/webbuilder/components/PreviewScreen.js +310 -46
  57. package/lib/features/webbuilder/components/PreviewScreen.js.map +1 -1
  58. package/lib/features/webbuilder/components/ProjectChat.js +141 -12
  59. package/lib/features/webbuilder/components/ProjectChat.js.map +1 -1
  60. package/lib/features/webbuilder/components/ProjectSheets.js +792 -0
  61. package/lib/features/webbuilder/components/ProjectSheets.js.map +1 -0
  62. package/lib/features/webbuilder/components/ProjectsScreen.js +14 -2
  63. package/lib/features/webbuilder/components/ProjectsScreen.js.map +1 -1
  64. package/lib/features/webbuilder/components/PublishSheet.js +914 -58
  65. package/lib/features/webbuilder/components/PublishSheet.js.map +1 -1
  66. package/lib/features/webbuilder/components/TemplateCard.js +9 -6
  67. package/lib/features/webbuilder/components/TemplateCard.js.map +1 -1
  68. package/lib/features/webbuilder/components/TemplatesSheet.js +5 -17
  69. package/lib/features/webbuilder/components/TemplatesSheet.js.map +1 -1
  70. package/lib/features/webbuilder/connectorTemplates.js +171 -0
  71. package/lib/features/webbuilder/connectorTemplates.js.map +1 -0
  72. package/lib/features/webbuilder/fileTree.js +163 -0
  73. package/lib/features/webbuilder/fileTree.js.map +1 -0
  74. package/lib/features/webbuilder/followUps.js +67 -0
  75. package/lib/features/webbuilder/followUps.js.map +1 -0
  76. package/lib/features/webbuilder/previewProbe.js +49 -0
  77. package/lib/features/webbuilder/previewProbe.js.map +1 -0
  78. package/lib/features/webbuilder/previewRoutes.js +156 -0
  79. package/lib/features/webbuilder/previewRoutes.js.map +1 -0
  80. package/lib/features/webbuilder/projectTools.js +341 -0
  81. package/lib/features/webbuilder/projectTools.js.map +1 -0
  82. package/lib/features/webbuilder/publishTools.js +475 -0
  83. package/lib/features/webbuilder/publishTools.js.map +1 -0
  84. package/lib/features/webbuilder/sleepNotice.js +13 -0
  85. package/lib/features/webbuilder/sleepNotice.js.map +1 -0
  86. package/lib/features/webbuilder/stepLabels.js +37 -7
  87. package/lib/features/webbuilder/stepLabels.js.map +1 -1
  88. package/lib/features/webbuilder/studioCatalog.js +5 -1
  89. package/lib/features/webbuilder/studioCatalog.js.map +1 -1
  90. package/lib/features/webbuilder/templateCatalog.js +140 -0
  91. package/lib/features/webbuilder/templateCatalog.js.map +1 -0
  92. package/lib/features/webbuilder/webbuilderPrompts.js +31 -5
  93. package/lib/features/webbuilder/webbuilderPrompts.js.map +1 -1
  94. package/lib/features/webbuilder/workflow.js +8 -4
  95. package/lib/features/webbuilder/workflow.js.map +1 -1
  96. package/lib/screens/Devices/index.js +205 -3
  97. package/lib/screens/Devices/index.js.map +1 -1
  98. package/lib/screens/WebBuilderNative/codeWorkspaceApi.js +9 -6
  99. package/lib/screens/WebBuilderNative/codeWorkspaceApi.js.map +1 -1
  100. package/lib/screens/WebBuilderNative/index.js +1 -1
  101. package/lib/screens/WebBuilderNative/index.js.map +1 -1
  102. package/lib/screens/WebBuilderNative/keepAlive.js +53 -3
  103. package/lib/screens/WebBuilderNative/keepAlive.js.map +1 -1
  104. package/lib/screens/WebBuilderNative/unreachableRetry.js +23 -0
  105. package/lib/screens/WebBuilderNative/unreachableRetry.js.map +1 -0
  106. package/lib/screens/WebBuilderNative/useConnectorTemplates.js +37 -0
  107. package/lib/screens/WebBuilderNative/useConnectorTemplates.js.map +1 -0
  108. package/lib/screens/WebBuilderNative/useSandboxKeepAlive.js +6 -0
  109. package/lib/screens/WebBuilderNative/useSandboxKeepAlive.js.map +1 -1
  110. package/lib/screens/WebBuilderNative/useWebBuilderHost.js +302 -40
  111. package/lib/screens/WebBuilderNative/useWebBuilderHost.js.map +1 -1
  112. package/lib/screens/WebBuilderNative/useWebBuilderJobs.js +2 -2
  113. package/lib/screens/WebBuilderNative/useWebBuilderJobs.js.map +1 -1
  114. package/lib/screens/WebBuilderNative/versionUndo.js +1 -1
  115. package/lib/screens/WebBuilderNative/versionUndo.js.map +1 -1
  116. package/lib/screens/WebBuilderNative/webbuilderTransport.js +147 -77
  117. package/lib/screens/WebBuilderNative/webbuilderTransport.js.map +1 -1
  118. package/package.json +4 -4
@@ -489,4 +489,4 @@ const styles = StyleSheet.create({
489
489
  disabled: {
490
490
  opacity: 0.45
491
491
  }
492
- });export{AddTeamspaceSheet,AgentTemplateSheet,AgentsSection,RecentStrip,TeamspacesSection};//# sourceMappingURL=NotionSidebarSections.js.map
492
+ });export{AddTeamspaceSheet,AgentTemplateSheet,AgentsSection,RUN_DOT,RecentStrip,TeamspacesSection,tile};//# sourceMappingURL=NotionSidebarSections.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NotionSidebarSections.js","sources":["../../../src/features/notion/NotionSidebarSections.tsx"],"sourcesContent":["/**\n * The web sidebar's middle sections on the Notion home:\n * - Recently visited (cards, web Home \"Recently visited\");\n * - Agents (colour tiles + last-run dot, \"New agent\" with the web's four templates);\n * - Teamspaces (catalog groups with their pages, \"Add teamspace\" with name + colour).\n * Data and rules come from the ported web utils (notionPageKinds / notionNotesAgent).\n */\nimport React, { useEffect, useState } from 'react';\nimport {\n ActivityIndicator,\n Alert,\n KeyboardAvoidingView,\n Modal,\n Platform,\n Pressable,\n ScrollView,\n StyleSheet,\n Text,\n TextInput,\n View,\n} from 'react-native';\nimport { Ionicons } from '@expo/vector-icons';\nimport { AGENT_TEMPLATES, triggerLabel, type AgentTemplateId } from './notionNotesAgent';\nimport { TILE_COLOR_NAMES, type AgentSummaryRow, type TeamspaceDef } from './notionPageKinds';\nimport { textColorOf, washColorOf } from './notionRichText';\nimport type { NotionBlock } from './notionBlocks';\nimport type { NotionPalette } from './notionTheme';\nimport type { RecentPage } from './notionRecents';\nimport { PageTree } from './NotionPageTree';\nimport { SectionHeader, ui } from './notionUi';\n\ntype Palette = NotionPalette;\n\nconst RUN_DOT: Record<string, string> = {\n queued: '#a8a29e',\n running: '#0ea5e9',\n succeeded: '#10b981',\n failed: '#f43f5e',\n needs_input: '#f59e0b',\n};\n\n/** Tile colour of a palette name (agents: solid, teamspaces: soft), or a CSS colour as-is. */\nfunction tile(color: string | undefined, variant: 'solid' | 'soft', isDark: boolean): string {\n if (color && /^(#|rgb|hsl)/i.test(color)) return color;\n const name = color && (TILE_COLOR_NAMES as readonly string[]).includes(color) ? color : 'gray';\n return (variant === 'solid' ? textColorOf(name, isDark) : washColorOf(name, isDark)) ?? '#a8a29e';\n}\n\n// ============================================================================\n// RECENTLY VISITED\n// ============================================================================\n\nexport function RecentStrip({\n recents,\n palette,\n onOpen,\n}: {\n recents: RecentPage[];\n palette: Palette;\n onOpen: (id: string) => void;\n}) {\n if (!recents.length) return null;\n const ago = (at: number) => {\n const mins = Math.round((Date.now() - at) / 60000);\n if (mins < 60) return mins < 1 ? 'Just now' : `${mins}m ago`;\n const h = Math.round(mins / 60);\n return h < 24 ? `${h}h ago` : `${Math.round(h / 24)}d ago`;\n };\n return (\n <>\n <SectionHeader label=\"Recently visited\" palette={palette} />\n <ScrollView horizontal showsHorizontalScrollIndicator={false} contentContainerStyle={styles.recentRow}>\n {recents.map((r) => (\n <Pressable\n key={r.id}\n accessibilityRole=\"button\"\n accessibilityLabel={`${r.title || 'Untitled'}, ${ago(r.at)}`}\n onPress={() => onOpen(r.id)}\n style={({ pressed }) => [\n styles.recentCard,\n { backgroundColor: pressed ? palette.pressed : palette.card },\n ui.cardShadow,\n ]}\n >\n <View style={[styles.recentIcon, { backgroundColor: palette.fill }]}>\n <Text style={styles.recentEmoji}>{r.icon || '๐Ÿ“„'}</Text>\n </View>\n <View style={styles.recentText}>\n <Text numberOfLines={1} style={[styles.recentTitle, { color: palette.text }]}>\n {r.title || 'Untitled'}\n </Text>\n <Text numberOfLines={1} style={[styles.recentMeta, { color: palette.textMuted }]}>\n {ago(r.at)}\n </Text>\n </View>\n </Pressable>\n ))}\n </ScrollView>\n </>\n );\n}\n\n// ============================================================================\n// AGENTS\n// ============================================================================\n\nexport function AgentsSection({\n agents,\n palette,\n isDark,\n onOpen,\n onNew,\n}: {\n agents: AgentSummaryRow[];\n palette: Palette;\n isDark: boolean;\n onOpen: (id: string) => void;\n onNew: () => void;\n}) {\n return (\n <>\n <SectionHeader label=\"Agents\" count={agents.length || undefined} palette={palette} />\n <View style={[ui.group, { backgroundColor: palette.card }, ui.cardShadow]}>\n {agents.map((a) => (\n <Pressable\n key={a.id}\n accessibilityRole=\"button\"\n onPress={() => onOpen(a.id)}\n style={({ pressed }) => [styles.row, pressed && { backgroundColor: palette.pressed }]}\n >\n <View style={[styles.tile, { backgroundColor: tile(a.color, 'solid', isDark) }]}>\n <Text style={styles.tileEmoji}>{a.icon || '๐Ÿค–'}</Text>\n </View>\n <View style={[styles.rowBody, ui.hairline, { borderBottomColor: palette.hairline }]}>\n <View style={ui.flex}>\n <Text numberOfLines={1} style={[styles.rowTitle, { color: palette.text }]}>\n {a.title}\n </Text>\n <Text numberOfLines={1} style={[styles.rowMeta, { color: palette.textMuted }]}>\n {a.enabled ? 'On' : 'Off'}\n {a.lastRun?.summary ? ` ยท ${a.lastRun.summary}` : ''}\n </Text>\n </View>\n {a.lastRun ? (\n <View\n style={[\n styles.dot,\n { backgroundColor: RUN_DOT[a.lastRun.status] ?? palette.textFaint },\n ]}\n />\n ) : null}\n <Ionicons name=\"chevron-forward\" size={16} color={palette.textFaint} />\n </View>\n </Pressable>\n ))}\n <Pressable\n accessibilityRole=\"button\"\n onPress={onNew}\n style={({ pressed }) => [styles.row, pressed && { backgroundColor: palette.pressed }]}\n >\n <View style={[styles.tile, { backgroundColor: palette.fill }]}>\n <Ionicons name=\"add\" size={18} color={palette.primary} />\n </View>\n <View style={styles.rowBody}>\n <Text style={[styles.rowTitle, { color: palette.primary }]}>New agent</Text>\n </View>\n </Pressable>\n </View>\n </>\n );\n}\n\nexport function AgentTemplateSheet({\n visible,\n palette,\n isDark,\n onPick,\n onClose,\n}: {\n visible: boolean;\n palette: Palette;\n isDark: boolean;\n onPick: (id: AgentTemplateId) => Promise<unknown>;\n onClose: () => void;\n}) {\n const [busy, setBusy] = useState<string | null>(null);\n const pick = async (id: AgentTemplateId) => {\n setBusy(id);\n try {\n await onPick(id);\n onClose();\n } catch (err) {\n Alert.alert(\"Couldn't create the agent\", err instanceof Error ? err.message : undefined);\n } finally {\n setBusy(null);\n }\n };\n return (\n <Modal visible={visible} animationType=\"slide\" presentationStyle=\"pageSheet\" onRequestClose={onClose}>\n <View style={[ui.flex, { backgroundColor: palette.bg }]}>\n <View style={[ui.sheetHeader, { borderBottomColor: palette.hairline }]}>\n <View style={[ui.sheetHeaderSide, ui.sheetHeaderLeft]} />\n <Text style={[ui.sheetHeaderTitle, { color: palette.text }]}>New agent</Text>\n <Pressable accessibilityRole=\"button\" onPress={onClose} hitSlop={8} style={ui.sheetHeaderSide}>\n <Text style={[ui.sheetHeaderDone, { color: palette.primary }]}>Cancel</Text>\n </Pressable>\n </View>\n <ScrollView contentContainerStyle={styles.sheetContent}>\n <Text style={[styles.intro, { color: palette.textMuted }]}>\n Agents do the busywork. Start from a template โ€” you can change everything later.\n </Text>\n {AGENT_TEMPLATES.map((t) => (\n <Pressable\n key={t.id}\n accessibilityRole=\"button\"\n onPress={() => pick(t.id)}\n disabled={Boolean(busy)}\n style={({ pressed }) => [\n styles.templateCard,\n { backgroundColor: pressed ? palette.pressed : palette.card },\n ui.cardShadow,\n ]}\n >\n <View style={styles.templateHead}>\n <View style={[styles.swatch, { backgroundColor: tile(t.color, 'solid', isDark) }]} />\n <Text style={[styles.templateName, { color: palette.text }]}>{t.name}</Text>\n {busy === t.id ? <ActivityIndicator size=\"small\" color={palette.textMuted} /> : null}\n </View>\n <Text style={[styles.templateDesc, { color: palette.textMuted }]}>{t.description}</Text>\n {t.triggers\n .filter((tr) => tr.type !== 'manual')\n .map((tr, i) => (\n // eslint-disable-next-line react/no-array-index-key\n <View key={i} style={[styles.trigger, { backgroundColor: palette.fill }]}>\n <Ionicons name=\"flash-outline\" size={12} color={palette.textMuted} />\n <Text style={[styles.triggerText, { color: palette.textMuted }]}>\n {triggerLabel(tr)}\n </Text>\n </View>\n ))}\n {t.note ? <Text style={[styles.note, { color: palette.textFaint }]}>{t.note}</Text> : null}\n </Pressable>\n ))}\n </ScrollView>\n </View>\n </Modal>\n );\n}\n\n// ============================================================================\n// TEAMSPACES\n// ============================================================================\n\nexport function TeamspacesSection({\n groups,\n palette,\n isDark,\n favoriteIds,\n onOpenPage,\n onActions,\n onAddPage,\n onAddTeamspace,\n onRemoveTeamspace,\n}: {\n groups: Array<{ teamspace: TeamspaceDef; implicit: boolean; pages: NotionBlock[] }>;\n palette: Palette;\n isDark: boolean;\n favoriteIds: readonly string[];\n onOpenPage: (id: string) => void;\n onActions: (page: NotionBlock) => void;\n onAddPage: (teamspace: string) => void;\n onAddTeamspace: () => void;\n onRemoveTeamspace: (t: TeamspaceDef) => void;\n}) {\n return (\n <>\n <SectionHeader label=\"Teamspaces\" palette={palette} action={{ label: 'Add', onPress: onAddTeamspace }} />\n {groups.length ? (\n groups.map((g) => (\n <View key={g.teamspace.id} style={styles.teamspace}>\n <Pressable\n accessibilityRole=\"button\"\n onLongPress={g.implicit ? undefined : () => onRemoveTeamspace(g.teamspace)}\n style={styles.teamspaceHead}\n >\n <View\n style={[styles.smallTile, { backgroundColor: tile(g.teamspace.color, 'soft', isDark) }]}\n >\n <Text style={[styles.smallTileText, { color: palette.text }]}>\n {g.teamspace.icon || g.teamspace.name.charAt(0).toUpperCase()}\n </Text>\n </View>\n <Text numberOfLines={1} style={[styles.teamspaceName, { color: palette.text }]}>\n {g.teamspace.name}\n </Text>\n <Pressable\n accessibilityRole=\"button\"\n accessibilityLabel={`Add a page to ${g.teamspace.name}`}\n onPress={() => onAddPage(g.teamspace.name)}\n hitSlop={8}\n >\n <Ionicons name=\"add-circle-outline\" size={20} color={palette.primary} />\n </Pressable>\n </Pressable>\n {g.pages.length ? (\n <PageTree\n pages={g.pages}\n palette={palette}\n favoriteIds={favoriteIds}\n onOpenPage={onOpenPage}\n onActions={onActions}\n />\n ) : (\n <Text style={[styles.emptyTeam, { color: palette.textFaint }]}>No pages yet</Text>\n )}\n </View>\n ))\n ) : (\n <Pressable\n accessibilityRole=\"button\"\n onPress={onAddTeamspace}\n style={[styles.addTeam, { backgroundColor: palette.card }, ui.cardShadow]}\n >\n <Ionicons name=\"add\" size={18} color={palette.primary} />\n <Text style={[styles.rowTitle, { color: palette.primary }]}>Add teamspace</Text>\n </Pressable>\n )}\n </>\n );\n}\n\nexport function AddTeamspaceSheet({\n visible,\n palette,\n isDark,\n onAdd,\n onClose,\n}: {\n visible: boolean;\n palette: Palette;\n isDark: boolean;\n onAdd: (name: string, color: string) => Promise<unknown>;\n onClose: () => void;\n}) {\n const [name, setName] = useState('');\n const [color, setColor] = useState<string>('blue');\n const [busy, setBusy] = useState(false);\n const [error, setError] = useState<string | null>(null);\n useEffect(() => {\n if (visible) {\n setName('');\n setColor('blue');\n setError(null);\n }\n }, [visible]);\n const save = async () => {\n if (!name.trim() || busy) return;\n setBusy(true);\n setError(null);\n try {\n await onAdd(name.trim(), color);\n onClose();\n } catch (err) {\n setError(err instanceof Error ? err.message : \"Couldn't add the teamspace\");\n } finally {\n setBusy(false);\n }\n };\n return (\n <Modal visible={visible} transparent animationType=\"fade\" onRequestClose={onClose}>\n <KeyboardAvoidingView behavior={Platform.OS === 'ios' ? 'padding' : undefined} style={ui.flex}>\n <Pressable style={[styles.backdrop, { backgroundColor: palette.backdrop }]} onPress={onClose}>\n <Pressable style={[styles.sheet, { backgroundColor: palette.card }]}>\n <View style={[styles.grabber, { backgroundColor: palette.hairline }]} />\n <Text style={[styles.sheetTitle, { color: palette.text }]}>Add teamspace</Text>\n <TextInput\n value={name}\n onChangeText={setName}\n placeholder=\"Teamspace name\"\n placeholderTextColor={palette.textFaint}\n autoFocus\n returnKeyType=\"done\"\n onSubmitEditing={save}\n style={[styles.input, { color: palette.text, backgroundColor: palette.fill }]}\n />\n <View style={styles.colors}>\n {TILE_COLOR_NAMES.map((c) => (\n <Pressable\n key={c}\n accessibilityRole=\"button\"\n accessibilityLabel={c}\n accessibilityState={{ selected: color === c }}\n onPress={() => setColor(c)}\n style={[\n styles.colorDot,\n {\n backgroundColor: tile(c, 'solid', isDark),\n borderColor: color === c ? palette.text : 'transparent',\n },\n ]}\n >\n {color === c ? <Ionicons name=\"checkmark\" size={16} color=\"#fff\" /> : null}\n </Pressable>\n ))}\n </View>\n {error ? <Text style={[styles.error, { color: palette.danger }]}>{error}</Text> : null}\n <Pressable\n accessibilityRole=\"button\"\n onPress={save}\n disabled={!name.trim() || busy}\n style={[\n ui.primaryButton,\n styles.block,\n { backgroundColor: palette.primary },\n (!name.trim() || busy) && styles.disabled,\n ]}\n >\n {busy ? (\n <ActivityIndicator size=\"small\" color={palette.onPrimary} />\n ) : (\n <Text style={[ui.primaryButtonLabel, { color: palette.onPrimary }]}>Add</Text>\n )}\n </Pressable>\n </Pressable>\n </Pressable>\n </KeyboardAvoidingView>\n </Modal>\n );\n}\n\nconst styles = StyleSheet.create({\n recentRow: { gap: 8, paddingBottom: 4, paddingRight: 4 },\n recentCard: {\n width: 168,\n flexDirection: 'row',\n alignItems: 'center',\n gap: 10,\n paddingHorizontal: 10,\n paddingVertical: 10,\n borderRadius: 14,\n },\n recentIcon: { width: 34, height: 34, borderRadius: 9, alignItems: 'center', justifyContent: 'center' },\n recentEmoji: { fontSize: 17 },\n recentText: { flex: 1 },\n recentTitle: { fontSize: 14, fontWeight: '600' },\n recentMeta: { fontSize: 12, marginTop: 2 },\n row: { flexDirection: 'row', alignItems: 'center', paddingLeft: 14 },\n rowBody: {\n flex: 1,\n flexDirection: 'row',\n alignItems: 'center',\n gap: 8,\n marginLeft: 12,\n paddingRight: 14,\n minHeight: 56,\n },\n rowTitle: { fontSize: 16, fontWeight: '600' },\n rowMeta: { fontSize: 13, marginTop: 2 },\n tile: { width: 34, height: 34, borderRadius: 10, alignItems: 'center', justifyContent: 'center' },\n tileEmoji: { fontSize: 17 },\n dot: { width: 8, height: 8, borderRadius: 4 },\n sheetContent: { padding: 16, paddingBottom: 48, gap: 12 },\n intro: { fontSize: 14, lineHeight: 20 },\n templateCard: { padding: 14, borderRadius: 16, gap: 6 },\n templateHead: { flexDirection: 'row', alignItems: 'center', gap: 10 },\n swatch: { width: 16, height: 16, borderRadius: 4 },\n templateName: { flex: 1, fontSize: 16, fontWeight: '700' },\n templateDesc: { fontSize: 14, lineHeight: 19 },\n trigger: {\n flexDirection: 'row',\n alignItems: 'center',\n gap: 4,\n alignSelf: 'flex-start',\n paddingHorizontal: 8,\n paddingVertical: 3,\n borderRadius: 6,\n },\n triggerText: { fontSize: 12 },\n note: { fontSize: 12, fontStyle: 'italic' },\n teamspace: { marginBottom: 12 },\n teamspaceHead: { flexDirection: 'row', alignItems: 'center', gap: 10, paddingVertical: 8 },\n smallTile: { width: 26, height: 26, borderRadius: 7, alignItems: 'center', justifyContent: 'center' },\n smallTileText: { fontSize: 13, fontWeight: '700' },\n teamspaceName: { flex: 1, fontSize: 15, fontWeight: '700' },\n emptyTeam: { fontSize: 13, marginLeft: 36, marginBottom: 4 },\n addTeam: { flexDirection: 'row', alignItems: 'center', gap: 8, padding: 14, borderRadius: 16 },\n backdrop: { flex: 1, justifyContent: 'flex-end' },\n sheet: {\n borderTopLeftRadius: 24,\n borderTopRightRadius: 24,\n paddingHorizontal: 16,\n paddingTop: 8,\n paddingBottom: 32,\n },\n grabber: { alignSelf: 'center', width: 36, height: 5, borderRadius: 3, marginBottom: 12 },\n sheetTitle: { fontSize: 20, fontWeight: '700', marginBottom: 12 },\n input: { fontSize: 16, height: 48, paddingHorizontal: 14, borderRadius: 12 },\n colors: { flexDirection: 'row', flexWrap: 'wrap', gap: 10, marginTop: 14 },\n colorDot: {\n width: 32,\n height: 32,\n borderRadius: 9,\n borderWidth: 2,\n alignItems: 'center',\n justifyContent: 'center',\n },\n error: { fontSize: 13, marginTop: 8 },\n block: { alignSelf: 'stretch' },\n disabled: { opacity: 0.45 },\n});\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NotionSidebarSections.js","sources":["../../../src/features/notion/NotionSidebarSections.tsx"],"sourcesContent":["/**\n * The web sidebar's middle sections on the Notion home:\n * - Recently visited (cards, web Home \"Recently visited\");\n * - Agents (colour tiles + last-run dot, \"New agent\" with the web's four templates);\n * - Teamspaces (catalog groups with their pages, \"Add teamspace\" with name + colour).\n * Data and rules come from the ported web utils (notionPageKinds / notionNotesAgent).\n */\nimport React, { useEffect, useState } from 'react';\nimport {\n ActivityIndicator,\n Alert,\n KeyboardAvoidingView,\n Modal,\n Platform,\n Pressable,\n ScrollView,\n StyleSheet,\n Text,\n TextInput,\n View,\n} from 'react-native';\nimport { Ionicons } from '@expo/vector-icons';\nimport { AGENT_TEMPLATES, triggerLabel, type AgentTemplateId } from './notionNotesAgent';\nimport { TILE_COLOR_NAMES, type AgentSummaryRow, type TeamspaceDef } from './notionPageKinds';\nimport { textColorOf, washColorOf } from './notionRichText';\nimport type { NotionBlock } from './notionBlocks';\nimport type { NotionPalette } from './notionTheme';\nimport type { RecentPage } from './notionRecents';\nimport { PageTree } from './NotionPageTree';\nimport { SectionHeader, ui } from './notionUi';\n\ntype Palette = NotionPalette;\n\nexport const RUN_DOT: Record<string, string> = {\n queued: '#a8a29e',\n running: '#0ea5e9',\n succeeded: '#10b981',\n failed: '#f43f5e',\n needs_input: '#f59e0b',\n};\n\n/** Tile colour of a palette name (agents: solid, teamspaces: soft), or a CSS colour as-is. */\nexport function tile(color: string | undefined, variant: 'solid' | 'soft', isDark: boolean): string {\n if (color && /^(#|rgb|hsl)/i.test(color)) return color;\n const name = color && (TILE_COLOR_NAMES as readonly string[]).includes(color) ? color : 'gray';\n return (variant === 'solid' ? textColorOf(name, isDark) : washColorOf(name, isDark)) ?? '#a8a29e';\n}\n\n// ============================================================================\n// RECENTLY VISITED\n// ============================================================================\n\nexport function RecentStrip({\n recents,\n palette,\n onOpen,\n}: {\n recents: RecentPage[];\n palette: Palette;\n onOpen: (id: string) => void;\n}) {\n if (!recents.length) return null;\n const ago = (at: number) => {\n const mins = Math.round((Date.now() - at) / 60000);\n if (mins < 60) return mins < 1 ? 'Just now' : `${mins}m ago`;\n const h = Math.round(mins / 60);\n return h < 24 ? `${h}h ago` : `${Math.round(h / 24)}d ago`;\n };\n return (\n <>\n <SectionHeader label=\"Recently visited\" palette={palette} />\n <ScrollView horizontal showsHorizontalScrollIndicator={false} contentContainerStyle={styles.recentRow}>\n {recents.map((r) => (\n <Pressable\n key={r.id}\n accessibilityRole=\"button\"\n accessibilityLabel={`${r.title || 'Untitled'}, ${ago(r.at)}`}\n onPress={() => onOpen(r.id)}\n style={({ pressed }) => [\n styles.recentCard,\n { backgroundColor: pressed ? palette.pressed : palette.card },\n ui.cardShadow,\n ]}\n >\n <View style={[styles.recentIcon, { backgroundColor: palette.fill }]}>\n <Text style={styles.recentEmoji}>{r.icon || '๐Ÿ“„'}</Text>\n </View>\n <View style={styles.recentText}>\n <Text numberOfLines={1} style={[styles.recentTitle, { color: palette.text }]}>\n {r.title || 'Untitled'}\n </Text>\n <Text numberOfLines={1} style={[styles.recentMeta, { color: palette.textMuted }]}>\n {ago(r.at)}\n </Text>\n </View>\n </Pressable>\n ))}\n </ScrollView>\n </>\n );\n}\n\n// ============================================================================\n// AGENTS\n// ============================================================================\n\nexport function AgentsSection({\n agents,\n palette,\n isDark,\n onOpen,\n onNew,\n}: {\n agents: AgentSummaryRow[];\n palette: Palette;\n isDark: boolean;\n onOpen: (id: string) => void;\n onNew: () => void;\n}) {\n return (\n <>\n <SectionHeader label=\"Agents\" count={agents.length || undefined} palette={palette} />\n <View style={[ui.group, { backgroundColor: palette.card }, ui.cardShadow]}>\n {agents.map((a) => (\n <Pressable\n key={a.id}\n accessibilityRole=\"button\"\n onPress={() => onOpen(a.id)}\n style={({ pressed }) => [styles.row, pressed && { backgroundColor: palette.pressed }]}\n >\n <View style={[styles.tile, { backgroundColor: tile(a.color, 'solid', isDark) }]}>\n <Text style={styles.tileEmoji}>{a.icon || '๐Ÿค–'}</Text>\n </View>\n <View style={[styles.rowBody, ui.hairline, { borderBottomColor: palette.hairline }]}>\n <View style={ui.flex}>\n <Text numberOfLines={1} style={[styles.rowTitle, { color: palette.text }]}>\n {a.title}\n </Text>\n <Text numberOfLines={1} style={[styles.rowMeta, { color: palette.textMuted }]}>\n {a.enabled ? 'On' : 'Off'}\n {a.lastRun?.summary ? ` ยท ${a.lastRun.summary}` : ''}\n </Text>\n </View>\n {a.lastRun ? (\n <View\n style={[\n styles.dot,\n { backgroundColor: RUN_DOT[a.lastRun.status] ?? palette.textFaint },\n ]}\n />\n ) : null}\n <Ionicons name=\"chevron-forward\" size={16} color={palette.textFaint} />\n </View>\n </Pressable>\n ))}\n <Pressable\n accessibilityRole=\"button\"\n onPress={onNew}\n style={({ pressed }) => [styles.row, pressed && { backgroundColor: palette.pressed }]}\n >\n <View style={[styles.tile, { backgroundColor: palette.fill }]}>\n <Ionicons name=\"add\" size={18} color={palette.primary} />\n </View>\n <View style={styles.rowBody}>\n <Text style={[styles.rowTitle, { color: palette.primary }]}>New agent</Text>\n </View>\n </Pressable>\n </View>\n </>\n );\n}\n\nexport function AgentTemplateSheet({\n visible,\n palette,\n isDark,\n onPick,\n onClose,\n}: {\n visible: boolean;\n palette: Palette;\n isDark: boolean;\n onPick: (id: AgentTemplateId) => Promise<unknown>;\n onClose: () => void;\n}) {\n const [busy, setBusy] = useState<string | null>(null);\n const pick = async (id: AgentTemplateId) => {\n setBusy(id);\n try {\n await onPick(id);\n onClose();\n } catch (err) {\n Alert.alert(\"Couldn't create the agent\", err instanceof Error ? err.message : undefined);\n } finally {\n setBusy(null);\n }\n };\n return (\n <Modal visible={visible} animationType=\"slide\" presentationStyle=\"pageSheet\" onRequestClose={onClose}>\n <View style={[ui.flex, { backgroundColor: palette.bg }]}>\n <View style={[ui.sheetHeader, { borderBottomColor: palette.hairline }]}>\n <View style={[ui.sheetHeaderSide, ui.sheetHeaderLeft]} />\n <Text style={[ui.sheetHeaderTitle, { color: palette.text }]}>New agent</Text>\n <Pressable accessibilityRole=\"button\" onPress={onClose} hitSlop={8} style={ui.sheetHeaderSide}>\n <Text style={[ui.sheetHeaderDone, { color: palette.primary }]}>Cancel</Text>\n </Pressable>\n </View>\n <ScrollView contentContainerStyle={styles.sheetContent}>\n <Text style={[styles.intro, { color: palette.textMuted }]}>\n Agents do the busywork. Start from a template โ€” you can change everything later.\n </Text>\n {AGENT_TEMPLATES.map((t) => (\n <Pressable\n key={t.id}\n accessibilityRole=\"button\"\n onPress={() => pick(t.id)}\n disabled={Boolean(busy)}\n style={({ pressed }) => [\n styles.templateCard,\n { backgroundColor: pressed ? palette.pressed : palette.card },\n ui.cardShadow,\n ]}\n >\n <View style={styles.templateHead}>\n <View style={[styles.swatch, { backgroundColor: tile(t.color, 'solid', isDark) }]} />\n <Text style={[styles.templateName, { color: palette.text }]}>{t.name}</Text>\n {busy === t.id ? <ActivityIndicator size=\"small\" color={palette.textMuted} /> : null}\n </View>\n <Text style={[styles.templateDesc, { color: palette.textMuted }]}>{t.description}</Text>\n {t.triggers\n .filter((tr) => tr.type !== 'manual')\n .map((tr, i) => (\n // eslint-disable-next-line react/no-array-index-key\n <View key={i} style={[styles.trigger, { backgroundColor: palette.fill }]}>\n <Ionicons name=\"flash-outline\" size={12} color={palette.textMuted} />\n <Text style={[styles.triggerText, { color: palette.textMuted }]}>\n {triggerLabel(tr)}\n </Text>\n </View>\n ))}\n {t.note ? <Text style={[styles.note, { color: palette.textFaint }]}>{t.note}</Text> : null}\n </Pressable>\n ))}\n </ScrollView>\n </View>\n </Modal>\n );\n}\n\n// ============================================================================\n// TEAMSPACES\n// ============================================================================\n\nexport function TeamspacesSection({\n groups,\n palette,\n isDark,\n favoriteIds,\n onOpenPage,\n onActions,\n onAddPage,\n onAddTeamspace,\n onRemoveTeamspace,\n}: {\n groups: Array<{ teamspace: TeamspaceDef; implicit: boolean; pages: NotionBlock[] }>;\n palette: Palette;\n isDark: boolean;\n favoriteIds: readonly string[];\n onOpenPage: (id: string) => void;\n onActions: (page: NotionBlock) => void;\n onAddPage: (teamspace: string) => void;\n onAddTeamspace: () => void;\n onRemoveTeamspace: (t: TeamspaceDef) => void;\n}) {\n return (\n <>\n <SectionHeader label=\"Teamspaces\" palette={palette} action={{ label: 'Add', onPress: onAddTeamspace }} />\n {groups.length ? (\n groups.map((g) => (\n <View key={g.teamspace.id} style={styles.teamspace}>\n <Pressable\n accessibilityRole=\"button\"\n onLongPress={g.implicit ? undefined : () => onRemoveTeamspace(g.teamspace)}\n style={styles.teamspaceHead}\n >\n <View\n style={[styles.smallTile, { backgroundColor: tile(g.teamspace.color, 'soft', isDark) }]}\n >\n <Text style={[styles.smallTileText, { color: palette.text }]}>\n {g.teamspace.icon || g.teamspace.name.charAt(0).toUpperCase()}\n </Text>\n </View>\n <Text numberOfLines={1} style={[styles.teamspaceName, { color: palette.text }]}>\n {g.teamspace.name}\n </Text>\n <Pressable\n accessibilityRole=\"button\"\n accessibilityLabel={`Add a page to ${g.teamspace.name}`}\n onPress={() => onAddPage(g.teamspace.name)}\n hitSlop={8}\n >\n <Ionicons name=\"add-circle-outline\" size={20} color={palette.primary} />\n </Pressable>\n </Pressable>\n {g.pages.length ? (\n <PageTree\n pages={g.pages}\n palette={palette}\n favoriteIds={favoriteIds}\n onOpenPage={onOpenPage}\n onActions={onActions}\n />\n ) : (\n <Text style={[styles.emptyTeam, { color: palette.textFaint }]}>No pages yet</Text>\n )}\n </View>\n ))\n ) : (\n <Pressable\n accessibilityRole=\"button\"\n onPress={onAddTeamspace}\n style={[styles.addTeam, { backgroundColor: palette.card }, ui.cardShadow]}\n >\n <Ionicons name=\"add\" size={18} color={palette.primary} />\n <Text style={[styles.rowTitle, { color: palette.primary }]}>Add teamspace</Text>\n </Pressable>\n )}\n </>\n );\n}\n\nexport function AddTeamspaceSheet({\n visible,\n palette,\n isDark,\n onAdd,\n onClose,\n}: {\n visible: boolean;\n palette: Palette;\n isDark: boolean;\n onAdd: (name: string, color: string) => Promise<unknown>;\n onClose: () => void;\n}) {\n const [name, setName] = useState('');\n const [color, setColor] = useState<string>('blue');\n const [busy, setBusy] = useState(false);\n const [error, setError] = useState<string | null>(null);\n useEffect(() => {\n if (visible) {\n setName('');\n setColor('blue');\n setError(null);\n }\n }, [visible]);\n const save = async () => {\n if (!name.trim() || busy) return;\n setBusy(true);\n setError(null);\n try {\n await onAdd(name.trim(), color);\n onClose();\n } catch (err) {\n setError(err instanceof Error ? err.message : \"Couldn't add the teamspace\");\n } finally {\n setBusy(false);\n }\n };\n return (\n <Modal visible={visible} transparent animationType=\"fade\" onRequestClose={onClose}>\n <KeyboardAvoidingView behavior={Platform.OS === 'ios' ? 'padding' : undefined} style={ui.flex}>\n <Pressable style={[styles.backdrop, { backgroundColor: palette.backdrop }]} onPress={onClose}>\n <Pressable style={[styles.sheet, { backgroundColor: palette.card }]}>\n <View style={[styles.grabber, { backgroundColor: palette.hairline }]} />\n <Text style={[styles.sheetTitle, { color: palette.text }]}>Add teamspace</Text>\n <TextInput\n value={name}\n onChangeText={setName}\n placeholder=\"Teamspace name\"\n placeholderTextColor={palette.textFaint}\n autoFocus\n returnKeyType=\"done\"\n onSubmitEditing={save}\n style={[styles.input, { color: palette.text, backgroundColor: palette.fill }]}\n />\n <View style={styles.colors}>\n {TILE_COLOR_NAMES.map((c) => (\n <Pressable\n key={c}\n accessibilityRole=\"button\"\n accessibilityLabel={c}\n accessibilityState={{ selected: color === c }}\n onPress={() => setColor(c)}\n style={[\n styles.colorDot,\n {\n backgroundColor: tile(c, 'solid', isDark),\n borderColor: color === c ? palette.text : 'transparent',\n },\n ]}\n >\n {color === c ? <Ionicons name=\"checkmark\" size={16} color=\"#fff\" /> : null}\n </Pressable>\n ))}\n </View>\n {error ? <Text style={[styles.error, { color: palette.danger }]}>{error}</Text> : null}\n <Pressable\n accessibilityRole=\"button\"\n onPress={save}\n disabled={!name.trim() || busy}\n style={[\n ui.primaryButton,\n styles.block,\n { backgroundColor: palette.primary },\n (!name.trim() || busy) && styles.disabled,\n ]}\n >\n {busy ? (\n <ActivityIndicator size=\"small\" color={palette.onPrimary} />\n ) : (\n <Text style={[ui.primaryButtonLabel, { color: palette.onPrimary }]}>Add</Text>\n )}\n </Pressable>\n </Pressable>\n </Pressable>\n </KeyboardAvoidingView>\n </Modal>\n );\n}\n\nconst styles = StyleSheet.create({\n recentRow: { gap: 8, paddingBottom: 4, paddingRight: 4 },\n recentCard: {\n width: 168,\n flexDirection: 'row',\n alignItems: 'center',\n gap: 10,\n paddingHorizontal: 10,\n paddingVertical: 10,\n borderRadius: 14,\n },\n recentIcon: { width: 34, height: 34, borderRadius: 9, alignItems: 'center', justifyContent: 'center' },\n recentEmoji: { fontSize: 17 },\n recentText: { flex: 1 },\n recentTitle: { fontSize: 14, fontWeight: '600' },\n recentMeta: { fontSize: 12, marginTop: 2 },\n row: { flexDirection: 'row', alignItems: 'center', paddingLeft: 14 },\n rowBody: {\n flex: 1,\n flexDirection: 'row',\n alignItems: 'center',\n gap: 8,\n marginLeft: 12,\n paddingRight: 14,\n minHeight: 56,\n },\n rowTitle: { fontSize: 16, fontWeight: '600' },\n rowMeta: { fontSize: 13, marginTop: 2 },\n tile: { width: 34, height: 34, borderRadius: 10, alignItems: 'center', justifyContent: 'center' },\n tileEmoji: { fontSize: 17 },\n dot: { width: 8, height: 8, borderRadius: 4 },\n sheetContent: { padding: 16, paddingBottom: 48, gap: 12 },\n intro: { fontSize: 14, lineHeight: 20 },\n templateCard: { padding: 14, borderRadius: 16, gap: 6 },\n templateHead: { flexDirection: 'row', alignItems: 'center', gap: 10 },\n swatch: { width: 16, height: 16, borderRadius: 4 },\n templateName: { flex: 1, fontSize: 16, fontWeight: '700' },\n templateDesc: { fontSize: 14, lineHeight: 19 },\n trigger: {\n flexDirection: 'row',\n alignItems: 'center',\n gap: 4,\n alignSelf: 'flex-start',\n paddingHorizontal: 8,\n paddingVertical: 3,\n borderRadius: 6,\n },\n triggerText: { fontSize: 12 },\n note: { fontSize: 12, fontStyle: 'italic' },\n teamspace: { marginBottom: 12 },\n teamspaceHead: { flexDirection: 'row', alignItems: 'center', gap: 10, paddingVertical: 8 },\n smallTile: { width: 26, height: 26, borderRadius: 7, alignItems: 'center', justifyContent: 'center' },\n smallTileText: { fontSize: 13, fontWeight: '700' },\n teamspaceName: { flex: 1, fontSize: 15, fontWeight: '700' },\n emptyTeam: { fontSize: 13, marginLeft: 36, marginBottom: 4 },\n addTeam: { flexDirection: 'row', alignItems: 'center', gap: 8, padding: 14, borderRadius: 16 },\n backdrop: { flex: 1, justifyContent: 'flex-end' },\n sheet: {\n borderTopLeftRadius: 24,\n borderTopRightRadius: 24,\n paddingHorizontal: 16,\n paddingTop: 8,\n paddingBottom: 32,\n },\n grabber: { alignSelf: 'center', width: 36, height: 5, borderRadius: 3, marginBottom: 12 },\n sheetTitle: { fontSize: 20, fontWeight: '700', marginBottom: 12 },\n input: { fontSize: 16, height: 48, paddingHorizontal: 14, borderRadius: 12 },\n colors: { flexDirection: 'row', flexWrap: 'wrap', gap: 10, marginTop: 14 },\n colorDot: {\n width: 32,\n height: 32,\n borderRadius: 9,\n borderWidth: 2,\n alignItems: 'center',\n justifyContent: 'center',\n },\n error: { fontSize: 13, marginTop: 8 },\n block: { alignSelf: 'stretch' },\n disabled: { opacity: 0.45 },\n});\n"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import {jsxs,jsx,Fragment}from'react/jsx-runtime';import {useMemo,useCallback,useState,useRef,useEffect}from'react';import {Alert,View,StyleSheet,Pressable,Text,ActivityIndicator,ScrollView,RefreshControl,Modal,TextInput,FlatList,KeyboardAvoidingView,Platform}from'react-native';import {Ionicons}from'@expo/vector-icons';import {useNavigation,useFocusEffect,CommonActions}from'@react-navigation/native';import {useQuery,useApolloClient}from'@apollo/client/index.js';import {NATIVE_NOTION_INBOX_UNREAD,NATIVE_NOTION_SEARCH_HITS}from'./notionDocuments.js';import {SEARCH_FILTERS,hitBreadcrumb}from'./notionPageActions.js';import {nextMeetings,greeting,isPageBlock,pageTitle,blockIcon}from'./notionBlocks.js';import {notionPalette}from'./notionTheme.js';import {WorkspaceBadge,ui,EmptyState,SectionHeader,Group,ListRow,SheetHeader}from'./notionUi.js';import {MeetingRowView,InboxSheet,MeetingsSheet,AllPagesSheet,TemplatesSheet}from'./NotionSheets.js';import {TrashSheet}from'./NotionTrashSheet.js';import {FavoritesList,PageTree}from'./NotionPageTree.js';import {WorkspaceAdminSheet}from'./NotionWorkspaceAdmin.js';import {usePageActions}from'./usePageActions.js';import {RecentStrip,AgentsSection,TeamspacesSection,AgentTemplateSheet,AddTeamspaceSheet}from'./NotionSidebarSections.js';import {readRecents}from'./notionRecents.js';import {ConnectionsSheet}from'./NotionConnectionsSheet.js';import {useNotionWorkspace}from'./useNotionWorkspace.js';import {afterNativeModalClose}from'../../utils/drawerNavigation.js';var __defProp = Object.defineProperty;
1
+ import {jsxs,jsx,Fragment}from'react/jsx-runtime';import {useMemo,useCallback,useState,useRef,useEffect}from'react';import {Alert,View,StyleSheet,Pressable,Text,ActivityIndicator,ScrollView,RefreshControl,Modal,TextInput,FlatList,KeyboardAvoidingView,Platform}from'react-native';import {Ionicons}from'@expo/vector-icons';import {useNavigation,useFocusEffect,CommonActions}from'@react-navigation/native';import {useQuery,useApolloClient}from'@apollo/client/index.js';import {NATIVE_NOTION_INBOX_UNREAD,NATIVE_NOTION_SEARCH_HITS}from'./notionDocuments.js';import {SEARCH_FILTERS,hitBreadcrumb}from'./notionPageActions.js';import {nextMeetings,greeting,isPageBlock,pageTitle,blockIcon}from'./notionBlocks.js';import {notionPalette}from'./notionTheme.js';import {WorkspaceBadge,ui,EmptyState,SectionHeader,Group,ListRow,SheetHeader}from'./notionUi.js';import {MeetingRowView,InboxSheet,MeetingsSheet,AllPagesSheet,TemplatesSheet}from'./NotionSheets.js';import {TrashSheet}from'./NotionTrashSheet.js';import {FavoritesList,PageTree}from'./NotionPageTree.js';import {WorkspaceAdminSheet}from'./NotionWorkspaceAdmin.js';import {usePageActions}from'./usePageActions.js';import {RecentStrip,AgentsSection,TeamspacesSection,AgentTemplateSheet,AddTeamspaceSheet}from'./NotionSidebarSections.js';import {readRecents}from'./notionRecents.js';import {useNotionAskAi}from'./NotionAskAiSheet.js';import {ConnectionsSheet}from'./NotionConnectionsSheet.js';import {useNotionWorkspace}from'./useNotionWorkspace.js';import {afterNativeModalClose}from'../../utils/drawerNavigation.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;
@@ -150,14 +150,18 @@ function NotionWorkspaceView({
150
150
  onPress: () => notion.deleteWorkspace(ws.id).catch((err) => Alert.alert("Couldn't move the workspace to trash", err instanceof Error ? err.message : void 0))
151
151
  }]);
152
152
  };
153
- const askAi = useCallback(() => {
154
- navigation.dispatch(CommonActions.navigate({
155
- name: "MainStack.Chat",
156
- params: orgName ? {
157
- orgName
158
- } : {}
159
- }));
160
- }, [navigation, orgName]);
153
+ const askAiSheet = useNotionAskAi({
154
+ orgName,
155
+ workspace: notion.workspace ? {
156
+ id: notion.workspace.id,
157
+ name: notion.workspace.name
158
+ } : null,
159
+ palette
160
+ });
161
+ const {
162
+ open: openAskAi
163
+ } = askAiSheet;
164
+ const askAi = useCallback(() => openAskAi(), [openAskAi]);
161
165
  const requireWorkspace = useCallback(() => {
162
166
  if (hasWorkspace) return true;
163
167
  setCreateOpen(true);
@@ -420,6 +424,7 @@ function NotionWorkspaceView({
420
424
  setMenuOpen(false);
421
425
  afterNativeModalClose(confirmDeleteWorkspace);
422
426
  } }),
427
+ askAiSheet.element,
423
428
  /* @__PURE__ */ jsx(ConnectionsSheet, { visible: connectionsOpen, palette, orgName, onClose: () => setConnectionsOpen(false) }),
424
429
  /* @__PURE__ */ jsx(AgentTemplateSheet, { visible: agentPicker, palette, isDark, onPick: async (template) => {
425
430
  const created = await notion.createAgent(template);