'use client'; import { useCallback, useEffect, useState } from 'react'; import styles from "./page.module.css"; import { GhostButton, Notification, NotificationContainer, Spacer, Stack, Text, useBoolean, useNotifications } from 'ohmy-ui'; import useDatasets from '@/modules/ingestion/useDatasets'; import DataView, { Data } from '@/modules/ingestion/DataView'; import DatasetsView from '@/modules/ingestion/DatasetsView'; import classNames from 'classnames'; import addData from '@/modules/ingestion/addData'; import cognifyDataset from '@/modules/datasets/cognifyDataset'; import getDatasetData from '@/modules/datasets/getDatasetData'; import { Footer, SettingsModal } from '@/ui/Partials'; import { TextLogo } from '@/ui/App'; import { SettingsIcon } from '@/ui/Icons'; export default function Home() { const { datasets, refreshDatasets, } = useDatasets(); const [datasetData, setDatasetData] = useState([]); const [selectedDataset, setSelectedDataset] = useState(null); useEffect(() => { refreshDatasets(); }, [refreshDatasets]); const openDatasetData = (dataset: { id: string }) => { getDatasetData(dataset) .then(setDatasetData) .then(() => setSelectedDataset(dataset.id)); }; const closeDatasetData = () => { setDatasetData([]); setSelectedDataset(null); }; const { notifications, showNotification } = useNotifications(); const onDataAdd = useCallback((dataset: { id: string }, files: File[]) => { return addData(dataset, files) .then(() => { showNotification("Data added successfully.", 5000); openDatasetData(dataset); }); }, [showNotification]) const onDatasetCognify = useCallback((dataset: { id: string }) => { showNotification(`Cognification started for dataset "${dataset.id}".`, 5000); return cognifyDataset(dataset) .then(() => { showNotification(`Dataset "${dataset.id}" cognified.`, 5000); }) .catch(() => { showNotification(`Dataset "${dataset.id}" cognification failed. Please try again.`, 5000); }); }, [showNotification]); const { value: isSettingsModalOpen, setTrue: openSettingsModal, setFalse: closeSettingsModal, } = useBoolean(false); return (
0, })}>
{datasetData.length > 0 && selectedDataset && (
)}
); }