import { useCallback, useMemo } from "react"; import { useWorkspace, useWorkspaces, type WorkspaceRef, type PluginSidebarViewProps, } from "@getpaseo/plugin/client"; import { Pressable, ScrollView, Text } from "react-native"; function WorkspaceRow({ reference, view, }: { reference: WorkspaceRef; view: PluginSidebarViewProps; }) { const workspace = useWorkspace(reference); const open = useCallback( () => view.navigation.openWorkspace(reference), [view.navigation, reference], ); const textStyle = useMemo( () => ({ color: view.theme.colors.foreground, fontSize: 12, lineHeight: 16 }), [view.theme], ); const labelStyle = useMemo( () => ({ color: view.theme.colors.foregroundMuted, fontSize: 11 }), [view.theme], ); if (!workspace) return null; return ( {workspace.title ?? workspace.name} {workspace.indicatorLabel} ); } export function Workspaces(view: PluginSidebarViewProps) { const workspaces = useWorkspaces({ orderBy: "name" }); return ( {workspaces.map((reference) => ( ))} ); } const rowStyle = { minHeight: 28, paddingHorizontal: 12, justifyContent: "center" } as const;