import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card'; import { useTranslation } from 'react-i18next'; import Spotlight from '@/components/spotlight'; import { Button } from '@/components/ui/button'; import { Separator } from '@/components/ui/separator'; import { Plus } from 'lucide-react'; 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 = [ { id: DataSourceKey.S3, name: DataSourceInfo[DataSourceKey.S3].name, description: DataSourceInfo[DataSourceKey.S3].description, icon: DataSourceInfo[DataSourceKey.S3].icon, list: [ { id: '1', name: 'S3 Bucket 1', }, { id: '2', name: 'S3 Bucket 1', }, ], }, { id: DataSourceKey.DISCORD, name: DataSourceInfo[DataSourceKey.DISCORD].name, description: DataSourceInfo[DataSourceKey.DISCORD].description, icon: DataSourceInfo[DataSourceKey.DISCORD].icon, }, { id: DataSourceKey.NOTION, name: DataSourceInfo[DataSourceKey.NOTION].name, description: DataSourceInfo[DataSourceKey.NOTION].description, icon: DataSourceInfo[DataSourceKey.NOTION].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 (
{icon}
{name}
{description}
); }; return (
{t('setting.dataSources')}
{t('setting.datasourceDescription')}
{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;