MCPcopy Index your code
hub / github.com/TaskingAI/TaskingAI / ProjectHome

Function ProjectHome

frontend/src/views/projectHome/index.tsx:31–326  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

29import { useDispatch, useSelector } from 'react-redux';
30const { Header, Content, Sider } = Layout;
31const ProjectHome = () => {
32 const { search, pathname } = useLocation();
33
34 const navigate = useNavigate();
35 const dispatch = useDispatch();
36 const { playgroundType } = useSelector((state: any) => state.playgroundType)
37 const { assistantPlaygroundId } = useSelector((state: any) => state.assistantId)
38 const location = useLocation()
39 const { modelName, modelId } = useSelector((state: any) => state.modelId)
40 const keyReverseValue: Record<string, string> = {
41 ['/project']: 'Home',
42 ['/project/models']: 'Models',
43 ['/project/home']: 'Home',
44 ['/project/assistants']: 'Assistants',
45 ['/project/collections']: 'Retrieval',
46 ['/project/playground']: 'Playground',
47 ['/project/tools']: 'Plugins',
48 ['/project/tools/actions']: 'Actions',
49 ['/project/tools/plugins']: 'Plugins',
50 ['/project/apikeys']: 'API Keys',
51 }
52 const subMenuItems = [
53 { key: '/project/tools/plugins', icon: <LogoutOutlined />, text: 'Plugins', path: `/project/tools/plugins` },
54 { key: '/project/tools/actions', icon: <LogoutOutlined />, text: 'Actions', path: `/project/tools/actions` },
55 ];
56 const [key, setKey] = useState('')
57 const filteredKeys = [location.pathname === `/project` || location.pathname === `/project/` ? `/project/home` : location.pathname, location.pathname.includes('tools') && `/project/tools`, !location.pathname.includes('tools/actions') && location.pathname.includes('tools') && `/project/tools/plugins`]
58
59 const [selectedKey, setSelectedKey] = useState(filteredKeys.filter(item => Boolean(item)) as string[])
60 const [isOpen, setOpen] = useState(selectedKey.filter(item => typeof item === 'string').some(item => (item as string).includes('tools')))
61 const [collapsed, setCollapsed] = useState(false);
62 const [showTaskingAi, setShowTaskingAi] = useState(true);
63 const [logoutOpen, setLogoutOpen] = useState(false)
64 const [assistantParams, setAssistantParams] = useState('')
65
66 useEffect(() => {
67 const queryParams: any = new URLSearchParams(search);
68 const assistantId = queryParams.get('assistant_id')
69
70 if (location.pathname === `/project/playground` && assistantId && playgroundType === 'assistant') {
71 setAssistantParams(`assistant_id=${assistantId}`)
72 } else if (playgroundType === 'chat_completion' && modelId) {
73 setAssistantParams(`model_id=${modelId}&model_name=${modelName}`)
74 }
75 const key = location.pathname
76 setSelectedKey([key])
77 setKey(key)
78 if (key === `/project/tools`) {
79 setSelectedKey([key, `/project/tools/plugins`])
80 setOpen(true)
81 } else {
82 if (key === `/project/tools/plugins` || key === `/project/tools/actions`) {
83 setOpen(true)
84 setSelectedKey([key, `/project/tools`])
85 } else {
86 setOpen(false)
87 setSelectedKey([key])
88 }

Callers

nothing calls this directly

Calls 8

fetchAssistantsDataFunction · 0.90
fetchModelsDataFunction · 0.90
fetchRetrievalDataFunction · 0.90
fetchApikeysDataFunction · 0.90
fetchPluginDataFunction · 0.90
fetchActionDataFunction · 0.90
filterMethod · 0.45
getMethod · 0.45

Tested by

no test coverage detected