feat: connect search and project settings

This commit is contained in:
2026-07-21 17:16:45 +08:00
parent bc1cd19c51
commit 110423406b
15 changed files with 825 additions and 139 deletions

View File

@@ -8,6 +8,7 @@ import { ProjectRail } from './projects/project-rail'
import { ProjectSidebar, type ProjectSettingsUpdate } from './projects/project-sidebar'
import { ProjectStatusbar } from './projects/project-statusbar'
import { ProjectTopbar } from './projects/project-topbar'
import type { SearchResultDTO } from '../api/search'
import type { ChannelKey, Project, ProjectWorkspace, Theme, WorkbenchView } from './projects/project-types'
const { Content } = Layout
@@ -34,6 +35,13 @@ export function ProjectPage({
onUpdateWorkspaceTask,
onUpdateProject,
onCreateProjectTag,
searchQuery,
searchLoading,
searchSearched,
searchResults,
onSearchQueryChange,
onSearch,
onSelectSearchResult,
}: {
activeView: WorkbenchView
activeWorkspace: ProjectWorkspace
@@ -54,8 +62,15 @@ export function ProjectPage({
onUploadSource: () => void
onCreateCronPlan: () => void
onUpdateWorkspaceTask: (update: WorkspaceTaskUpdate) => void
onUpdateProject: (update: ProjectSettingsUpdate) => void
onUpdateProject: (update: ProjectSettingsUpdate) => Promise<void>
onCreateProjectTag: (name: string) => void
searchQuery: string
searchLoading: boolean
searchSearched: boolean
searchResults: SearchResultDTO[]
onSearchQueryChange: (value: string) => void
onSearch: () => void
onSelectSearchResult: (result: SearchResultDTO) => void
}) {
const isProject = activeView === 'project'
const [navOpen, setNavOpen] = useState<'projects' | 'channels' | null>(null)
@@ -80,6 +95,13 @@ export function ProjectPage({
showChannels={isProject}
onOpenProjects={() => setNavOpen('projects')}
onOpenChannels={() => setNavOpen('channels')}
query={searchQuery}
loading={searchLoading}
searched={searchSearched}
results={searchResults}
onQueryChange={onSearchQueryChange}
onSearch={onSearch}
onSelectSearchResult={onSelectSearchResult}
/>
<Layout className="workbench-main" hasSider>