🐛 Fix upload in shared with me directory (#543)

Co-authored-by: Monta <monta@HP-ProBook-445-14-inch-G9-Notebook-PC-505aadfc.localdomain>
This commit is contained in:
Montassar Ghanmy
2024-05-29 10:27:13 +01:00
committed by GitHub
parent 3cf164787f
commit 6ee9bbe3f2
3 changed files with 34 additions and 27 deletions
@@ -239,7 +239,7 @@ export default memo(
{viewId == 'shared-with-me' ? ( {viewId == 'shared-with-me' ? (
<> <>
<Suspense fallback={<></>}> <Suspense fallback={<></>}>
<DrivePreview items={documents}/> <DrivePreview items={documents} />
</Suspense> </Suspense>
<SharedFilesTable /> <SharedFilesTable />
</> </>
@@ -263,9 +263,8 @@ export default memo(
}} }}
onDragOver={handleDragOver} onDragOver={handleDragOver}
onDrop={handleDrop} onDrop={handleDrop}
> >
{role == "admin" && <UsersModal />} {role == 'admin' && <UsersModal />}
<VersionsModal /> <VersionsModal />
<AccessModal /> <AccessModal />
<PublicLinkModal /> <PublicLinkModal />
@@ -274,7 +273,7 @@ export default memo(
<ConfirmTrashModal /> <ConfirmTrashModal />
<ConfirmModal /> <ConfirmModal />
<Suspense fallback={<></>}> <Suspense fallback={<></>}>
<DrivePreview items={documents}/> <DrivePreview items={documents} />
</Suspense> </Suspense>
<div <div
className={ className={
@@ -350,7 +349,12 @@ export default memo(
</div> </div>
</div> </div>
) : ( ) : (
<HeaderPath path={path || []} inTrash={inTrash} setParentId={setParentId} inPublicSharing={inPublicSharing} /> <HeaderPath
path={path || []}
inTrash={inTrash}
setParentId={setParentId}
inPublicSharing={inPublicSharing}
/>
)} )}
<div className="grow" /> <div className="grow" />
@@ -375,17 +379,17 @@ export default memo(
)} )}
</div> </div>
<DndContext sensors={sensors} onDragEnd={handleDragEnd} onDragStart={handleDragStart}> <DndContext sensors={sensors} onDragEnd={handleDragEnd} onDragStart={handleDragStart}>
<div className="grow overflow-auto"> <div className="grow overflow-auto">
{folders.length > 0 && ( {folders.length > 0 && (
<> <>
<Title className="mb-2 block">{Languages.t('scenes.app.drive.folders')}</Title> <Title className="mb-2 block">
{Languages.t('scenes.app.drive.folders')}
</Title>
{folders.map((child, index) => ( {folders.map((child, index) => (
<Droppable id={index} key={index}> <Droppable id={index} key={index}>
<FolderRow <FolderRow
key={index} key={index}
className={ className={
(index === 0 ? 'rounded-t-md ' : '') + (index === 0 ? 'rounded-t-md ' : '') +
@@ -393,7 +397,9 @@ export default memo(
} }
item={child} item={child}
onClick={() => { onClick={() => {
const route = RouterServices.generateRouteFromState({dirId: child.id}); const route = RouterServices.generateRouteFromState({
dirId: child.id,
});
history.push(route); history.push(route);
if (inPublicSharing) return setParentId(child.id); if (inPublicSharing) return setParentId(child.id);
}} }}
@@ -420,7 +426,11 @@ export default memo(
<> <>
<Base>{Languages.t('scenes.app.drive.drag_and_drop')}</Base> <Base>{Languages.t('scenes.app.drive.drag_and_drop')}</Base>
<br /> <br />
<Button onClick={() => uploadItemModal()} theme="primary" className="mt-4"> <Button
onClick={() => uploadItemModal()}
theme="primary"
className="mt-4"
>
{Languages.t('scenes.app.drive.add_doc')} {Languages.t('scenes.app.drive.add_doc')}
</Button> </Button>
</> </>
@@ -428,25 +438,23 @@ export default memo(
</div> </div>
)} )}
{documents.map((child, index) => ( {documents.map((child, index) => draggableMarkup(index, child))}
draggableMarkup(index, child)
))}
<DragOverlay> <DragOverlay>
{activeIndex ? ( {activeIndex ? (
<DocumentRowOverlay className={ <DocumentRowOverlay
(activeIndex === 0 ? 'rounded-t-md ' : '') + className={
(activeIndex === documents.length - 1 ? 'rounded-b-md ' : '')} (activeIndex === 0 ? 'rounded-t-md ' : '') +
item={activeChild} (activeIndex === documents.length - 1 ? 'rounded-b-md ' : '')
></DocumentRowOverlay> }
): null} item={activeChild}
></DocumentRowOverlay>
) : null}
</DragOverlay> </DragOverlay>
</div> </div>
</DndContext> </DndContext>
</div> </div>
</UploadZone> </UploadZone>
)} )}
</> </>
); );
}, },
@@ -14,7 +14,7 @@ import { UploadModelAtom, UploadModal } from '../body/drive/modals/upload'
import { Button } from '@atoms/button/button'; import { Button } from '@atoms/button/button';
import Languages from "features/global/services/languages-service"; import Languages from "features/global/services/languages-service";
import { useCurrentUser } from 'app/features/users/hooks/use-current-user'; import { useCurrentUser } from 'app/features/users/hooks/use-current-user';
import RouterServices from '@features/router/services/router-service'; import useRouteState from 'app/features/router/hooks/use-route-state';
export const CreateModalWithUploadZones = ({ initialParentId }: { initialParentId?: string }) => { export const CreateModalWithUploadZones = ({ initialParentId }: { initialParentId?: string }) => {
const companyId = useRouterCompany(); const companyId = useRouterCompany();
@@ -95,8 +95,8 @@ export const CreateModalWithUploadZones = ({ initialParentId }: { initialParentI
export default () => { export default () => {
const { user } = useCurrentUser(); const { user } = useCurrentUser();
const { viewId } = RouterServices.getStateFromRoute(); const { viewId, dirId } = useRouteState();
const [parentId, _] = useRecoilState(DriveCurrentFolderAtom({ initialFolderId: 'user_'+user?.id })); const [parentId, _] = useRecoilState(DriveCurrentFolderAtom({ initialFolderId: dirId || viewId || 'user_'+user?.id }));
const { access, item } = useDriveItem(parentId); const { access, item } = useDriveItem(parentId);
const { children: trashChildren } = useDriveItem(viewId === 'trash' ? 'trash' : 'trash_'+user?.id); const { children: trashChildren } = useDriveItem(viewId === 'trash' ? 'trash' : 'trash_'+user?.id);
const uploadZoneRef = useRef<UploadZone | null>(null); const uploadZoneRef = useRef<UploadZone | null>(null);
@@ -44,7 +44,6 @@ export default () => {
if (sharedWithMe) folderType = 'shared'; if (sharedWithMe) folderType = 'shared';
useEffect(() => { useEffect(() => {
console.log('PARENT ID CHANGED: ', parentId);
!itemId && !dirId && viewId && setParentId(viewId); !itemId && !dirId && viewId && setParentId(viewId);
dirId && viewId && setParentId(dirId); dirId && viewId && setParentId(dirId);
}, [viewId, itemId, dirId]); }, [viewId, itemId, dirId]);