Files
agent/apps/senlinai-acro-react/src/pages/projects/project-channel-page.tsx

37 lines
1.3 KiB
TypeScript
Raw Normal View History

2026-07-20 12:26:21 +08:00
import { ProjectAi } from './project-ai'
import { ProjectCron } from './project-cron'
import { ProjectNotes } from './project-notes'
import { ProjectOverview } from './project-overview'
import { ProjectTasks } from './project-tasks'
import type { ChannelKey, ProjectWorkspace } from './project-types'
2026-07-20 12:26:21 +08:00
export function ProjectChannelPage({
activeChannel,
activeWorkspace,
activeTaskID,
2026-07-20 12:26:21 +08:00
onSelectItem,
onOpenTask,
onCloseTask,
2026-07-20 12:26:21 +08:00
}: {
activeChannel: ChannelKey
activeWorkspace: ProjectWorkspace
activeTaskID: string | null
2026-07-20 12:26:21 +08:00
onSelectItem: (title: string) => void
onOpenTask: (taskID: string) => void
onCloseTask: () => void
2026-07-20 12:26:21 +08:00
}) {
switch (activeChannel) {
case 'tasks':
return <ProjectTasks activeWorkspace={activeWorkspace} activeTaskID={activeTaskID} onOpenTask={onOpenTask} onCloseTask={onCloseTask} onSelectItem={onSelectItem} />
2026-07-20 12:26:21 +08:00
case 'ai':
return <ProjectAi activeWorkspace={activeWorkspace} onSelectItem={onSelectItem} />
2026-07-20 12:26:21 +08:00
case 'notes':
return <ProjectNotes activeWorkspace={activeWorkspace} onSelectItem={onSelectItem} />
2026-07-20 12:26:21 +08:00
case 'cron':
return <ProjectCron activeWorkspace={activeWorkspace} onSelectItem={onSelectItem} />
2026-07-20 12:26:21 +08:00
case 'overview':
default:
return <ProjectOverview activeWorkspace={activeWorkspace} onSelectItem={onSelectItem} />
2026-07-20 12:26:21 +08:00
}
}