@adminide-stack/yantra-mobile 12.0.142 → 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.
- package/lib/features/attachments/displayUserMessageText.js +2 -2
- package/lib/features/attachments/displayUserMessageText.js.map +1 -1
- package/lib/features/notion/NotionAgentPanel.js +987 -0
- package/lib/features/notion/NotionAgentPanel.js.map +1 -0
- package/lib/features/notion/NotionAskAiSheet.js +362 -0
- package/lib/features/notion/NotionAskAiSheet.js.map +1 -0
- package/lib/features/notion/NotionBlockView.js +4 -3
- package/lib/features/notion/NotionBlockView.js.map +1 -1
- package/lib/features/notion/NotionConnectionsSheet.js +47 -13
- package/lib/features/notion/NotionConnectionsSheet.js.map +1 -1
- package/lib/features/notion/NotionPageView.js +68 -8
- package/lib/features/notion/NotionPageView.js.map +1 -1
- package/lib/features/notion/NotionSidebarSections.js +1 -1
- package/lib/features/notion/NotionSidebarSections.js.map +1 -1
- package/lib/features/notion/NotionWorkspaceView.js +14 -9
- package/lib/features/notion/NotionWorkspaceView.js.map +1 -1
- package/lib/features/notion/database/DatabaseCells.js +3 -1
- package/lib/features/notion/database/DatabaseCells.js.map +1 -1
- package/lib/features/notion/database/DatabaseDateLayouts.js +1 -1
- package/lib/features/notion/database/DatabaseDateLayouts.js.map +1 -1
- package/lib/features/notion/database/NotionDatabaseView.js +1 -1
- package/lib/features/notion/database/NotionDatabaseView.js.map +1 -1
- package/lib/features/notion/notionAgentRunStatus.js +2 -2
- package/lib/features/notion/notionAgentRunStatus.js.map +1 -1
- package/lib/features/notion/notionAgentRuns.js +57 -0
- package/lib/features/notion/notionAgentRuns.js.map +1 -0
- package/lib/features/notion/notionAiContext.js +91 -0
- package/lib/features/notion/notionAiContext.js.map +1 -0
- package/lib/features/notion/notionConnections.js +42 -4
- package/lib/features/notion/notionConnections.js.map +1 -1
- package/lib/features/notion/notionDocuments.js +61 -1
- package/lib/features/notion/notionDocuments.js.map +1 -1
- package/lib/features/notion/notionNotesAgent.js +173 -3
- package/lib/features/notion/notionNotesAgent.js.map +1 -1
- package/lib/features/notion/notionPageKinds.js +1 -1
- package/lib/features/webbuilder/WebBuilderExperience.js +229 -97
- package/lib/features/webbuilder/WebBuilderExperience.js.map +1 -1
- package/lib/features/webbuilder/buildFragments.js +33 -7
- package/lib/features/webbuilder/buildFragments.js.map +1 -1
- package/lib/features/webbuilder/buildJob.js +2 -2
- package/lib/features/webbuilder/buildJob.js.map +1 -1
- package/lib/features/webbuilder/codeFiles.js +18 -1
- package/lib/features/webbuilder/codeFiles.js.map +1 -1
- package/lib/features/webbuilder/components/BottomTabs.js.map +1 -1
- package/lib/features/webbuilder/components/CodeView.js +134 -56
- package/lib/features/webbuilder/components/CodeView.js.map +1 -1
- package/lib/features/webbuilder/components/Composer.js +2 -2
- package/lib/features/webbuilder/components/Composer.js.map +1 -1
- package/lib/features/webbuilder/components/PreviewFrame.js +19 -3
- package/lib/features/webbuilder/components/PreviewFrame.js.map +1 -1
- package/lib/features/webbuilder/components/PreviewScreen.js +310 -46
- package/lib/features/webbuilder/components/PreviewScreen.js.map +1 -1
- package/lib/features/webbuilder/components/ProjectChat.js +141 -12
- package/lib/features/webbuilder/components/ProjectChat.js.map +1 -1
- package/lib/features/webbuilder/components/ProjectSheets.js +792 -0
- package/lib/features/webbuilder/components/ProjectSheets.js.map +1 -0
- package/lib/features/webbuilder/components/ProjectsScreen.js +14 -2
- package/lib/features/webbuilder/components/ProjectsScreen.js.map +1 -1
- package/lib/features/webbuilder/components/PublishSheet.js +914 -58
- package/lib/features/webbuilder/components/PublishSheet.js.map +1 -1
- package/lib/features/webbuilder/components/TemplateCard.js +9 -6
- package/lib/features/webbuilder/components/TemplateCard.js.map +1 -1
- package/lib/features/webbuilder/components/TemplatesSheet.js +5 -17
- package/lib/features/webbuilder/components/TemplatesSheet.js.map +1 -1
- package/lib/features/webbuilder/connectorTemplates.js +171 -0
- package/lib/features/webbuilder/connectorTemplates.js.map +1 -0
- package/lib/features/webbuilder/fileTree.js +163 -0
- package/lib/features/webbuilder/fileTree.js.map +1 -0
- package/lib/features/webbuilder/followUps.js +67 -0
- package/lib/features/webbuilder/followUps.js.map +1 -0
- package/lib/features/webbuilder/previewProbe.js +49 -0
- package/lib/features/webbuilder/previewProbe.js.map +1 -0
- package/lib/features/webbuilder/previewRoutes.js +156 -0
- package/lib/features/webbuilder/previewRoutes.js.map +1 -0
- package/lib/features/webbuilder/projectTools.js +341 -0
- package/lib/features/webbuilder/projectTools.js.map +1 -0
- package/lib/features/webbuilder/publishTools.js +475 -0
- package/lib/features/webbuilder/publishTools.js.map +1 -0
- package/lib/features/webbuilder/sleepNotice.js +13 -0
- package/lib/features/webbuilder/sleepNotice.js.map +1 -0
- package/lib/features/webbuilder/stepLabels.js +37 -7
- package/lib/features/webbuilder/stepLabels.js.map +1 -1
- package/lib/features/webbuilder/studioCatalog.js +5 -1
- package/lib/features/webbuilder/studioCatalog.js.map +1 -1
- package/lib/features/webbuilder/templateCatalog.js +140 -0
- package/lib/features/webbuilder/templateCatalog.js.map +1 -0
- package/lib/features/webbuilder/webbuilderPrompts.js +31 -5
- package/lib/features/webbuilder/webbuilderPrompts.js.map +1 -1
- package/lib/features/webbuilder/workflow.js +8 -4
- package/lib/features/webbuilder/workflow.js.map +1 -1
- package/lib/screens/WebBuilderNative/codeWorkspaceApi.js +9 -6
- package/lib/screens/WebBuilderNative/codeWorkspaceApi.js.map +1 -1
- package/lib/screens/WebBuilderNative/index.js +1 -1
- package/lib/screens/WebBuilderNative/index.js.map +1 -1
- package/lib/screens/WebBuilderNative/keepAlive.js +53 -3
- package/lib/screens/WebBuilderNative/keepAlive.js.map +1 -1
- package/lib/screens/WebBuilderNative/unreachableRetry.js +23 -0
- package/lib/screens/WebBuilderNative/unreachableRetry.js.map +1 -0
- package/lib/screens/WebBuilderNative/useConnectorTemplates.js +37 -0
- package/lib/screens/WebBuilderNative/useConnectorTemplates.js.map +1 -0
- package/lib/screens/WebBuilderNative/useSandboxKeepAlive.js +6 -0
- package/lib/screens/WebBuilderNative/useSandboxKeepAlive.js.map +1 -1
- package/lib/screens/WebBuilderNative/useWebBuilderHost.js +302 -40
- package/lib/screens/WebBuilderNative/useWebBuilderHost.js.map +1 -1
- package/lib/screens/WebBuilderNative/useWebBuilderJobs.js +2 -2
- package/lib/screens/WebBuilderNative/useWebBuilderJobs.js.map +1 -1
- package/lib/screens/WebBuilderNative/versionUndo.js +1 -1
- package/lib/screens/WebBuilderNative/versionUndo.js.map +1 -1
- package/lib/screens/WebBuilderNative/webbuilderTransport.js +147 -77
- package/lib/screens/WebBuilderNative/webbuilderTransport.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NotionWorkspaceView.js","sources":["../../../src/features/notion/NotionWorkspaceView.tsx"],"sourcesContent":["/**\n * Native Notion workspace (browser `/notion`). The web sidebar maps to\n * phone-standard pieces:\n * - workspace menu (switch / create workspace) → bottom sheet\n * - Search + the ⌘K command palette → search mode with Quick actions\n * - Inbox / Meetings / All pages / Templates / Trash → page sheets (NotionSheets)\n * - Yantra AI → the app chat\n * - Home: greeting, quick actions, upcoming meetings, My pages\n * Pages open in the native page viewer (`MainStack.NotionPage`).\n */\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport {\n ActivityIndicator,\n Alert,\n FlatList,\n KeyboardAvoidingView,\n Modal,\n Platform,\n Pressable,\n RefreshControl,\n ScrollView,\n StyleSheet,\n Text,\n TextInput,\n View,\n} from 'react-native';\nimport { Ionicons } from '@expo/vector-icons';\nimport { CommonActions, useFocusEffect, useNavigation } from '@react-navigation/native';\nimport { useApolloClient, useQuery } from '@apollo/client';\nimport { NATIVE_NOTION_INBOX_UNREAD, NATIVE_NOTION_SEARCH_HITS } from './notionDocuments';\nimport { SEARCH_FILTERS, hitBreadcrumb } from './notionPageActions';\nimport {\n blockIcon,\n greeting,\n isPageBlock,\n nextMeetings,\n pageTitle,\n type NotionBlock,\n type NotionWorkspace,\n} from './notionBlocks';\nimport { notionPalette, type NotionPalette } from './notionTheme';\nimport { EmptyState, Group, ListRow, SectionHeader, SheetHeader, WorkspaceBadge, ui, type IconName } from './notionUi';\nimport { AllPagesSheet, InboxSheet, MeetingRowView, MeetingsSheet, TemplatesSheet } from './NotionSheets';\nimport { TrashSheet } from './NotionTrashSheet';\nimport { FavoritesList, PageTree } from './NotionPageTree';\nimport { WorkspaceAdminSheet } from './NotionWorkspaceAdmin';\nimport { usePageActions } from './usePageActions';\nimport {\n AddTeamspaceSheet,\n AgentTemplateSheet,\n AgentsSection,\n RecentStrip,\n TeamspacesSection,\n} from './NotionSidebarSections';\nimport { readRecents, type RecentPage } from './notionRecents';\nimport { ConnectionsSheet } from './NotionConnectionsSheet';\nimport { useNotionWorkspace } from './useNotionWorkspace';\nimport { afterNativeModalClose } from '../../utils/drawerNavigation';\n\ntype Palette = NotionPalette;\ntype SheetKind = 'inbox' | 'meetings' | 'all' | 'templates' | 'trash';\n\nconst SHEET_TITLES: Record<SheetKind, string> = {\n inbox: 'Inbox',\n meetings: 'Meetings',\n all: 'All pages',\n templates: 'Templates',\n trash: 'Trash',\n};\n\n/** Tinted icon chips (one hue each, like Notion's home). */\nconst TINTS = {\n ai: { light: '#f3e8ff', dark: 'rgba(168,85,247,0.2)', fg: '#9333ea' },\n page: { light: '#fff1e6', dark: 'rgba(251,146,60,0.2)', fg: '#ea580c' },\n templates: { light: '#dcfce7', dark: 'rgba(34,197,94,0.2)', fg: '#16a34a' },\n meeting: { light: '#e0f2fe', dark: 'rgba(56,189,248,0.2)', fg: '#0284c7' },\n inbox: { light: '#fee2e2', dark: 'rgba(244,63,94,0.2)', fg: '#e11d48' },\n trash: { light: '#f5f5f4', dark: 'rgba(148,163,184,0.18)', fg: '#78716c' },\n all: { light: '#fef3c7', dark: 'rgba(245,158,11,0.2)', fg: '#d97706' },\n} as const;\ntype TintKey = keyof typeof TINTS;\n\nfunction todayLabel(date: Date = new Date()): string {\n return date.toLocaleDateString(undefined, { weekday: 'long', month: 'long', day: 'numeric' });\n}\n\nexport function NotionWorkspaceView({ orgName, isDark }: { orgName: string | null; isDark: boolean }) {\n const palette = useMemo(() => notionPalette(isDark), [isDark]);\n const tint = useCallback(\n (key: TintKey) => ({ fg: TINTS[key].fg, bg: isDark ? TINTS[key].dark : TINTS[key].light }),\n [isDark],\n );\n const navigation = useNavigation<any>();\n const notion = useNotionWorkspace();\n const [searching, setSearching] = useState(false);\n const [sheet, setSheet] = useState<SheetKind | null>(null);\n const [menuOpen, setMenuOpen] = useState(false);\n const [createOpen, setCreateOpen] = useState(false);\n const [refreshing, setRefreshing] = useState(false);\n const [busy, setBusy] = useState<'page' | 'meeting' | null>(null);\n const hasWorkspace = Boolean(notion.workspace);\n\n const unreadQuery = useQuery<{ notesInboxUnreadCount?: number }>(NATIVE_NOTION_INBOX_UNREAD, {\n fetchPolicy: 'cache-and-network',\n });\n const unread = unreadQuery.data?.notesInboxUnreadCount ?? 0;\n\n // Back from a page editor: titles, icons and new pages show without a pull-to-refresh.\n // Through a ref: `refresh` is rebuilt every render and must not re-run the focus effect.\n const refreshOnFocus = useRef<() => void>(() => undefined);\n const [recents, setRecents] = useState<RecentPage[]>([]);\n refreshOnFocus.current = () => {\n notion.refresh().catch(() => undefined);\n unreadQuery.refetch().catch(() => undefined);\n readRecents(notion.workspace?.id).then(setRecents);\n };\n useEffect(() => {\n readRecents(notion.workspace?.id).then(setRecents);\n }, [notion.workspace?.id]);\n useFocusEffect(\n useCallback(() => {\n refreshOnFocus.current();\n }, []),\n );\n const upcoming = useMemo(() => nextMeetings(notion.meetings), [notion.meetings]);\n\n const navigateToPage = useCallback(\n (blockId: string) => {\n navigation.dispatch(CommonActions.navigate({ name: 'MainStack.NotionPage', params: { orgName, blockId } }));\n },\n [navigation, orgName],\n );\n\n /** Open a page from anywhere: a sheet closes first so the push lands on the stack. */\n const openPage = useCallback(\n (blockId: string) => {\n if (sheet) {\n setSheet(null);\n afterNativeModalClose(() => navigateToPage(blockId));\n } else {\n navigateToPage(blockId);\n }\n },\n [navigateToPage, sheet],\n );\n\n const pageActions = usePageActions({ notion, palette, onOpenPage: openPage });\n const [admin, setAdmin] = useState<'settings' | 'members' | null>(null);\n const [agentPicker, setAgentPicker] = useState(false);\n const [teamspaceOpen, setTeamspaceOpen] = useState(false);\n const [connectionsOpen, setConnectionsOpen] = useState(false);\n\n const addSectionPage = async (teamspace: string | null) => {\n try {\n const created = await notion.createSectionPage(teamspace);\n if (created?.id) openPage(created.id);\n } catch (err) {\n Alert.alert(\"Couldn't create the page\", err instanceof Error ? err.message : undefined);\n }\n };\n\n const confirmDeleteWorkspace = () => {\n const ws = notion.workspace;\n if (!ws) return;\n Alert.alert(`Move “${ws.name}” to trash?`, 'Its pages go with it. This affects everyone in the workspace.', [\n { text: 'Cancel', style: 'cancel' },\n {\n text: 'Move to trash',\n style: 'destructive',\n onPress: () =>\n notion\n .deleteWorkspace(ws.id)\n .catch((err) =>\n Alert.alert(\n \"Couldn't move the workspace to trash\",\n err instanceof Error ? err.message : undefined,\n ),\n ),\n },\n ]);\n };\n\n const askAi = useCallback(() => {\n navigation.dispatch(CommonActions.navigate({ name: 'MainStack.Chat', params: orgName ? { orgName } : {} }));\n }, [navigation, orgName]);\n\n const requireWorkspace = useCallback(() => {\n if (hasWorkspace) return true;\n setCreateOpen(true);\n return false;\n }, [hasWorkspace]);\n\n const run = useCallback(\n async (kind: 'page' | 'meeting') => {\n if (!requireWorkspace() || busy) return;\n setBusy(kind);\n try {\n const created = kind === 'page' ? await notion.createPage() : await notion.createMeeting();\n if (created?.id) openPage(created.id);\n } catch (err) {\n Alert.alert(`Couldn't create the ${kind}`, err instanceof Error ? err.message : undefined);\n } finally {\n setBusy(null);\n }\n },\n [busy, notion, openPage, requireWorkspace],\n );\n\n const openSheet = useCallback(\n (kind: SheetKind) => {\n setSearching(false);\n if (kind !== 'inbox' && kind !== 'trash' && !requireWorkspace()) return;\n setSheet(kind);\n },\n [requireWorkspace],\n );\n\n const onRefresh = useCallback(async () => {\n setRefreshing(true);\n try {\n await Promise.all([notion.refresh(), unreadQuery.refetch()]);\n } finally {\n setRefreshing(false);\n }\n }, [notion, unreadQuery]);\n\n const quickActions: Array<{ key: TintKey; label: string; icon: IconName; onPress: () => void; busy?: boolean }> = [\n { key: 'ai', label: 'Ask AI', icon: 'sparkles', onPress: askAi },\n { key: 'page', label: 'New page', icon: 'add', onPress: () => run('page'), busy: busy === 'page' },\n { key: 'templates', label: 'Templates', icon: 'albums-outline', onPress: () => openSheet('templates') },\n {\n key: 'meeting',\n label: 'Meeting',\n icon: 'calendar-outline',\n onPress: () => run('meeting'),\n busy: busy === 'meeting',\n },\n ];\n\n const browse: Array<{ key: SheetKind; icon: IconName; subtitle?: string; badge?: number }> = [\n { key: 'inbox', icon: 'notifications-outline', subtitle: 'Mentions and reminders', badge: unread },\n {\n key: 'meetings',\n icon: 'calendar-outline',\n subtitle: `${notion.meetings.length} ${notion.meetings.length === 1 ? 'meeting' : 'meetings'}`,\n },\n {\n key: 'all',\n icon: 'documents-outline',\n subtitle: `${notion.pages.length} ${notion.pages.length === 1 ? 'page' : 'pages'}`,\n },\n { key: 'templates', icon: 'albums-outline', subtitle: 'Start from a ready-made page' },\n { key: 'trash', icon: 'trash-outline', subtitle: 'Restore deleted pages' },\n ];\n\n /** The web ⌘K palette's Quick actions, shown while the search field is empty. */\n const commands: Array<{ key: string; label: string; icon: IconName; tintKey: TintKey; onPress: () => void }> = [\n { key: 'new', label: 'New page', icon: 'add', tintKey: 'page', onPress: () => run('page') },\n { key: 'all', label: 'All pages', icon: 'documents-outline', tintKey: 'all', onPress: () => openSheet('all') },\n {\n key: 'trash',\n label: 'Open Trash',\n icon: 'trash-outline',\n tintKey: 'trash',\n onPress: () => openSheet('trash'),\n },\n {\n key: 'templates',\n label: 'Browse template gallery',\n icon: 'albums-outline',\n tintKey: 'templates',\n onPress: () => openSheet('templates'),\n },\n { key: 'ai', label: 'Go to Yantra AI', icon: 'sparkles', tintKey: 'ai', onPress: askAi },\n {\n key: 'meetings',\n label: 'Go to Meetings',\n icon: 'calendar-outline',\n tintKey: 'meeting',\n onPress: () => openSheet('meetings'),\n },\n ];\n\n return (\n <View style={[styles.root, { backgroundColor: palette.bg }]}>\n <View style={styles.header}>\n <Pressable\n accessibilityRole=\"button\"\n accessibilityLabel={hasWorkspace ? 'Workspace menu' : 'Create workspace'}\n onPress={() => (hasWorkspace ? setMenuOpen(true) : setCreateOpen(true))}\n style={({ pressed }) => [styles.switcher, pressed && { backgroundColor: palette.pressed }]}\n >\n <WorkspaceBadge workspace={notion.workspace} palette={palette} />\n <View style={styles.switcherText}>\n <Text numberOfLines={1} style={[styles.switcherName, { color: palette.text }]}>\n {notion.workspace?.name ?? 'No workspace'}\n </Text>\n <Text numberOfLines={1} style={[styles.switcherMeta, { color: palette.textMuted }]}>\n {hasWorkspace\n ? `${notion.pages.length} ${notion.pages.length === 1 ? 'page' : 'pages'}`\n : 'Tap to create one'}\n </Text>\n </View>\n <Ionicons name=\"chevron-down\" size={16} color={palette.textMuted} />\n </Pressable>\n <Pressable\n accessibilityRole=\"button\"\n accessibilityLabel={unread ? `Inbox, ${unread} unread` : 'Inbox'}\n onPress={() => openSheet('inbox')}\n style={({ pressed }) => [\n styles.iconButton,\n { backgroundColor: palette.fill },\n pressed && ui.pressedScale,\n ]}\n >\n <Ionicons name=\"notifications-outline\" size={20} color={palette.text} />\n {unread ? (\n <View style={[styles.badgeDot, { backgroundColor: palette.primary, borderColor: palette.bg }]}>\n <Text style={styles.badgeDotText}>{unread > 9 ? '9+' : unread}</Text>\n </View>\n ) : null}\n </Pressable>\n <Pressable\n accessibilityRole=\"button\"\n accessibilityLabel=\"New page\"\n onPress={() => run('page')}\n style={({ pressed }) => [\n styles.iconButton,\n { backgroundColor: palette.primary },\n pressed && ui.pressedScale,\n ]}\n >\n {busy === 'page' ? (\n <ActivityIndicator size=\"small\" color={palette.onPrimary} />\n ) : (\n <Ionicons name=\"create-outline\" size={20} color={palette.onPrimary} />\n )}\n </Pressable>\n </View>\n\n {searching ? (\n <SearchMode\n palette={palette}\n tint={tint}\n workspaceId={notion.workspace?.id ?? null}\n commands={commands}\n onOpenPage={openPage}\n onCreatePage={async (title) => {\n if (!requireWorkspace()) return;\n try {\n const created = await notion.createPage(title);\n if (created?.id) openPage(created.id);\n } catch (err) {\n Alert.alert(\"Couldn't create the page\", err instanceof Error ? err.message : undefined);\n }\n }}\n onCancel={() => setSearching(false)}\n />\n ) : (\n <ScrollView\n contentContainerStyle={styles.homeContent}\n refreshControl={\n <RefreshControl refreshing={refreshing} onRefresh={onRefresh} tintColor={palette.textMuted} />\n }\n >\n <Pressable\n accessibilityRole=\"search\"\n onPress={() => setSearching(true)}\n style={[styles.searchPill, { backgroundColor: palette.fill }]}\n >\n <Ionicons name=\"search\" size={17} color={palette.textMuted} />\n <Text style={[styles.searchPlaceholder, { color: palette.textMuted }]}>\n Search pages or jump to…\n </Text>\n </Pressable>\n\n <Text style={[styles.date, { color: palette.textMuted }]}>{todayLabel().toUpperCase()}</Text>\n <Text style={[styles.greeting, { color: palette.text }]}>{greeting()}</Text>\n\n <View style={styles.actions}>\n {quickActions.map((a) => {\n const t = tint(a.key);\n return (\n <Pressable\n key={a.key}\n accessibilityRole=\"button\"\n accessibilityLabel={a.label}\n onPress={a.onPress}\n style={({ pressed }) => [\n styles.action,\n { backgroundColor: pressed ? palette.pressed : palette.card },\n ui.cardShadow,\n ]}\n >\n <View style={[styles.actionIcon, { backgroundColor: t.bg }]}>\n {a.busy ? (\n <ActivityIndicator size=\"small\" color={t.fg} />\n ) : (\n <Ionicons name={a.icon} size={20} color={t.fg} />\n )}\n </View>\n <Text numberOfLines={1} style={[styles.actionLabel, { color: palette.text }]}>\n {a.label}\n </Text>\n </Pressable>\n );\n })}\n </View>\n\n {notion.loading ? (\n <View style={styles.loading}>\n <ActivityIndicator color={palette.textMuted} />\n </View>\n ) : notion.error ? (\n <EmptyState\n palette={palette}\n icon=\"cloud-offline-outline\"\n title=\"Couldn't load your workspace\"\n text=\"Check your connection and pull down to try again.\"\n />\n ) : !hasWorkspace ? (\n <EmptyState\n palette={palette}\n icon=\"albums-outline\"\n title=\"No workspace yet\"\n text=\"Create a workspace to start organizing your pages.\"\n action={{ label: 'Create workspace', onPress: () => setCreateOpen(true) }}\n />\n ) : (\n <>\n <RecentStrip recents={recents} palette={palette} onOpen={openPage} />\n {upcoming.length ? (\n <>\n <SectionHeader\n label=\"Upcoming meetings\"\n palette={palette}\n action={{ label: 'See all', onPress: () => openSheet('meetings') }}\n />\n <Group palette={palette}>\n {upcoming.map((m, i) => (\n <MeetingRowView\n key={m.id}\n row={m}\n palette={palette}\n onPress={() => openPage(m.id)}\n divider={i < upcoming.length - 1}\n />\n ))}\n </Group>\n </>\n ) : null}\n\n {notion.favoriteIds.length ? (\n <>\n <SectionHeader\n label=\"Favorites\"\n count={notion.favoriteIds.length}\n palette={palette}\n />\n <FavoritesList\n ids={notion.favoriteIds}\n pages={notion.pages}\n palette={palette}\n favoriteIds={notion.favoriteIds}\n onOpenPage={openPage}\n onActions={(page) => pageActions.open(page)}\n />\n </>\n ) : null}\n\n <SectionHeader label=\"Browse\" palette={palette} />\n <Group palette={palette}>\n {browse.map((b, i) => {\n const t = tint(b.key === 'meetings' ? 'meeting' : b.key);\n return (\n <ListRow\n key={b.key}\n palette={palette}\n icon={b.icon}\n iconColor={t.fg}\n iconBg={t.bg}\n title={SHEET_TITLES[b.key]}\n subtitle={b.subtitle}\n onPress={() => openSheet(b.key)}\n divider={i < browse.length - 1}\n trailing={\n b.badge ? (\n <View style={styles.trailing}>\n <View\n style={[\n styles.countBadge,\n { backgroundColor: palette.primary },\n ]}\n >\n <Text style={styles.countBadgeText}>{b.badge}</Text>\n </View>\n <Ionicons\n name=\"chevron-forward\"\n size={16}\n color={palette.textFaint}\n />\n </View>\n ) : undefined\n }\n />\n );\n })}\n </Group>\n\n <AgentsSection\n agents={notion.agents}\n palette={palette}\n isDark={isDark}\n onOpen={openPage}\n onNew={() => setAgentPicker(true)}\n />\n\n <TeamspacesSection\n groups={notion.teamspaceGroups}\n palette={palette}\n isDark={isDark}\n favoriteIds={notion.favoriteIds}\n onOpenPage={openPage}\n onActions={(page) => pageActions.open(page)}\n onAddPage={(name) => addSectionPage(name)}\n onAddTeamspace={() => setTeamspaceOpen(true)}\n onRemoveTeamspace={(t) =>\n Alert.alert(`Remove “${t.name}”?`, 'Its pages move back to My pages.', [\n { text: 'Cancel', style: 'cancel' },\n {\n text: 'Remove',\n style: 'destructive',\n onPress: () => notion.removeTeamspace(t.id).catch(() => undefined),\n },\n ])\n }\n />\n\n <SectionHeader\n label=\"My pages\"\n count={notion.myPages.length}\n palette={palette}\n action={{ label: 'All pages', onPress: () => openSheet('all') }}\n />\n {notion.myPages.length === 0 ? (\n <EmptyState\n palette={palette}\n icon=\"document-text-outline\"\n title=\"No pages yet\"\n text=\"Start with a blank page or pick a template.\"\n action={{ label: 'New page', onPress: () => run('page'), busy: busy === 'page' }}\n />\n ) : (\n <PageTree\n pages={notion.myPages}\n palette={palette}\n favoriteIds={notion.favoriteIds}\n onOpenPage={openPage}\n onActions={(page) => pageActions.open(page)}\n />\n )}\n </>\n )}\n </ScrollView>\n )}\n\n <Modal\n visible={sheet !== null}\n animationType=\"slide\"\n presentationStyle=\"pageSheet\"\n onRequestClose={() => setSheet(null)}\n >\n <View style={[styles.root, { backgroundColor: palette.bg }]}>\n {sheet ? (\n <>\n <SheetHeader title={SHEET_TITLES[sheet]} onDone={() => setSheet(null)} palette={palette} />\n {sheet === 'inbox' ? <InboxSheet palette={palette} onOpenPage={openPage} /> : null}\n {sheet === 'meetings' ? (\n <MeetingsSheet palette={palette} notion={notion} onOpenPage={openPage} />\n ) : null}\n {sheet === 'all' ? (\n <AllPagesSheet palette={palette} notion={notion} onOpenPage={openPage} />\n ) : null}\n {sheet === 'templates' ? (\n <TemplatesSheet palette={palette} notion={notion} onOpenPage={openPage} />\n ) : null}\n {sheet === 'trash' ? (\n <TrashSheet palette={palette} notion={notion} onOpenPage={openPage} />\n ) : null}\n </>\n ) : null}\n </View>\n </Modal>\n\n <WorkspaceMenu\n visible={menuOpen}\n palette={palette}\n workspaces={notion.workspaces}\n activeId={notion.workspace?.id ?? null}\n onClose={() => setMenuOpen(false)}\n onSelect={(id) => {\n notion.selectWorkspace(id);\n setMenuOpen(false);\n }}\n onCreate={() => {\n setMenuOpen(false);\n setCreateOpen(true);\n }}\n onSettings={() => {\n setMenuOpen(false);\n afterNativeModalClose(() => setAdmin('settings'));\n }}\n onMembers={() => {\n setMenuOpen(false);\n afterNativeModalClose(() => setAdmin('members'));\n }}\n onConnections={() => {\n setMenuOpen(false);\n afterNativeModalClose(() => setConnectionsOpen(true));\n }}\n onDeleteWorkspace={() => {\n setMenuOpen(false);\n afterNativeModalClose(confirmDeleteWorkspace);\n }}\n />\n <ConnectionsSheet\n visible={connectionsOpen}\n palette={palette}\n orgName={orgName}\n onClose={() => setConnectionsOpen(false)}\n />\n <AgentTemplateSheet\n visible={agentPicker}\n palette={palette}\n isDark={isDark}\n onPick={async (template) => {\n const created = await notion.createAgent(template);\n if (created?.id) afterNativeModalClose(() => openPage(created.id));\n }}\n onClose={() => setAgentPicker(false)}\n />\n <AddTeamspaceSheet\n visible={teamspaceOpen}\n palette={palette}\n isDark={isDark}\n onAdd={(name, color) => notion.addTeamspace(name, color)}\n onClose={() => setTeamspaceOpen(false)}\n />\n <WorkspaceAdminSheet\n visible={admin !== null}\n initialTab={admin ?? 'settings'}\n palette={palette}\n notion={notion}\n onClose={() => setAdmin(null)}\n />\n {pageActions.element}\n <CreateWorkspaceSheet\n visible={createOpen}\n palette={palette}\n onClose={() => setCreateOpen(false)}\n onCreate={notion.createWorkspace}\n />\n </View>\n );\n}\n\ninterface SearchHit {\n snippet: string;\n block: NotionBlock;\n container?: { id: string; title: string; type: string } | null;\n parentPath: Array<{ id: string; title: string; type: string }>;\n}\n\nfunction SearchMode({\n palette,\n tint,\n workspaceId,\n commands,\n onOpenPage,\n onCreatePage,\n onCancel,\n}: {\n palette: Palette;\n tint: (key: TintKey) => { fg: string; bg: string };\n workspaceId: string | null;\n commands: Array<{ key: string; label: string; icon: IconName; tintKey: TintKey; onPress: () => void }>;\n onOpenPage: (id: string) => void;\n onCreatePage: (title: string) => void;\n onCancel: () => void;\n}) {\n const client = useApolloClient();\n const [text, setText] = useState('');\n const [filter, setFilter] = useState('all');\n const [hits, setHits] = useState<SearchHit[]>([]);\n const [cursor, setCursor] = useState<string | null>(null);\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState(false);\n const query = text.trim();\n const seq = useRef(0);\n\n /** Server search with hits (web SearchView): breadcrumb + snippet, cursor paging. */\n const fetchPage = useCallback(\n async (after: string | null) => {\n const id = ++seq.current;\n setLoading(true);\n setError(false);\n const types = SEARCH_FILTERS.find((f) => f.id === filter)?.types;\n try {\n const res = await client.query<{\n searchBlocks?: { hits?: SearchHit[] | null; nextCursor?: string | null; hasMore?: boolean } | null;\n }>({\n query: NATIVE_NOTION_SEARCH_HITS,\n variables: {\n input: {\n query,\n pageSize: 25,\n ...(types ? { types } : {}),\n ...(workspaceId ? { workspaceId } : {}),\n ...(after ? { startCursor: after } : {}),\n },\n },\n fetchPolicy: 'network-only',\n });\n if (id !== seq.current) return;\n const page = (res.data?.searchBlocks?.hits ?? []).filter((h) => h?.block && !h.block.inTrash);\n setHits((prev) => {\n const merged = after ? [...prev, ...page] : page;\n const seen = new Set<string>();\n return merged.filter((h) => !seen.has(h.block.id) && Boolean(seen.add(h.block.id)));\n });\n const more = res.data?.searchBlocks?.hasMore;\n setCursor(more ? (res.data?.searchBlocks?.nextCursor ?? null) : null);\n } catch {\n if (id === seq.current) setError(true);\n } finally {\n if (id === seq.current) setLoading(false);\n }\n },\n [client, filter, query, workspaceId],\n );\n\n useEffect(() => {\n if (!query) {\n seq.current += 1;\n setHits([]);\n setCursor(null);\n setLoading(false);\n return undefined;\n }\n const timer = setTimeout(() => fetchPage(null), 250);\n return () => clearTimeout(timer);\n }, [fetchPage, query]);\n\n const shownCommands = commands.filter((c) => !query || c.label.toLowerCase().includes(query.toLowerCase()));\n const exactTitle = hits.some(\n (h) => isPageBlock(h.block) && pageTitle(h.block).toLowerCase() === query.toLowerCase(),\n );\n let hint = '';\n if (query && error) hint = 'Search failed. Pull down or type again to retry.';\n else if (query && !loading && !hits.length) hint = 'No results';\n\n const openHit = (h: SearchHit) => onOpenPage(isPageBlock(h.block) ? h.block.id : (h.container?.id ?? h.block.id));\n\n return (\n <View style={ui.flex}>\n <View style={styles.searchBar}>\n <View style={[styles.searchField, { backgroundColor: palette.fill }]}>\n <Ionicons name=\"search\" size={17} color={palette.textMuted} />\n <TextInput\n value={text}\n onChangeText={setText}\n placeholder=\"Search pages, jump to, or run a command…\"\n placeholderTextColor={palette.textMuted}\n autoFocus\n autoCorrect={false}\n returnKeyType=\"search\"\n clearButtonMode=\"while-editing\"\n style={[styles.searchInput, { color: palette.text }]}\n />\n {loading ? <ActivityIndicator size=\"small\" color={palette.textMuted} /> : null}\n </View>\n <Pressable accessibilityRole=\"button\" onPress={onCancel} hitSlop={8}>\n <Text style={[styles.cancel, { color: palette.primary }]}>Cancel</Text>\n </Pressable>\n </View>\n {query ? (\n <ScrollView\n horizontal\n showsHorizontalScrollIndicator={false}\n keyboardShouldPersistTaps=\"always\"\n contentContainerStyle={styles.filterRow}\n style={styles.filterBar}\n >\n {SEARCH_FILTERS.map((f) => {\n const active = f.id === filter;\n return (\n <Pressable\n key={f.id}\n accessibilityRole=\"tab\"\n accessibilityState={{ selected: active }}\n onPress={() => setFilter(f.id)}\n style={[styles.filterChip, { backgroundColor: active ? palette.text : palette.fill }]}\n >\n <Text style={[styles.filterLabel, { color: active ? palette.card : palette.text }]}>\n {f.label}\n </Text>\n </Pressable>\n );\n })}\n </ScrollView>\n ) : null}\n <ScrollView keyboardShouldPersistTaps=\"handled\" contentContainerStyle={styles.searchContent}>\n {query && hits.length ? (\n <>\n <Text style={[styles.searchSection, { color: palette.textMuted }]}>Results</Text>\n <Group palette={palette}>\n {hits.map((h, i) => {\n const isPage = isPageBlock(h.block);\n const crumb = hitBreadcrumb(h.parentPath);\n const snippet = (h.snippet ?? '').trim();\n return (\n <ListRow\n key={h.block.id}\n palette={palette}\n emoji={blockIcon(h.block)}\n icon={\n h.block.type === 'database'\n ? 'grid-outline'\n : isPage\n ? 'document-text-outline'\n : h.block.type === 'todo'\n ? 'checkbox-outline'\n : h.block.type === 'code'\n ? 'code-slash-outline'\n : 'reorder-two-outline'\n }\n title={isPage ? pageTitle(h.block) : snippet || pageTitle(h.block)}\n subtitle={[crumb || (isPage ? '' : h.container?.title), isPage ? snippet : '']\n .filter(Boolean)\n .join(' · ')}\n onPress={() => openHit(h)}\n divider={i < hits.length - 1}\n />\n );\n })}\n </Group>\n {cursor ? (\n <Pressable\n accessibilityRole=\"button\"\n onPress={() => fetchPage(cursor)}\n disabled={loading}\n style={styles.loadMore}\n >\n <Text style={[styles.loadMoreLabel, { color: palette.primary }]}>\n {loading ? 'Loading…' : 'Load more'}\n </Text>\n </Pressable>\n ) : null}\n </>\n ) : null}\n {query && !exactTitle && !loading ? (\n <>\n <Text style={[styles.searchSection, { color: palette.textMuted }]}>Create</Text>\n <Group palette={palette}>\n <ListRow\n palette={palette}\n icon=\"add\"\n iconColor={tint('page').fg}\n iconBg={tint('page').bg}\n title={`Create page “${query}”`}\n onPress={() => onCreatePage(query)}\n />\n </Group>\n </>\n ) : null}\n {shownCommands.length ? (\n <>\n <Text style={[styles.searchSection, { color: palette.textMuted }]}>Quick actions</Text>\n <Group palette={palette}>\n {shownCommands.map((c, i) => {\n const t = tint(c.tintKey);\n return (\n <ListRow\n key={c.key}\n palette={palette}\n icon={c.icon}\n iconColor={t.fg}\n iconBg={t.bg}\n title={c.label}\n onPress={c.onPress}\n divider={i < shownCommands.length - 1}\n />\n );\n })}\n </Group>\n </>\n ) : null}\n {hint ? (\n <Text style={[styles.hint, { color: error ? palette.danger : palette.textMuted }]}>{hint}</Text>\n ) : null}\n </ScrollView>\n </View>\n );\n}\n\nfunction WorkspaceMenu({\n visible,\n palette,\n workspaces,\n activeId,\n onClose,\n onSelect,\n onCreate,\n onSettings,\n onMembers,\n onDeleteWorkspace,\n onConnections,\n}: {\n visible: boolean;\n palette: Palette;\n workspaces: NotionWorkspace[];\n activeId: string | null;\n onClose: () => void;\n onSelect: (id: string) => void;\n onCreate: () => void;\n onSettings: () => void;\n onMembers: () => void;\n onDeleteWorkspace: () => void;\n onConnections: () => void;\n}) {\n return (\n <Modal visible={visible} transparent animationType=\"fade\" onRequestClose={onClose}>\n <Pressable style={[styles.backdrop, { backgroundColor: palette.backdrop }]} onPress={onClose}>\n <Pressable style={[styles.bottomSheet, { backgroundColor: palette.card }]}>\n <View style={[styles.grabber, { backgroundColor: palette.hairline }]} />\n <Text style={[styles.bottomSheetTitle, { color: palette.text }]}>Workspaces</Text>\n <FlatList\n data={workspaces}\n keyExtractor={(w) => w.id}\n style={[styles.menuList, { backgroundColor: palette.bg }]}\n renderItem={({ item, index }) => (\n <Pressable\n accessibilityRole=\"button\"\n accessibilityState={{ selected: item.id === activeId }}\n onPress={() => onSelect(item.id)}\n style={({ pressed }) => [\n styles.menuRow,\n pressed && { backgroundColor: palette.pressed },\n ]}\n >\n <WorkspaceBadge workspace={item} palette={palette} size={32} />\n <View\n style={[\n styles.menuRowBody,\n index < workspaces.length - 1 && ui.hairline,\n { borderBottomColor: palette.hairline },\n ]}\n >\n <Text numberOfLines={1} style={[styles.menuRowLabel, { color: palette.text }]}>\n {item.name}\n </Text>\n {item.id === activeId ? (\n <Ionicons name=\"checkmark-circle\" size={22} color={palette.primary} />\n ) : null}\n </View>\n </Pressable>\n )}\n />\n {activeId ? (\n <View style={[styles.menuList, styles.menuActions, { backgroundColor: palette.bg }]}>\n {[\n {\n label: 'Workspace settings…',\n icon: 'settings-outline' as const,\n onPress: onSettings,\n },\n { label: 'Members…', icon: 'people-outline' as const, onPress: onMembers },\n { label: 'Connections…', icon: 'link-outline' as const, onPress: onConnections },\n ].map((a, i) => (\n <Pressable\n key={a.label}\n accessibilityRole=\"button\"\n onPress={a.onPress}\n style={({ pressed }) => [\n styles.menuRow,\n pressed && { backgroundColor: palette.pressed },\n ]}\n >\n <Ionicons name={a.icon} size={20} color={palette.text} />\n <View\n style={[\n styles.menuRowBody,\n i < 2 && ui.hairline,\n { borderBottomColor: palette.hairline },\n ]}\n >\n <Text style={[styles.menuRowLabel, { color: palette.text }]}>{a.label}</Text>\n <Ionicons name=\"chevron-forward\" size={16} color={palette.textFaint} />\n </View>\n </Pressable>\n ))}\n </View>\n ) : null}\n {activeId ? (\n <Pressable\n accessibilityRole=\"button\"\n onPress={onDeleteWorkspace}\n style={({ pressed }) => [styles.dangerRow, pressed && { backgroundColor: palette.pressed }]}\n >\n <Ionicons name=\"trash-outline\" size={19} color={palette.danger} />\n <Text style={[styles.menuRowLabel, { color: palette.danger }]}>\n Move workspace to trash\n </Text>\n </Pressable>\n ) : null}\n <Pressable\n accessibilityRole=\"button\"\n onPress={onCreate}\n style={({ pressed }) => [\n styles.secondaryButton,\n { backgroundColor: palette.primarySoft },\n pressed && ui.pressedScale,\n ]}\n >\n <Ionicons name=\"add\" size={18} color={palette.primary} />\n <Text style={[styles.secondaryButtonLabel, { color: palette.primary }]}>Create workspace</Text>\n </Pressable>\n </Pressable>\n </Pressable>\n </Modal>\n );\n}\n\n/** Web \"New workspace\" dialog: a blank name becomes \"Untitled workspace\". */\nfunction CreateWorkspaceSheet({\n visible,\n palette,\n onClose,\n onCreate,\n}: {\n visible: boolean;\n palette: Palette;\n onClose: () => void;\n onCreate: (name: string) => Promise<unknown>;\n}) {\n const [name, setName] = useState('');\n const [saving, setSaving] = useState(false);\n\n useEffect(() => {\n if (visible) setName('');\n }, [visible]);\n\n const submit = async () => {\n if (saving) return;\n setSaving(true);\n try {\n await onCreate(name);\n onClose();\n } catch (err) {\n Alert.alert(\"Couldn't create the workspace\", err instanceof Error ? err.message : undefined);\n } finally {\n setSaving(false);\n }\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.bottomSheet, { backgroundColor: palette.card }]}>\n <View style={[styles.grabber, { backgroundColor: palette.hairline }]} />\n <View style={[styles.dialogIcon, { backgroundColor: palette.primarySoft }]}>\n <Ionicons name=\"albums-outline\" size={26} color={palette.primary} />\n </View>\n <Text style={[styles.dialogTitle, { color: palette.text }]}>New workspace</Text>\n <Text style={[styles.dialogText, { color: palette.textMuted }]}>\n Give your workspace a name. You can change it later.\n </Text>\n <Text style={[styles.fieldLabel, { color: palette.textMuted }]}>Name</Text>\n <TextInput\n value={name}\n onChangeText={setName}\n placeholder=\"e.g. Marketing, Personal, Team Alpha\"\n placeholderTextColor={palette.textFaint}\n autoFocus\n returnKeyType=\"done\"\n onSubmitEditing={submit}\n style={[styles.dialogInput, { color: palette.text, backgroundColor: palette.fill }]}\n />\n <Text style={[styles.fieldHelp, { color: palette.textFaint }]}>\n Leave blank to use “Untitled workspace”.\n </Text>\n <Pressable\n accessibilityRole=\"button\"\n onPress={submit}\n disabled={saving}\n style={({ pressed }) => [\n ui.primaryButton,\n styles.blockButton,\n { backgroundColor: palette.primary },\n pressed && ui.pressedScale,\n ]}\n >\n {saving ? (\n <ActivityIndicator size=\"small\" color={palette.onPrimary} />\n ) : (\n <Text style={[ui.primaryButtonLabel, { color: palette.onPrimary }]}>Create</Text>\n )}\n </Pressable>\n <Pressable accessibilityRole=\"button\" onPress={onClose} style={styles.textButton}>\n <Text style={[styles.textButtonLabel, { color: palette.textMuted }]}>Cancel</Text>\n </Pressable>\n </Pressable>\n </Pressable>\n </KeyboardAvoidingView>\n </Modal>\n );\n}\n\nconst styles = StyleSheet.create({\n root: { flex: 1 },\n loading: { paddingVertical: 48, alignItems: 'center' },\n\n header: {\n flexDirection: 'row',\n alignItems: 'center',\n gap: 8,\n paddingHorizontal: 12,\n paddingTop: 8,\n paddingBottom: 4,\n },\n switcher: { flex: 1, flexDirection: 'row', alignItems: 'center', gap: 10, padding: 6, borderRadius: 14 },\n switcherText: { flexShrink: 1 },\n switcherName: { fontSize: 17, fontWeight: '700', letterSpacing: -0.2 },\n switcherMeta: { fontSize: 13, marginTop: 1 },\n iconButton: { width: 40, height: 40, borderRadius: 20, alignItems: 'center', justifyContent: 'center' },\n badgeDot: {\n position: 'absolute',\n top: -2,\n right: -2,\n minWidth: 18,\n height: 18,\n paddingHorizontal: 4,\n borderRadius: 9,\n borderWidth: 2,\n alignItems: 'center',\n justifyContent: 'center',\n },\n badgeDotText: { color: '#fff', fontSize: 10, fontWeight: '800' },\n\n homeContent: { paddingHorizontal: 16, paddingTop: 8, paddingBottom: 48 },\n searchPill: {\n flexDirection: 'row',\n alignItems: 'center',\n gap: 8,\n height: 40,\n paddingHorizontal: 12,\n borderRadius: 12,\n },\n searchPlaceholder: { fontSize: 16 },\n date: { fontSize: 12, fontWeight: '600', letterSpacing: 0.6, marginTop: 24 },\n greeting: { fontSize: 32, fontWeight: '800', letterSpacing: -0.6, marginTop: 4 },\n\n actions: { flexDirection: 'row', gap: 10, marginTop: 20 },\n action: { flex: 1, alignItems: 'center', gap: 8, paddingVertical: 14, borderRadius: 16 },\n actionIcon: { width: 44, height: 44, borderRadius: 14, alignItems: 'center', justifyContent: 'center' },\n actionLabel: { fontSize: 13, fontWeight: '600' },\n\n trailing: { flexDirection: 'row', alignItems: 'center', gap: 6 },\n countBadge: {\n minWidth: 22,\n height: 22,\n paddingHorizontal: 6,\n borderRadius: 11,\n alignItems: 'center',\n justifyContent: 'center',\n },\n countBadgeText: { color: '#fff', fontSize: 12, fontWeight: '800' },\n\n searchBar: { flexDirection: 'row', alignItems: 'center', gap: 12, paddingHorizontal: 16, paddingVertical: 8 },\n searchField: {\n flex: 1,\n flexDirection: 'row',\n alignItems: 'center',\n gap: 8,\n height: 40,\n paddingHorizontal: 12,\n borderRadius: 12,\n },\n searchInput: { flex: 1, fontSize: 16, paddingVertical: 0 },\n cancel: { fontSize: 16, fontWeight: '500' },\n filterBar: { flexGrow: 0 },\n filterRow: { gap: 8, paddingHorizontal: 16, paddingBottom: 4 },\n filterChip: { paddingHorizontal: 14, paddingVertical: 7, borderRadius: 999 },\n filterLabel: { fontSize: 14, fontWeight: '600' },\n loadMore: { alignItems: 'center', paddingVertical: 14 },\n loadMoreLabel: { fontSize: 15, fontWeight: '700' },\n searchContent: { paddingHorizontal: 16, paddingBottom: 48 },\n searchSection: { fontSize: 13, fontWeight: '600', marginTop: 16, marginBottom: 8, marginLeft: 4 },\n hint: { fontSize: 15, textAlign: 'center', paddingVertical: 40 },\n\n backdrop: { flex: 1, justifyContent: 'flex-end' },\n bottomSheet: {\n borderTopLeftRadius: 24,\n borderTopRightRadius: 24,\n paddingHorizontal: 16,\n paddingTop: 8,\n paddingBottom: 36,\n },\n grabber: { alignSelf: 'center', width: 36, height: 5, borderRadius: 3, marginBottom: 12 },\n bottomSheetTitle: { fontSize: 20, fontWeight: '700', marginBottom: 12, marginLeft: 4 },\n menuList: { borderRadius: 16, maxHeight: 320, flexGrow: 0 },\n menuActions: { marginTop: 12 },\n dangerRow: {\n flexDirection: 'row',\n alignItems: 'center',\n gap: 12,\n paddingHorizontal: 12,\n paddingVertical: 14,\n marginTop: 8,\n borderRadius: 12,\n },\n menuRow: { flexDirection: 'row', alignItems: 'center', paddingLeft: 12 },\n menuRowBody: {\n flex: 1,\n flexDirection: 'row',\n alignItems: 'center',\n gap: 8,\n marginLeft: 12,\n paddingRight: 12,\n paddingVertical: 14,\n },\n menuRowLabel: { flex: 1, fontSize: 16, fontWeight: '600' },\n secondaryButton: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'center',\n gap: 6,\n minHeight: 48,\n marginTop: 14,\n borderRadius: 14,\n },\n secondaryButtonLabel: { fontSize: 16, fontWeight: '700' },\n\n dialogIcon: {\n alignSelf: 'center',\n width: 60,\n height: 60,\n borderRadius: 18,\n alignItems: 'center',\n justifyContent: 'center',\n marginTop: 4,\n },\n dialogTitle: { fontSize: 20, fontWeight: '700', textAlign: 'center', marginTop: 14 },\n dialogText: { fontSize: 15, textAlign: 'center', marginTop: 6 },\n fieldLabel: { fontSize: 13, fontWeight: '600', marginTop: 20, marginBottom: 6, marginLeft: 2 },\n dialogInput: { fontSize: 16, height: 48, paddingHorizontal: 14, borderRadius: 12 },\n fieldHelp: { fontSize: 13, marginTop: 6, marginLeft: 2 },\n blockButton: { alignSelf: 'stretch' },\n textButton: { alignItems: 'center', paddingVertical: 12, marginTop: 4 },\n textButtonLabel: { fontSize: 16, fontWeight: '600' },\n});\n"],"names":["_a"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"NotionWorkspaceView.js","sources":["../../../src/features/notion/NotionWorkspaceView.tsx"],"sourcesContent":["/**\n * Native Notion workspace (browser `/notion`). The web sidebar maps to\n * phone-standard pieces:\n * - workspace menu (switch / create workspace) → bottom sheet\n * - Search + the ⌘K command palette → search mode with Quick actions\n * - Inbox / Meetings / All pages / Templates / Trash → page sheets (NotionSheets)\n * - Yantra AI → the app chat\n * - Home: greeting, quick actions, upcoming meetings, My pages\n * Pages open in the native page viewer (`MainStack.NotionPage`).\n */\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport {\n ActivityIndicator,\n Alert,\n FlatList,\n KeyboardAvoidingView,\n Modal,\n Platform,\n Pressable,\n RefreshControl,\n ScrollView,\n StyleSheet,\n Text,\n TextInput,\n View,\n} from 'react-native';\nimport { Ionicons } from '@expo/vector-icons';\nimport { CommonActions, useFocusEffect, useNavigation } from '@react-navigation/native';\nimport { useApolloClient, useQuery } from '@apollo/client';\nimport { NATIVE_NOTION_INBOX_UNREAD, NATIVE_NOTION_SEARCH_HITS } from './notionDocuments';\nimport { SEARCH_FILTERS, hitBreadcrumb } from './notionPageActions';\nimport {\n blockIcon,\n greeting,\n isPageBlock,\n nextMeetings,\n pageTitle,\n type NotionBlock,\n type NotionWorkspace,\n} from './notionBlocks';\nimport { notionPalette, type NotionPalette } from './notionTheme';\nimport { EmptyState, Group, ListRow, SectionHeader, SheetHeader, WorkspaceBadge, ui, type IconName } from './notionUi';\nimport { AllPagesSheet, InboxSheet, MeetingRowView, MeetingsSheet, TemplatesSheet } from './NotionSheets';\nimport { TrashSheet } from './NotionTrashSheet';\nimport { FavoritesList, PageTree } from './NotionPageTree';\nimport { WorkspaceAdminSheet } from './NotionWorkspaceAdmin';\nimport { usePageActions } from './usePageActions';\nimport {\n AddTeamspaceSheet,\n AgentTemplateSheet,\n AgentsSection,\n RecentStrip,\n TeamspacesSection,\n} from './NotionSidebarSections';\nimport { readRecents, type RecentPage } from './notionRecents';\nimport { useNotionAskAi } from './NotionAskAiSheet';\nimport { ConnectionsSheet } from './NotionConnectionsSheet';\nimport { useNotionWorkspace } from './useNotionWorkspace';\nimport { afterNativeModalClose } from '../../utils/drawerNavigation';\n\ntype Palette = NotionPalette;\ntype SheetKind = 'inbox' | 'meetings' | 'all' | 'templates' | 'trash';\n\nconst SHEET_TITLES: Record<SheetKind, string> = {\n inbox: 'Inbox',\n meetings: 'Meetings',\n all: 'All pages',\n templates: 'Templates',\n trash: 'Trash',\n};\n\n/** Tinted icon chips (one hue each, like Notion's home). */\nconst TINTS = {\n ai: { light: '#f3e8ff', dark: 'rgba(168,85,247,0.2)', fg: '#9333ea' },\n page: { light: '#fff1e6', dark: 'rgba(251,146,60,0.2)', fg: '#ea580c' },\n templates: { light: '#dcfce7', dark: 'rgba(34,197,94,0.2)', fg: '#16a34a' },\n meeting: { light: '#e0f2fe', dark: 'rgba(56,189,248,0.2)', fg: '#0284c7' },\n inbox: { light: '#fee2e2', dark: 'rgba(244,63,94,0.2)', fg: '#e11d48' },\n trash: { light: '#f5f5f4', dark: 'rgba(148,163,184,0.18)', fg: '#78716c' },\n all: { light: '#fef3c7', dark: 'rgba(245,158,11,0.2)', fg: '#d97706' },\n} as const;\ntype TintKey = keyof typeof TINTS;\n\nfunction todayLabel(date: Date = new Date()): string {\n return date.toLocaleDateString(undefined, { weekday: 'long', month: 'long', day: 'numeric' });\n}\n\nexport function NotionWorkspaceView({ orgName, isDark }: { orgName: string | null; isDark: boolean }) {\n const palette = useMemo(() => notionPalette(isDark), [isDark]);\n const tint = useCallback(\n (key: TintKey) => ({ fg: TINTS[key].fg, bg: isDark ? TINTS[key].dark : TINTS[key].light }),\n [isDark],\n );\n const navigation = useNavigation<any>();\n const notion = useNotionWorkspace();\n const [searching, setSearching] = useState(false);\n const [sheet, setSheet] = useState<SheetKind | null>(null);\n const [menuOpen, setMenuOpen] = useState(false);\n const [createOpen, setCreateOpen] = useState(false);\n const [refreshing, setRefreshing] = useState(false);\n const [busy, setBusy] = useState<'page' | 'meeting' | null>(null);\n const hasWorkspace = Boolean(notion.workspace);\n\n const unreadQuery = useQuery<{ notesInboxUnreadCount?: number }>(NATIVE_NOTION_INBOX_UNREAD, {\n fetchPolicy: 'cache-and-network',\n });\n const unread = unreadQuery.data?.notesInboxUnreadCount ?? 0;\n\n // Back from a page editor: titles, icons and new pages show without a pull-to-refresh.\n // Through a ref: `refresh` is rebuilt every render and must not re-run the focus effect.\n const refreshOnFocus = useRef<() => void>(() => undefined);\n const [recents, setRecents] = useState<RecentPage[]>([]);\n refreshOnFocus.current = () => {\n notion.refresh().catch(() => undefined);\n unreadQuery.refetch().catch(() => undefined);\n readRecents(notion.workspace?.id).then(setRecents);\n };\n useEffect(() => {\n readRecents(notion.workspace?.id).then(setRecents);\n }, [notion.workspace?.id]);\n useFocusEffect(\n useCallback(() => {\n refreshOnFocus.current();\n }, []),\n );\n const upcoming = useMemo(() => nextMeetings(notion.meetings), [notion.meetings]);\n\n const navigateToPage = useCallback(\n (blockId: string) => {\n navigation.dispatch(CommonActions.navigate({ name: 'MainStack.NotionPage', params: { orgName, blockId } }));\n },\n [navigation, orgName],\n );\n\n /** Open a page from anywhere: a sheet closes first so the push lands on the stack. */\n const openPage = useCallback(\n (blockId: string) => {\n if (sheet) {\n setSheet(null);\n afterNativeModalClose(() => navigateToPage(blockId));\n } else {\n navigateToPage(blockId);\n }\n },\n [navigateToPage, sheet],\n );\n\n const pageActions = usePageActions({ notion, palette, onOpenPage: openPage });\n const [admin, setAdmin] = useState<'settings' | 'members' | null>(null);\n const [agentPicker, setAgentPicker] = useState(false);\n const [teamspaceOpen, setTeamspaceOpen] = useState(false);\n const [connectionsOpen, setConnectionsOpen] = useState(false);\n\n const addSectionPage = async (teamspace: string | null) => {\n try {\n const created = await notion.createSectionPage(teamspace);\n if (created?.id) openPage(created.id);\n } catch (err) {\n Alert.alert(\"Couldn't create the page\", err instanceof Error ? err.message : undefined);\n }\n };\n\n const confirmDeleteWorkspace = () => {\n const ws = notion.workspace;\n if (!ws) return;\n Alert.alert(`Move “${ws.name}” to trash?`, 'Its pages go with it. This affects everyone in the workspace.', [\n { text: 'Cancel', style: 'cancel' },\n {\n text: 'Move to trash',\n style: 'destructive',\n onPress: () =>\n notion\n .deleteWorkspace(ws.id)\n .catch((err) =>\n Alert.alert(\n \"Couldn't move the workspace to trash\",\n err instanceof Error ? err.message : undefined,\n ),\n ),\n },\n ]);\n };\n\n // Web: the Notion AI panel (yantra-notion skill on this workspace), not a bare chat.\n const askAiSheet = useNotionAskAi({\n orgName,\n workspace: notion.workspace ? { id: notion.workspace.id, name: notion.workspace.name } : null,\n palette,\n });\n const { open: openAskAi } = askAiSheet;\n const askAi = useCallback(() => openAskAi(), [openAskAi]);\n\n const requireWorkspace = useCallback(() => {\n if (hasWorkspace) return true;\n setCreateOpen(true);\n return false;\n }, [hasWorkspace]);\n\n const run = useCallback(\n async (kind: 'page' | 'meeting') => {\n if (!requireWorkspace() || busy) return;\n setBusy(kind);\n try {\n const created = kind === 'page' ? await notion.createPage() : await notion.createMeeting();\n if (created?.id) openPage(created.id);\n } catch (err) {\n Alert.alert(`Couldn't create the ${kind}`, err instanceof Error ? err.message : undefined);\n } finally {\n setBusy(null);\n }\n },\n [busy, notion, openPage, requireWorkspace],\n );\n\n const openSheet = useCallback(\n (kind: SheetKind) => {\n setSearching(false);\n if (kind !== 'inbox' && kind !== 'trash' && !requireWorkspace()) return;\n setSheet(kind);\n },\n [requireWorkspace],\n );\n\n const onRefresh = useCallback(async () => {\n setRefreshing(true);\n try {\n await Promise.all([notion.refresh(), unreadQuery.refetch()]);\n } finally {\n setRefreshing(false);\n }\n }, [notion, unreadQuery]);\n\n const quickActions: Array<{ key: TintKey; label: string; icon: IconName; onPress: () => void; busy?: boolean }> = [\n { key: 'ai', label: 'Ask AI', icon: 'sparkles', onPress: askAi },\n { key: 'page', label: 'New page', icon: 'add', onPress: () => run('page'), busy: busy === 'page' },\n { key: 'templates', label: 'Templates', icon: 'albums-outline', onPress: () => openSheet('templates') },\n {\n key: 'meeting',\n label: 'Meeting',\n icon: 'calendar-outline',\n onPress: () => run('meeting'),\n busy: busy === 'meeting',\n },\n ];\n\n const browse: Array<{ key: SheetKind; icon: IconName; subtitle?: string; badge?: number }> = [\n { key: 'inbox', icon: 'notifications-outline', subtitle: 'Mentions and reminders', badge: unread },\n {\n key: 'meetings',\n icon: 'calendar-outline',\n subtitle: `${notion.meetings.length} ${notion.meetings.length === 1 ? 'meeting' : 'meetings'}`,\n },\n {\n key: 'all',\n icon: 'documents-outline',\n subtitle: `${notion.pages.length} ${notion.pages.length === 1 ? 'page' : 'pages'}`,\n },\n { key: 'templates', icon: 'albums-outline', subtitle: 'Start from a ready-made page' },\n { key: 'trash', icon: 'trash-outline', subtitle: 'Restore deleted pages' },\n ];\n\n /** The web ⌘K palette's Quick actions, shown while the search field is empty. */\n const commands: Array<{ key: string; label: string; icon: IconName; tintKey: TintKey; onPress: () => void }> = [\n { key: 'new', label: 'New page', icon: 'add', tintKey: 'page', onPress: () => run('page') },\n { key: 'all', label: 'All pages', icon: 'documents-outline', tintKey: 'all', onPress: () => openSheet('all') },\n {\n key: 'trash',\n label: 'Open Trash',\n icon: 'trash-outline',\n tintKey: 'trash',\n onPress: () => openSheet('trash'),\n },\n {\n key: 'templates',\n label: 'Browse template gallery',\n icon: 'albums-outline',\n tintKey: 'templates',\n onPress: () => openSheet('templates'),\n },\n { key: 'ai', label: 'Go to Yantra AI', icon: 'sparkles', tintKey: 'ai', onPress: askAi },\n {\n key: 'meetings',\n label: 'Go to Meetings',\n icon: 'calendar-outline',\n tintKey: 'meeting',\n onPress: () => openSheet('meetings'),\n },\n ];\n\n return (\n <View style={[styles.root, { backgroundColor: palette.bg }]}>\n <View style={styles.header}>\n <Pressable\n accessibilityRole=\"button\"\n accessibilityLabel={hasWorkspace ? 'Workspace menu' : 'Create workspace'}\n onPress={() => (hasWorkspace ? setMenuOpen(true) : setCreateOpen(true))}\n style={({ pressed }) => [styles.switcher, pressed && { backgroundColor: palette.pressed }]}\n >\n <WorkspaceBadge workspace={notion.workspace} palette={palette} />\n <View style={styles.switcherText}>\n <Text numberOfLines={1} style={[styles.switcherName, { color: palette.text }]}>\n {notion.workspace?.name ?? 'No workspace'}\n </Text>\n <Text numberOfLines={1} style={[styles.switcherMeta, { color: palette.textMuted }]}>\n {hasWorkspace\n ? `${notion.pages.length} ${notion.pages.length === 1 ? 'page' : 'pages'}`\n : 'Tap to create one'}\n </Text>\n </View>\n <Ionicons name=\"chevron-down\" size={16} color={palette.textMuted} />\n </Pressable>\n <Pressable\n accessibilityRole=\"button\"\n accessibilityLabel={unread ? `Inbox, ${unread} unread` : 'Inbox'}\n onPress={() => openSheet('inbox')}\n style={({ pressed }) => [\n styles.iconButton,\n { backgroundColor: palette.fill },\n pressed && ui.pressedScale,\n ]}\n >\n <Ionicons name=\"notifications-outline\" size={20} color={palette.text} />\n {unread ? (\n <View style={[styles.badgeDot, { backgroundColor: palette.primary, borderColor: palette.bg }]}>\n <Text style={styles.badgeDotText}>{unread > 9 ? '9+' : unread}</Text>\n </View>\n ) : null}\n </Pressable>\n <Pressable\n accessibilityRole=\"button\"\n accessibilityLabel=\"New page\"\n onPress={() => run('page')}\n style={({ pressed }) => [\n styles.iconButton,\n { backgroundColor: palette.primary },\n pressed && ui.pressedScale,\n ]}\n >\n {busy === 'page' ? (\n <ActivityIndicator size=\"small\" color={palette.onPrimary} />\n ) : (\n <Ionicons name=\"create-outline\" size={20} color={palette.onPrimary} />\n )}\n </Pressable>\n </View>\n\n {searching ? (\n <SearchMode\n palette={palette}\n tint={tint}\n workspaceId={notion.workspace?.id ?? null}\n commands={commands}\n onOpenPage={openPage}\n onCreatePage={async (title) => {\n if (!requireWorkspace()) return;\n try {\n const created = await notion.createPage(title);\n if (created?.id) openPage(created.id);\n } catch (err) {\n Alert.alert(\"Couldn't create the page\", err instanceof Error ? err.message : undefined);\n }\n }}\n onCancel={() => setSearching(false)}\n />\n ) : (\n <ScrollView\n contentContainerStyle={styles.homeContent}\n refreshControl={\n <RefreshControl refreshing={refreshing} onRefresh={onRefresh} tintColor={palette.textMuted} />\n }\n >\n <Pressable\n accessibilityRole=\"search\"\n onPress={() => setSearching(true)}\n style={[styles.searchPill, { backgroundColor: palette.fill }]}\n >\n <Ionicons name=\"search\" size={17} color={palette.textMuted} />\n <Text style={[styles.searchPlaceholder, { color: palette.textMuted }]}>\n Search pages or jump to…\n </Text>\n </Pressable>\n\n <Text style={[styles.date, { color: palette.textMuted }]}>{todayLabel().toUpperCase()}</Text>\n <Text style={[styles.greeting, { color: palette.text }]}>{greeting()}</Text>\n\n <View style={styles.actions}>\n {quickActions.map((a) => {\n const t = tint(a.key);\n return (\n <Pressable\n key={a.key}\n accessibilityRole=\"button\"\n accessibilityLabel={a.label}\n onPress={a.onPress}\n style={({ pressed }) => [\n styles.action,\n { backgroundColor: pressed ? palette.pressed : palette.card },\n ui.cardShadow,\n ]}\n >\n <View style={[styles.actionIcon, { backgroundColor: t.bg }]}>\n {a.busy ? (\n <ActivityIndicator size=\"small\" color={t.fg} />\n ) : (\n <Ionicons name={a.icon} size={20} color={t.fg} />\n )}\n </View>\n <Text numberOfLines={1} style={[styles.actionLabel, { color: palette.text }]}>\n {a.label}\n </Text>\n </Pressable>\n );\n })}\n </View>\n\n {notion.loading ? (\n <View style={styles.loading}>\n <ActivityIndicator color={palette.textMuted} />\n </View>\n ) : notion.error ? (\n <EmptyState\n palette={palette}\n icon=\"cloud-offline-outline\"\n title=\"Couldn't load your workspace\"\n text=\"Check your connection and pull down to try again.\"\n />\n ) : !hasWorkspace ? (\n <EmptyState\n palette={palette}\n icon=\"albums-outline\"\n title=\"No workspace yet\"\n text=\"Create a workspace to start organizing your pages.\"\n action={{ label: 'Create workspace', onPress: () => setCreateOpen(true) }}\n />\n ) : (\n <>\n <RecentStrip recents={recents} palette={palette} onOpen={openPage} />\n {upcoming.length ? (\n <>\n <SectionHeader\n label=\"Upcoming meetings\"\n palette={palette}\n action={{ label: 'See all', onPress: () => openSheet('meetings') }}\n />\n <Group palette={palette}>\n {upcoming.map((m, i) => (\n <MeetingRowView\n key={m.id}\n row={m}\n palette={palette}\n onPress={() => openPage(m.id)}\n divider={i < upcoming.length - 1}\n />\n ))}\n </Group>\n </>\n ) : null}\n\n {notion.favoriteIds.length ? (\n <>\n <SectionHeader\n label=\"Favorites\"\n count={notion.favoriteIds.length}\n palette={palette}\n />\n <FavoritesList\n ids={notion.favoriteIds}\n pages={notion.pages}\n palette={palette}\n favoriteIds={notion.favoriteIds}\n onOpenPage={openPage}\n onActions={(page) => pageActions.open(page)}\n />\n </>\n ) : null}\n\n <SectionHeader label=\"Browse\" palette={palette} />\n <Group palette={palette}>\n {browse.map((b, i) => {\n const t = tint(b.key === 'meetings' ? 'meeting' : b.key);\n return (\n <ListRow\n key={b.key}\n palette={palette}\n icon={b.icon}\n iconColor={t.fg}\n iconBg={t.bg}\n title={SHEET_TITLES[b.key]}\n subtitle={b.subtitle}\n onPress={() => openSheet(b.key)}\n divider={i < browse.length - 1}\n trailing={\n b.badge ? (\n <View style={styles.trailing}>\n <View\n style={[\n styles.countBadge,\n { backgroundColor: palette.primary },\n ]}\n >\n <Text style={styles.countBadgeText}>{b.badge}</Text>\n </View>\n <Ionicons\n name=\"chevron-forward\"\n size={16}\n color={palette.textFaint}\n />\n </View>\n ) : undefined\n }\n />\n );\n })}\n </Group>\n\n <AgentsSection\n agents={notion.agents}\n palette={palette}\n isDark={isDark}\n onOpen={openPage}\n onNew={() => setAgentPicker(true)}\n />\n\n <TeamspacesSection\n groups={notion.teamspaceGroups}\n palette={palette}\n isDark={isDark}\n favoriteIds={notion.favoriteIds}\n onOpenPage={openPage}\n onActions={(page) => pageActions.open(page)}\n onAddPage={(name) => addSectionPage(name)}\n onAddTeamspace={() => setTeamspaceOpen(true)}\n onRemoveTeamspace={(t) =>\n Alert.alert(`Remove “${t.name}”?`, 'Its pages move back to My pages.', [\n { text: 'Cancel', style: 'cancel' },\n {\n text: 'Remove',\n style: 'destructive',\n onPress: () => notion.removeTeamspace(t.id).catch(() => undefined),\n },\n ])\n }\n />\n\n <SectionHeader\n label=\"My pages\"\n count={notion.myPages.length}\n palette={palette}\n action={{ label: 'All pages', onPress: () => openSheet('all') }}\n />\n {notion.myPages.length === 0 ? (\n <EmptyState\n palette={palette}\n icon=\"document-text-outline\"\n title=\"No pages yet\"\n text=\"Start with a blank page or pick a template.\"\n action={{ label: 'New page', onPress: () => run('page'), busy: busy === 'page' }}\n />\n ) : (\n <PageTree\n pages={notion.myPages}\n palette={palette}\n favoriteIds={notion.favoriteIds}\n onOpenPage={openPage}\n onActions={(page) => pageActions.open(page)}\n />\n )}\n </>\n )}\n </ScrollView>\n )}\n\n <Modal\n visible={sheet !== null}\n animationType=\"slide\"\n presentationStyle=\"pageSheet\"\n onRequestClose={() => setSheet(null)}\n >\n <View style={[styles.root, { backgroundColor: palette.bg }]}>\n {sheet ? (\n <>\n <SheetHeader title={SHEET_TITLES[sheet]} onDone={() => setSheet(null)} palette={palette} />\n {sheet === 'inbox' ? <InboxSheet palette={palette} onOpenPage={openPage} /> : null}\n {sheet === 'meetings' ? (\n <MeetingsSheet palette={palette} notion={notion} onOpenPage={openPage} />\n ) : null}\n {sheet === 'all' ? (\n <AllPagesSheet palette={palette} notion={notion} onOpenPage={openPage} />\n ) : null}\n {sheet === 'templates' ? (\n <TemplatesSheet palette={palette} notion={notion} onOpenPage={openPage} />\n ) : null}\n {sheet === 'trash' ? (\n <TrashSheet palette={palette} notion={notion} onOpenPage={openPage} />\n ) : null}\n </>\n ) : null}\n </View>\n </Modal>\n\n <WorkspaceMenu\n visible={menuOpen}\n palette={palette}\n workspaces={notion.workspaces}\n activeId={notion.workspace?.id ?? null}\n onClose={() => setMenuOpen(false)}\n onSelect={(id) => {\n notion.selectWorkspace(id);\n setMenuOpen(false);\n }}\n onCreate={() => {\n setMenuOpen(false);\n setCreateOpen(true);\n }}\n onSettings={() => {\n setMenuOpen(false);\n afterNativeModalClose(() => setAdmin('settings'));\n }}\n onMembers={() => {\n setMenuOpen(false);\n afterNativeModalClose(() => setAdmin('members'));\n }}\n onConnections={() => {\n setMenuOpen(false);\n afterNativeModalClose(() => setConnectionsOpen(true));\n }}\n onDeleteWorkspace={() => {\n setMenuOpen(false);\n afterNativeModalClose(confirmDeleteWorkspace);\n }}\n />\n {askAiSheet.element}\n <ConnectionsSheet\n visible={connectionsOpen}\n palette={palette}\n orgName={orgName}\n onClose={() => setConnectionsOpen(false)}\n />\n <AgentTemplateSheet\n visible={agentPicker}\n palette={palette}\n isDark={isDark}\n onPick={async (template) => {\n const created = await notion.createAgent(template);\n if (created?.id) afterNativeModalClose(() => openPage(created.id));\n }}\n onClose={() => setAgentPicker(false)}\n />\n <AddTeamspaceSheet\n visible={teamspaceOpen}\n palette={palette}\n isDark={isDark}\n onAdd={(name, color) => notion.addTeamspace(name, color)}\n onClose={() => setTeamspaceOpen(false)}\n />\n <WorkspaceAdminSheet\n visible={admin !== null}\n initialTab={admin ?? 'settings'}\n palette={palette}\n notion={notion}\n onClose={() => setAdmin(null)}\n />\n {pageActions.element}\n <CreateWorkspaceSheet\n visible={createOpen}\n palette={palette}\n onClose={() => setCreateOpen(false)}\n onCreate={notion.createWorkspace}\n />\n </View>\n );\n}\n\ninterface SearchHit {\n snippet: string;\n block: NotionBlock;\n container?: { id: string; title: string; type: string } | null;\n parentPath: Array<{ id: string; title: string; type: string }>;\n}\n\nfunction SearchMode({\n palette,\n tint,\n workspaceId,\n commands,\n onOpenPage,\n onCreatePage,\n onCancel,\n}: {\n palette: Palette;\n tint: (key: TintKey) => { fg: string; bg: string };\n workspaceId: string | null;\n commands: Array<{ key: string; label: string; icon: IconName; tintKey: TintKey; onPress: () => void }>;\n onOpenPage: (id: string) => void;\n onCreatePage: (title: string) => void;\n onCancel: () => void;\n}) {\n const client = useApolloClient();\n const [text, setText] = useState('');\n const [filter, setFilter] = useState('all');\n const [hits, setHits] = useState<SearchHit[]>([]);\n const [cursor, setCursor] = useState<string | null>(null);\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState(false);\n const query = text.trim();\n const seq = useRef(0);\n\n /** Server search with hits (web SearchView): breadcrumb + snippet, cursor paging. */\n const fetchPage = useCallback(\n async (after: string | null) => {\n const id = ++seq.current;\n setLoading(true);\n setError(false);\n const types = SEARCH_FILTERS.find((f) => f.id === filter)?.types;\n try {\n const res = await client.query<{\n searchBlocks?: { hits?: SearchHit[] | null; nextCursor?: string | null; hasMore?: boolean } | null;\n }>({\n query: NATIVE_NOTION_SEARCH_HITS,\n variables: {\n input: {\n query,\n pageSize: 25,\n ...(types ? { types } : {}),\n ...(workspaceId ? { workspaceId } : {}),\n ...(after ? { startCursor: after } : {}),\n },\n },\n fetchPolicy: 'network-only',\n });\n if (id !== seq.current) return;\n const page = (res.data?.searchBlocks?.hits ?? []).filter((h) => h?.block && !h.block.inTrash);\n setHits((prev) => {\n const merged = after ? [...prev, ...page] : page;\n const seen = new Set<string>();\n return merged.filter((h) => !seen.has(h.block.id) && Boolean(seen.add(h.block.id)));\n });\n const more = res.data?.searchBlocks?.hasMore;\n setCursor(more ? (res.data?.searchBlocks?.nextCursor ?? null) : null);\n } catch {\n if (id === seq.current) setError(true);\n } finally {\n if (id === seq.current) setLoading(false);\n }\n },\n [client, filter, query, workspaceId],\n );\n\n useEffect(() => {\n if (!query) {\n seq.current += 1;\n setHits([]);\n setCursor(null);\n setLoading(false);\n return undefined;\n }\n const timer = setTimeout(() => fetchPage(null), 250);\n return () => clearTimeout(timer);\n }, [fetchPage, query]);\n\n const shownCommands = commands.filter((c) => !query || c.label.toLowerCase().includes(query.toLowerCase()));\n const exactTitle = hits.some(\n (h) => isPageBlock(h.block) && pageTitle(h.block).toLowerCase() === query.toLowerCase(),\n );\n let hint = '';\n if (query && error) hint = 'Search failed. Pull down or type again to retry.';\n else if (query && !loading && !hits.length) hint = 'No results';\n\n const openHit = (h: SearchHit) => onOpenPage(isPageBlock(h.block) ? h.block.id : (h.container?.id ?? h.block.id));\n\n return (\n <View style={ui.flex}>\n <View style={styles.searchBar}>\n <View style={[styles.searchField, { backgroundColor: palette.fill }]}>\n <Ionicons name=\"search\" size={17} color={palette.textMuted} />\n <TextInput\n value={text}\n onChangeText={setText}\n placeholder=\"Search pages, jump to, or run a command…\"\n placeholderTextColor={palette.textMuted}\n autoFocus\n autoCorrect={false}\n returnKeyType=\"search\"\n clearButtonMode=\"while-editing\"\n style={[styles.searchInput, { color: palette.text }]}\n />\n {loading ? <ActivityIndicator size=\"small\" color={palette.textMuted} /> : null}\n </View>\n <Pressable accessibilityRole=\"button\" onPress={onCancel} hitSlop={8}>\n <Text style={[styles.cancel, { color: palette.primary }]}>Cancel</Text>\n </Pressable>\n </View>\n {query ? (\n <ScrollView\n horizontal\n showsHorizontalScrollIndicator={false}\n keyboardShouldPersistTaps=\"always\"\n contentContainerStyle={styles.filterRow}\n style={styles.filterBar}\n >\n {SEARCH_FILTERS.map((f) => {\n const active = f.id === filter;\n return (\n <Pressable\n key={f.id}\n accessibilityRole=\"tab\"\n accessibilityState={{ selected: active }}\n onPress={() => setFilter(f.id)}\n style={[styles.filterChip, { backgroundColor: active ? palette.text : palette.fill }]}\n >\n <Text style={[styles.filterLabel, { color: active ? palette.card : palette.text }]}>\n {f.label}\n </Text>\n </Pressable>\n );\n })}\n </ScrollView>\n ) : null}\n <ScrollView keyboardShouldPersistTaps=\"handled\" contentContainerStyle={styles.searchContent}>\n {query && hits.length ? (\n <>\n <Text style={[styles.searchSection, { color: palette.textMuted }]}>Results</Text>\n <Group palette={palette}>\n {hits.map((h, i) => {\n const isPage = isPageBlock(h.block);\n const crumb = hitBreadcrumb(h.parentPath);\n const snippet = (h.snippet ?? '').trim();\n return (\n <ListRow\n key={h.block.id}\n palette={palette}\n emoji={blockIcon(h.block)}\n icon={\n h.block.type === 'database'\n ? 'grid-outline'\n : isPage\n ? 'document-text-outline'\n : h.block.type === 'todo'\n ? 'checkbox-outline'\n : h.block.type === 'code'\n ? 'code-slash-outline'\n : 'reorder-two-outline'\n }\n title={isPage ? pageTitle(h.block) : snippet || pageTitle(h.block)}\n subtitle={[crumb || (isPage ? '' : h.container?.title), isPage ? snippet : '']\n .filter(Boolean)\n .join(' · ')}\n onPress={() => openHit(h)}\n divider={i < hits.length - 1}\n />\n );\n })}\n </Group>\n {cursor ? (\n <Pressable\n accessibilityRole=\"button\"\n onPress={() => fetchPage(cursor)}\n disabled={loading}\n style={styles.loadMore}\n >\n <Text style={[styles.loadMoreLabel, { color: palette.primary }]}>\n {loading ? 'Loading…' : 'Load more'}\n </Text>\n </Pressable>\n ) : null}\n </>\n ) : null}\n {query && !exactTitle && !loading ? (\n <>\n <Text style={[styles.searchSection, { color: palette.textMuted }]}>Create</Text>\n <Group palette={palette}>\n <ListRow\n palette={palette}\n icon=\"add\"\n iconColor={tint('page').fg}\n iconBg={tint('page').bg}\n title={`Create page “${query}”`}\n onPress={() => onCreatePage(query)}\n />\n </Group>\n </>\n ) : null}\n {shownCommands.length ? (\n <>\n <Text style={[styles.searchSection, { color: palette.textMuted }]}>Quick actions</Text>\n <Group palette={palette}>\n {shownCommands.map((c, i) => {\n const t = tint(c.tintKey);\n return (\n <ListRow\n key={c.key}\n palette={palette}\n icon={c.icon}\n iconColor={t.fg}\n iconBg={t.bg}\n title={c.label}\n onPress={c.onPress}\n divider={i < shownCommands.length - 1}\n />\n );\n })}\n </Group>\n </>\n ) : null}\n {hint ? (\n <Text style={[styles.hint, { color: error ? palette.danger : palette.textMuted }]}>{hint}</Text>\n ) : null}\n </ScrollView>\n </View>\n );\n}\n\nfunction WorkspaceMenu({\n visible,\n palette,\n workspaces,\n activeId,\n onClose,\n onSelect,\n onCreate,\n onSettings,\n onMembers,\n onDeleteWorkspace,\n onConnections,\n}: {\n visible: boolean;\n palette: Palette;\n workspaces: NotionWorkspace[];\n activeId: string | null;\n onClose: () => void;\n onSelect: (id: string) => void;\n onCreate: () => void;\n onSettings: () => void;\n onMembers: () => void;\n onDeleteWorkspace: () => void;\n onConnections: () => void;\n}) {\n return (\n <Modal visible={visible} transparent animationType=\"fade\" onRequestClose={onClose}>\n <Pressable style={[styles.backdrop, { backgroundColor: palette.backdrop }]} onPress={onClose}>\n <Pressable style={[styles.bottomSheet, { backgroundColor: palette.card }]}>\n <View style={[styles.grabber, { backgroundColor: palette.hairline }]} />\n <Text style={[styles.bottomSheetTitle, { color: palette.text }]}>Workspaces</Text>\n <FlatList\n data={workspaces}\n keyExtractor={(w) => w.id}\n style={[styles.menuList, { backgroundColor: palette.bg }]}\n renderItem={({ item, index }) => (\n <Pressable\n accessibilityRole=\"button\"\n accessibilityState={{ selected: item.id === activeId }}\n onPress={() => onSelect(item.id)}\n style={({ pressed }) => [\n styles.menuRow,\n pressed && { backgroundColor: palette.pressed },\n ]}\n >\n <WorkspaceBadge workspace={item} palette={palette} size={32} />\n <View\n style={[\n styles.menuRowBody,\n index < workspaces.length - 1 && ui.hairline,\n { borderBottomColor: palette.hairline },\n ]}\n >\n <Text numberOfLines={1} style={[styles.menuRowLabel, { color: palette.text }]}>\n {item.name}\n </Text>\n {item.id === activeId ? (\n <Ionicons name=\"checkmark-circle\" size={22} color={palette.primary} />\n ) : null}\n </View>\n </Pressable>\n )}\n />\n {activeId ? (\n <View style={[styles.menuList, styles.menuActions, { backgroundColor: palette.bg }]}>\n {[\n {\n label: 'Workspace settings…',\n icon: 'settings-outline' as const,\n onPress: onSettings,\n },\n { label: 'Members…', icon: 'people-outline' as const, onPress: onMembers },\n { label: 'Connections…', icon: 'link-outline' as const, onPress: onConnections },\n ].map((a, i) => (\n <Pressable\n key={a.label}\n accessibilityRole=\"button\"\n onPress={a.onPress}\n style={({ pressed }) => [\n styles.menuRow,\n pressed && { backgroundColor: palette.pressed },\n ]}\n >\n <Ionicons name={a.icon} size={20} color={palette.text} />\n <View\n style={[\n styles.menuRowBody,\n i < 2 && ui.hairline,\n { borderBottomColor: palette.hairline },\n ]}\n >\n <Text style={[styles.menuRowLabel, { color: palette.text }]}>{a.label}</Text>\n <Ionicons name=\"chevron-forward\" size={16} color={palette.textFaint} />\n </View>\n </Pressable>\n ))}\n </View>\n ) : null}\n {activeId ? (\n <Pressable\n accessibilityRole=\"button\"\n onPress={onDeleteWorkspace}\n style={({ pressed }) => [styles.dangerRow, pressed && { backgroundColor: palette.pressed }]}\n >\n <Ionicons name=\"trash-outline\" size={19} color={palette.danger} />\n <Text style={[styles.menuRowLabel, { color: palette.danger }]}>\n Move workspace to trash\n </Text>\n </Pressable>\n ) : null}\n <Pressable\n accessibilityRole=\"button\"\n onPress={onCreate}\n style={({ pressed }) => [\n styles.secondaryButton,\n { backgroundColor: palette.primarySoft },\n pressed && ui.pressedScale,\n ]}\n >\n <Ionicons name=\"add\" size={18} color={palette.primary} />\n <Text style={[styles.secondaryButtonLabel, { color: palette.primary }]}>Create workspace</Text>\n </Pressable>\n </Pressable>\n </Pressable>\n </Modal>\n );\n}\n\n/** Web \"New workspace\" dialog: a blank name becomes \"Untitled workspace\". */\nfunction CreateWorkspaceSheet({\n visible,\n palette,\n onClose,\n onCreate,\n}: {\n visible: boolean;\n palette: Palette;\n onClose: () => void;\n onCreate: (name: string) => Promise<unknown>;\n}) {\n const [name, setName] = useState('');\n const [saving, setSaving] = useState(false);\n\n useEffect(() => {\n if (visible) setName('');\n }, [visible]);\n\n const submit = async () => {\n if (saving) return;\n setSaving(true);\n try {\n await onCreate(name);\n onClose();\n } catch (err) {\n Alert.alert(\"Couldn't create the workspace\", err instanceof Error ? err.message : undefined);\n } finally {\n setSaving(false);\n }\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.bottomSheet, { backgroundColor: palette.card }]}>\n <View style={[styles.grabber, { backgroundColor: palette.hairline }]} />\n <View style={[styles.dialogIcon, { backgroundColor: palette.primarySoft }]}>\n <Ionicons name=\"albums-outline\" size={26} color={palette.primary} />\n </View>\n <Text style={[styles.dialogTitle, { color: palette.text }]}>New workspace</Text>\n <Text style={[styles.dialogText, { color: palette.textMuted }]}>\n Give your workspace a name. You can change it later.\n </Text>\n <Text style={[styles.fieldLabel, { color: palette.textMuted }]}>Name</Text>\n <TextInput\n value={name}\n onChangeText={setName}\n placeholder=\"e.g. Marketing, Personal, Team Alpha\"\n placeholderTextColor={palette.textFaint}\n autoFocus\n returnKeyType=\"done\"\n onSubmitEditing={submit}\n style={[styles.dialogInput, { color: palette.text, backgroundColor: palette.fill }]}\n />\n <Text style={[styles.fieldHelp, { color: palette.textFaint }]}>\n Leave blank to use “Untitled workspace”.\n </Text>\n <Pressable\n accessibilityRole=\"button\"\n onPress={submit}\n disabled={saving}\n style={({ pressed }) => [\n ui.primaryButton,\n styles.blockButton,\n { backgroundColor: palette.primary },\n pressed && ui.pressedScale,\n ]}\n >\n {saving ? (\n <ActivityIndicator size=\"small\" color={palette.onPrimary} />\n ) : (\n <Text style={[ui.primaryButtonLabel, { color: palette.onPrimary }]}>Create</Text>\n )}\n </Pressable>\n <Pressable accessibilityRole=\"button\" onPress={onClose} style={styles.textButton}>\n <Text style={[styles.textButtonLabel, { color: palette.textMuted }]}>Cancel</Text>\n </Pressable>\n </Pressable>\n </Pressable>\n </KeyboardAvoidingView>\n </Modal>\n );\n}\n\nconst styles = StyleSheet.create({\n root: { flex: 1 },\n loading: { paddingVertical: 48, alignItems: 'center' },\n\n header: {\n flexDirection: 'row',\n alignItems: 'center',\n gap: 8,\n paddingHorizontal: 12,\n paddingTop: 8,\n paddingBottom: 4,\n },\n switcher: { flex: 1, flexDirection: 'row', alignItems: 'center', gap: 10, padding: 6, borderRadius: 14 },\n switcherText: { flexShrink: 1 },\n switcherName: { fontSize: 17, fontWeight: '700', letterSpacing: -0.2 },\n switcherMeta: { fontSize: 13, marginTop: 1 },\n iconButton: { width: 40, height: 40, borderRadius: 20, alignItems: 'center', justifyContent: 'center' },\n badgeDot: {\n position: 'absolute',\n top: -2,\n right: -2,\n minWidth: 18,\n height: 18,\n paddingHorizontal: 4,\n borderRadius: 9,\n borderWidth: 2,\n alignItems: 'center',\n justifyContent: 'center',\n },\n badgeDotText: { color: '#fff', fontSize: 10, fontWeight: '800' },\n\n homeContent: { paddingHorizontal: 16, paddingTop: 8, paddingBottom: 48 },\n searchPill: {\n flexDirection: 'row',\n alignItems: 'center',\n gap: 8,\n height: 40,\n paddingHorizontal: 12,\n borderRadius: 12,\n },\n searchPlaceholder: { fontSize: 16 },\n date: { fontSize: 12, fontWeight: '600', letterSpacing: 0.6, marginTop: 24 },\n greeting: { fontSize: 32, fontWeight: '800', letterSpacing: -0.6, marginTop: 4 },\n\n actions: { flexDirection: 'row', gap: 10, marginTop: 20 },\n action: { flex: 1, alignItems: 'center', gap: 8, paddingVertical: 14, borderRadius: 16 },\n actionIcon: { width: 44, height: 44, borderRadius: 14, alignItems: 'center', justifyContent: 'center' },\n actionLabel: { fontSize: 13, fontWeight: '600' },\n\n trailing: { flexDirection: 'row', alignItems: 'center', gap: 6 },\n countBadge: {\n minWidth: 22,\n height: 22,\n paddingHorizontal: 6,\n borderRadius: 11,\n alignItems: 'center',\n justifyContent: 'center',\n },\n countBadgeText: { color: '#fff', fontSize: 12, fontWeight: '800' },\n\n searchBar: { flexDirection: 'row', alignItems: 'center', gap: 12, paddingHorizontal: 16, paddingVertical: 8 },\n searchField: {\n flex: 1,\n flexDirection: 'row',\n alignItems: 'center',\n gap: 8,\n height: 40,\n paddingHorizontal: 12,\n borderRadius: 12,\n },\n searchInput: { flex: 1, fontSize: 16, paddingVertical: 0 },\n cancel: { fontSize: 16, fontWeight: '500' },\n filterBar: { flexGrow: 0 },\n filterRow: { gap: 8, paddingHorizontal: 16, paddingBottom: 4 },\n filterChip: { paddingHorizontal: 14, paddingVertical: 7, borderRadius: 999 },\n filterLabel: { fontSize: 14, fontWeight: '600' },\n loadMore: { alignItems: 'center', paddingVertical: 14 },\n loadMoreLabel: { fontSize: 15, fontWeight: '700' },\n searchContent: { paddingHorizontal: 16, paddingBottom: 48 },\n searchSection: { fontSize: 13, fontWeight: '600', marginTop: 16, marginBottom: 8, marginLeft: 4 },\n hint: { fontSize: 15, textAlign: 'center', paddingVertical: 40 },\n\n backdrop: { flex: 1, justifyContent: 'flex-end' },\n bottomSheet: {\n borderTopLeftRadius: 24,\n borderTopRightRadius: 24,\n paddingHorizontal: 16,\n paddingTop: 8,\n paddingBottom: 36,\n },\n grabber: { alignSelf: 'center', width: 36, height: 5, borderRadius: 3, marginBottom: 12 },\n bottomSheetTitle: { fontSize: 20, fontWeight: '700', marginBottom: 12, marginLeft: 4 },\n menuList: { borderRadius: 16, maxHeight: 320, flexGrow: 0 },\n menuActions: { marginTop: 12 },\n dangerRow: {\n flexDirection: 'row',\n alignItems: 'center',\n gap: 12,\n paddingHorizontal: 12,\n paddingVertical: 14,\n marginTop: 8,\n borderRadius: 12,\n },\n menuRow: { flexDirection: 'row', alignItems: 'center', paddingLeft: 12 },\n menuRowBody: {\n flex: 1,\n flexDirection: 'row',\n alignItems: 'center',\n gap: 8,\n marginLeft: 12,\n paddingRight: 12,\n paddingVertical: 14,\n },\n menuRowLabel: { flex: 1, fontSize: 16, fontWeight: '600' },\n secondaryButton: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'center',\n gap: 6,\n minHeight: 48,\n marginTop: 14,\n borderRadius: 14,\n },\n secondaryButtonLabel: { fontSize: 16, fontWeight: '700' },\n\n dialogIcon: {\n alignSelf: 'center',\n width: 60,\n height: 60,\n borderRadius: 18,\n alignItems: 'center',\n justifyContent: 'center',\n marginTop: 4,\n },\n dialogTitle: { fontSize: 20, fontWeight: '700', textAlign: 'center', marginTop: 14 },\n dialogText: { fontSize: 15, textAlign: 'center', marginTop: 6 },\n fieldLabel: { fontSize: 13, fontWeight: '600', marginTop: 20, marginBottom: 6, marginLeft: 2 },\n dialogInput: { fontSize: 16, height: 48, paddingHorizontal: 14, borderRadius: 12 },\n fieldHelp: { fontSize: 13, marginTop: 6, marginLeft: 2 },\n blockButton: { alignSelf: 'stretch' },\n textButton: { alignItems: 'center', paddingVertical: 12, marginTop: 4 },\n textButtonLabel: { fontSize: 16, fontWeight: '600' },\n});\n"],"names":["_a"],"mappings":"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"}
|
|
@@ -357,7 +357,9 @@ function CellEditorSheet({
|
|
|
357
357
|
/* @__PURE__ */ jsx(Text, { style: [styles.optionLabel, {
|
|
358
358
|
color: palette.text
|
|
359
359
|
}], children: column.name }),
|
|
360
|
-
/* @__PURE__ */ jsx(Switch, { value: stored === true, onValueChange: (v) =>
|
|
360
|
+
/* @__PURE__ */ jsx(Switch, { value: stored === true, onValueChange: (v) => {
|
|
361
|
+
save(v);
|
|
362
|
+
} })
|
|
361
363
|
] });
|
|
362
364
|
}
|
|
363
365
|
if (type === "date") {
|