/* * Copyright 2025 coze-dev Authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import React, { useState, lazy, Suspense } from 'react'; import classnames from 'classnames'; import { withQueryClient } from '@coze-workflow/base'; import { useProjectIDEServices } from '@coze-project-ide/framework'; import { useResourceList } from '@coze-project-ide/biz-components'; import { I18n } from '@coze-arch/i18n'; import { IconCozSideExpand, IconCozBinding, } from '@coze-arch/coze-design/icons'; import { IconButton, Button } from '@coze-arch/coze-design'; import { useFlags } from '@coze-arch/bot-flags'; import { ResourceList } from '../resource-list'; import { HEADER_HEIGHT } from '../../constants/styles'; import styles from './styles.module.less'; const ResourceTreeModal = lazy(() => import('../resource-tree-modal').then(exps => ({ default: exps.ResourceTreeModal, })), ); const PrimarySidebarCore = ({ hideExpand, idPrefix, }: { hideExpand?: boolean; idPrefix?: string; }) => { const projectIDEServices = useProjectIDEServices(); const { workflowResource } = useResourceList(); const [modalVisible, setModalVisible] = useState(false); const [FLAGS] = useFlags(); const handleExpand = () => { projectIDEServices.view.primarySidebar.changeVisible(false); }; return (
{I18n.t('project_resource_sidebar_title')} {/* 开源版暂不支持该功能 */} {FLAGS['bot.automation.dependency_tree'] ? ( <> {modalVisible ? ( ) : null} ) : null}
{hideExpand ? null : ( } color="secondary" size="small" onClick={handleExpand} /> )}
); }; export const PrimarySidebar = withQueryClient(PrimarySidebarCore);