Skip to content

Commit 2100c85

Browse files
committed
fix(search): add files back with per-file deep links, keep jobs out
1 parent 8ef440b commit 2100c85

File tree

4 files changed

+25
-1
lines changed

4 files changed

+25
-1
lines changed

apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/search-modal/_components/search-groups.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import type { ComponentType } from 'react'
44
import { memo } from 'react'
55
import { Command } from 'cmdk'
6-
import { Database, Table } from '@/components/emcn/icons'
6+
import { Database, File, Table } from '@/components/emcn/icons'
77
import type {
88
SearchBlockItem,
99
SearchDocItem,
@@ -244,6 +244,7 @@ export const PagesGroup = memo(function PagesGroup({
244244
})
245245

246246
export const TablesGroup = createIconGroup('Tables', 'table', Table)
247+
export const FilesGroup = createIconGroup('Files', 'file', File)
247248
export const KnowledgeBasesGroup = createIconGroup('Knowledge Bases', 'knowledge-base', Database)
248249

249250
function createIconGroup(

apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/search-modal/search-modal.tsx

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import type {
2121
import {
2222
BlocksGroup,
2323
DocsGroup,
24+
FilesGroup,
2425
KnowledgeBasesGroup,
2526
PagesGroup,
2627
TablesGroup,
@@ -43,6 +44,7 @@ export function SearchModal({
4344
workspaces = [],
4445
tasks = [],
4546
tables = [],
47+
files = [],
4648
knowledgeBases = [],
4749
isOnWorkflowPage = false,
4850
}: SearchModalProps) {
@@ -292,6 +294,10 @@ export function SearchModal({
292294
() => filterAndSort(tables, (t) => `${t.name} table-${t.id}`, deferredSearch),
293295
[tables, deferredSearch]
294296
)
297+
const filteredFiles = useMemo(
298+
() => filterAndSort(files, (f) => `${f.name} file-${f.id}`, deferredSearch),
299+
[files, deferredSearch]
300+
)
295301
const filteredKnowledgeBases = useMemo(
296302
() =>
297303
filterAndSort(knowledgeBases, (kb) => `${kb.name} knowledge-base-${kb.id}`, deferredSearch),
@@ -361,6 +367,7 @@ export function SearchModal({
361367
<WorkflowsGroup items={filteredWorkflows} onSelect={handleWorkflowSelect} />
362368
<TasksGroup items={filteredTasks} onSelect={handleTaskSelect} />
363369
<TablesGroup items={filteredTables} onSelect={handleTaskSelect} />
370+
<FilesGroup items={filteredFiles} onSelect={handleTaskSelect} />
364371
<KnowledgeBasesGroup items={filteredKnowledgeBases} onSelect={handleTaskSelect} />
365372
<ToolOpsGroup items={filteredToolOps} onSelect={handleToolOperationSelect} />
366373
<WorkspacesGroup items={filteredWorkspaces} onSelect={handleWorkspaceSelect} />

apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/search-modal/utils.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ export interface SearchModalProps {
3838
workspaces?: WorkspaceItem[]
3939
tasks?: TaskItem[]
4040
tables?: TaskItem[]
41+
files?: TaskItem[]
4142
knowledgeBases?: TaskItem[]
4243
isOnWorkflowPage?: boolean
4344
}

apps/sim/app/workspace/[workspaceId]/w/components/sidebar/sidebar.tsx

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,7 @@ import {
8787
useRenameTask,
8888
useTasks,
8989
} from '@/hooks/queries/tasks'
90+
import { useWorkspaceFiles } from '@/hooks/queries/workspace-files'
9091
import { usePermissionConfig } from '@/hooks/use-permission-config'
9192
import { useSettingsNavigation } from '@/hooks/use-settings-navigation'
9293
import { useTaskEvents } from '@/hooks/use-task-events'
@@ -748,6 +749,7 @@ export const Sidebar = memo(function Sidebar() {
748749
)
749750

750751
const { data: fetchedTables = [] } = useTablesList(workspaceId)
752+
const { data: fetchedFiles = [] } = useWorkspaceFiles(workspaceId)
751753
const { data: fetchedKnowledgeBases = [] } = useKnowledgeBasesQuery(workspaceId)
752754

753755
const searchModalTables = useMemo(
@@ -762,6 +764,18 @@ export const Sidebar = memo(function Sidebar() {
762764
[fetchedTables, workspaceId, permissionConfig.hideTablesTab]
763765
)
764766

767+
const searchModalFiles = useMemo(
768+
() =>
769+
permissionConfig.hideFilesTab
770+
? []
771+
: fetchedFiles.map((f) => ({
772+
id: f.id,
773+
name: f.name,
774+
href: `/workspace/${workspaceId}/files/${f.id}`,
775+
})),
776+
[fetchedFiles, workspaceId, permissionConfig.hideFilesTab]
777+
)
778+
765779
const searchModalKnowledgeBases = useMemo(
766780
() =>
767781
permissionConfig.hideKnowledgeBaseTab
@@ -1701,6 +1715,7 @@ export const Sidebar = memo(function Sidebar() {
17011715
workspaces={searchModalWorkspaces}
17021716
tasks={tasks}
17031717
tables={searchModalTables}
1718+
files={searchModalFiles}
17041719
knowledgeBases={searchModalKnowledgeBases}
17051720
isOnWorkflowPage={!!workflowId}
17061721
/>

0 commit comments

Comments
 (0)