[ENG-1379] Library showing up twice in switcher after onboarding (#1700)

optimistic UI bug
This commit is contained in:
Oscar Beaumont
2023-10-30 11:42:21 +11:00
committed by GitHub
parent 3c0f418579
commit ff23eb369c
2 changed files with 12 additions and 8 deletions

View File

@@ -25,10 +25,12 @@ const CreateLibraryModal = forwardRef<ModalRef, unknown>((_, ref) => {
setLibName('');
// We do this instead of invalidating the query because it triggers a full app re-render??
queryClient.setQueryData(['library.list'], (libraries: any) => [
...(libraries || []),
lib
]);
queryClient.setQueryData(['library.list'], (libraries: any) => {
// The invalidation system beat us to it
if (libraries.find((l: any) => l.uuid === lib.uuid)) return libraries;
return [...(libraries || []), lib];
});
// Switch to the new library
currentLibraryStore.id = lib.uuid;

View File

@@ -114,10 +114,12 @@ const useFormState = () => {
new Promise((res) => setTimeout(res, 500))
]);
queryClient.setQueryData(['library.list'], (libraries: any) => [
...(libraries ?? []),
library
]);
queryClient.setQueryData(['library.list'], (libraries: any) => {
// The invalidation system beat us to it
if (libraries.find((l: any) => l.uuid === library.uuid)) return libraries;
return [...(libraries || []), library];
});
platform.refreshMenuBar && platform.refreshMenuBar();