-
+
+ {(sources.length > 0 || queries.length > 0) && (
+
+
+
+ setSelection('sources')}
+ >
+ Recently viewed
+
+ setSelection('queries')}
+ >
+ Recent searches
+
+
setSelection('sources')}
+ disabled={clear.isPending}
+ onClick={() =>
+ clear.mutate(undefined, { onError: (error) => toast.error(error.message) })
+ }
>
- Recently viewed
+ Clear history
-
setSelection('queries')}
+
+
+
- Recent searches
-
+ {sources.length > 0 ? (
+ sources.map((source) =>
)
+ ) : (
+
+ Sources you open will appear here.
+
+ )}
+
+
+ {queries.length > 0 ? (
+ queries.map(({ query }) => (
+
+ onSearch(query)}>
+ {query}
+
+
+ ))
+ ) : (
+
+ Your recent searches will appear here.
+
+ )}
+
-
- clear.mutate(undefined, { onError: (error) => toast.error(error.message) })
- }
- >
- Clear history
+
+ )}
+ {history.isError && (
+
+ Recent activity couldn’t load.
+ void history.refetch()} disabled={history.isFetching}>
+ Try again
-
-
- {sources.length > 0 ? (
- sources.map((source) =>
)
- ) : (
-
- Sources you open will appear here.
-
- )}
-
-
- {queries.length > 0 ? (
- queries.map(({ query }) => (
-
- onSearch(query)}>
- {query}
-
-
- ))
- ) : (
-
- Your recent searches will appear here.
-
- )}
-
-
-
- )}
- {history.isError && (
-
- Recent activity couldn’t load.
- void history.refetch()} disabled={history.isFetching}>
- Try again
-
-
- )}
+ )}
+
)
}
diff --git a/apps/sim/app/o/[organizationId]/home/organization-home.tsx b/apps/sim/app/o/[organizationId]/home/organization-home.tsx
index 0d44c285fa6..7baabe357df 100644
--- a/apps/sim/app/o/[organizationId]/home/organization-home.tsx
+++ b/apps/sim/app/o/[organizationId]/home/organization-home.tsx
@@ -1,7 +1,7 @@
'use client'
import { useCallback, useEffect, useState, useSyncExternalStore } from 'react'
-import { cn, pageHeadingClassName, toast } from '@sim/emcn'
+import { toast } from '@sim/emcn'
import { useQueryClient } from '@tanstack/react-query'
import Link from 'next/link'
import { useQueryStates } from 'nuqs'
@@ -16,6 +16,7 @@ import {
getMothershipAttachmentUrl,
} from '@/lib/mothership/chat/attachment-preview'
import { createSearchResource } from '@/lib/mothership/resources/search'
+import { OrganizationLanding } from '@/app/o/[organizationId]/components/organization-landing'
import { Composer } from '@/app/o/[organizationId]/home/components/composer'
import { GetStarted } from '@/app/o/[organizationId]/home/components/get-started'
import { organizationHomeParsers } from '@/app/o/[organizationId]/home/search-params'
@@ -396,32 +397,27 @@ function OrganizationHomeContent({
}
/>
) : (
-
- {/* Asymmetric padding biases the group up so the full cluster (heading + input + steps) sits at the optical center */}
-
-
- {requestMode === 'assistant'
- ? `Search ${organization.name}`
- : requestMode === 'plan'
- ? `What should we understand and plan${firstName ? `, ${firstName}` : ''}?`
- : `What should we get done${firstName ? `, ${firstName}` : ''}?`}
-
-
- {composer}
- {/* Anchored out of flow so expanding/collapsing never shifts the centered input */}
-
- {requestMode === 'agent' ? (
- setDraft(mentionifyIntegrations(prompt))}
- />
- ) : searchAccess.memberScoped ? (
-
- ) : null}
-
-
+
+ {composer}
+
+ {requestMode === 'agent' ? (
+ setDraft(mentionifyIntegrations(prompt))}
+ />
+ ) : searchAccess.memberScoped ? (
+
+ ) : null}
-
+
)}
)
diff --git a/apps/sim/app/o/[organizationId]/search/search-results-view.tsx b/apps/sim/app/o/[organizationId]/search/search-results-view.tsx
index 6a3fa1e55e8..a0d6bdd76dd 100644
--- a/apps/sim/app/o/[organizationId]/search/search-results-view.tsx
+++ b/apps/sim/app/o/[organizationId]/search/search-results-view.tsx
@@ -1,14 +1,9 @@
import { type ReactNode, useRef } from 'react'
-import {
- cn,
- pageHeadingClassName,
- scrollFadeAttributes,
- scrollFadeClass,
- useScrollEdges,
-} from '@sim/emcn'
+import { cn, scrollFadeAttributes, scrollFadeClass, useScrollEdges } from '@sim/emcn'
import { HEADER_ACTION_CLUSTER, PAGE_HEADER_BAR } from '@/components/page-header-bar'
import type { WorkspaceSearchFilters } from '@/lib/api/contracts/knowledge'
import type { SearchResource } from '@/lib/mothership/generated/resources'
+import { OrganizationLanding } from '@/app/o/[organizationId]/components/organization-landing'
import { PAGE_COLUMN_CLASS } from '@/app/o/[organizationId]/components/organization-page'
import { useOrganizationContext } from '@/app/o/[organizationId]/providers/organization-provider'
import { KnowledgeSearchResults } from '@/app/workspace/[workspaceId]/home/components/knowledge-search-results'
@@ -42,11 +37,11 @@ export function SearchResultsView({
})
return (
-
{searching ? (
<>
+
{composer}
@@ -73,15 +68,9 @@ export function SearchResultsView({
>
) : (
-
- {/* Asymmetric padding biases the group up so heading and field sit at the optical center, as on Home */}
-
-
- Search {organization.name}
-
-
{composer}
-
-
+
+ {composer}
+
)}
)
diff --git a/apps/sim/app/o/[organizationId]/search/search.tsx b/apps/sim/app/o/[organizationId]/search/search.tsx
index 50bdbc978ca..c7c58551404 100644
--- a/apps/sim/app/o/[organizationId]/search/search.tsx
+++ b/apps/sim/app/o/[organizationId]/search/search.tsx
@@ -2,7 +2,7 @@
import { useEffect, useRef } from 'react'
import { ComposerActionButton, toast } from '@sim/emcn'
-import { ArrowUp, Loader } from '@sim/emcn/icons'
+import { ArrowUp, StopFilled } from '@sim/emcn/icons'
import { useIsFetching, useQueryClient } from '@tanstack/react-query'
import { useRouter } from 'next/navigation'
import { useQueryStates } from 'nuqs'
@@ -39,14 +39,13 @@ interface SearchFieldProps {
function SearchField({ userId, initialValue, onSubmit }: SearchFieldProps) {
const inputRef = useRef