import { CardTitle } from '@/components/ui/card'; import { useTranslation } from 'react-i18next'; import Spotlight from '@/components/spotlight'; import { Button } from '@/components/ui/button'; import { Plus } from 'lucide-react'; import { ProfileSettingWrapperCard, UserSettingHeader, } from '../components/user-setting-header'; import AddDataSourceModal from './add-datasource-modal'; import { AddedSourceCard } from './component/added-source-card'; import { DataSourceInfo, DataSourceKey } from './contant'; import { useAddDataSource, useListDataSource } from './hooks'; import { IDataSorceInfo } from './interface'; const dataSourceTemplates = Object.values(DataSourceKey).map((id) => { return { id, name: DataSourceInfo[id].name, description: DataSourceInfo[id].description, icon: DataSourceInfo[id].icon, }; }); const DataSource = () => { const { t } = useTranslation(); // useListTenantUser(); const { categorizedList } = useListDataSource(); const { addSource, addLoading, addingModalVisible, handleAddOk, hideAddingModal, showAddingModal, } = useAddDataSource(); const AbailableSourceCard = ({ id, name, description, icon, }: IDataSorceInfo) => { return (
showAddingModal({ id, name, description, icon, }) } >
{icon}
{name}
{description}
); }; return ( } >
{categorizedList?.length <= 0 && (
{t('setting.sourceEmptyTip')}
)} {categorizedList.map((item, index) => ( ))}
{/* */} {t('setting.availableSources')}
{t('setting.availableSourcesDescription')}
{/* */}
{dataSourceTemplates.map((item, index) => ( ))}
{addingModalVisible && ( { console.log(data); handleAddOk(data); }} sourceData={addSource} > )}
); }; export default DataSource;