/* * 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 (