This commit is contained in:
naman-bruno
2025-12-15 18:17:11 +05:30
committed by GitHub
parent c11266a96f
commit 6cc114100f
4 changed files with 44 additions and 30 deletions

View File

@@ -1,11 +1,11 @@
import React, { useState } from 'react';
import { useSelector, useDispatch } from 'react-redux';
import { IconPlus, IconFolder, IconFileImport } from '@tabler/icons';
import { importCollectionInWorkspace } from 'providers/ReduxStore/slices/workspaces/actions';
import { openCollection } from 'providers/ReduxStore/slices/collections/actions';
import { importCollection, openCollection } from 'providers/ReduxStore/slices/collections/actions';
import toast from 'react-hot-toast';
import CreateCollection from 'components/Sidebar/CreateCollection';
import ImportCollection from 'components/Sidebar/ImportCollection';
import ImportCollectionLocation from 'components/Sidebar/ImportCollectionLocation';
import CollectionsList from './CollectionsList';
import WorkspaceDocs from '../WorkspaceDocs';
import StyledWrapper from './StyledWrapper';
@@ -16,6 +16,8 @@ const WorkspaceOverview = ({ workspace }) => {
const [createCollectionModalOpen, setCreateCollectionModalOpen] = useState(false);
const [importCollectionModalOpen, setImportCollectionModalOpen] = useState(false);
const [importCollectionLocationModalOpen, setImportCollectionLocationModalOpen] = useState(false);
const [importData, setImportData] = useState(null);
const workspaceCollectionsCount = workspace?.collections?.length || 0;
@@ -50,10 +52,21 @@ const WorkspaceOverview = ({ workspace }) => {
const handleImportCollectionSubmit = ({ rawData, type }) => {
setImportCollectionModalOpen(false);
dispatch(importCollectionInWorkspace(rawData, workspace.uid, undefined, type)).catch((err) => {
console.error(err);
toast.error('An error occurred while importing the collection');
});
setImportData({ rawData, type });
setImportCollectionLocationModalOpen(true);
};
const handleImportCollectionLocation = (convertedCollection, collectionLocation) => {
dispatch(importCollection(convertedCollection, collectionLocation))
.then(() => {
setImportCollectionLocationModalOpen(false);
setImportData(null);
toast.success('Collection imported successfully');
})
.catch((err) => {
console.error(err);
toast.error(err.message);
});
};
return (
@@ -69,6 +82,15 @@ const WorkspaceOverview = ({ workspace }) => {
/>
)}
{importCollectionLocationModalOpen && importData && (
<ImportCollectionLocation
rawData={importData.rawData}
format={importData.type}
onClose={() => setImportCollectionLocationModalOpen(false)}
handleSubmit={handleImportCollectionLocation}
/>
)}
<div className="overview-layout">
<div className="overview-main">
<div className="stats-row">