fix: drag workspace (#3513)

This commit is contained in:
Alex Yang
2023-08-01 16:29:17 -07:00
committed by GitHub
parent 1b17743ed3
commit 03b98b433b
3 changed files with 27 additions and 36 deletions

View File

@@ -127,7 +127,7 @@ await rootStore
const result = createFirst();
console.info('create first workspace', result);
localStorage.setItem('is-first-open', 'false');
rootStore.set(rootWorkspacesMetadataAtom, result).catch(console.error);
rootStore.set(rootWorkspacesMetadataAtom, result);
}
})
.catch(console.error);

View File

@@ -8,13 +8,7 @@ import {
} from '@toeverything/plugin-infra/atom';
import { useAtom, useAtomValue, useSetAtom } from 'jotai';
import type { FC, ReactElement } from 'react';
import {
lazy,
startTransition,
Suspense,
useCallback,
useTransition,
} from 'react';
import { lazy, Suspense, useCallback, useTransition } from 'react';
import type { SettingAtom } from '../atoms';
import {
@@ -130,7 +124,7 @@ export const AllWorkspaceModals = (): ReactElement => {
currentWorkspaceIdAtom
);
const setCurrentPageId = useSetAtom(currentPageIdAtom);
const [transitioning, transition] = useTransition();
const [isPending, startTransition] = useTransition();
const [, setOpenSettingModalAtom] = useAtom(openSettingModalAtom);
const handleOpenSettingModal = useCallback(
@@ -149,7 +143,7 @@ export const AllWorkspaceModals = (): ReactElement => {
<>
<Suspense>
<WorkspaceListModal
disabled={transitioning}
disabled={isPending}
workspaces={workspaces}
currentWorkspaceId={currentWorkspaceId}
open={
@@ -163,10 +157,10 @@ export const AllWorkspaceModals = (): ReactElement => {
(activeId, overId) => {
const oldIndex = workspaces.findIndex(w => w.id === activeId);
const newIndex = workspaces.findIndex(w => w.id === overId);
transition(() => {
startTransition(() => {
setWorkspaces(workspaces =>
arrayMove(workspaces, oldIndex, newIndex)
).catch(console.error);
);
});
},
[setWorkspaces, workspaces]