fix: excalidrawAPI.toggleSidebar not switching between tabs correctly (#7821)

This commit is contained in:
David Luzar 2024-03-28 14:52:23 +01:00 committed by GitHub
parent 7949aa1f1c
commit 65bc500598
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 97 additions and 5 deletions

View file

@ -3684,17 +3684,29 @@ class App extends React.Component<AppProps, AppState> {
tab,
force,
}: {
name: SidebarName;
name: SidebarName | null;
tab?: SidebarTabName;
force?: boolean;
}): boolean => {
let nextName;
if (force === undefined) {
nextName = this.state.openSidebar?.name === name ? null : name;
nextName =
this.state.openSidebar?.name === name &&
this.state.openSidebar?.tab === tab
? null
: name;
} else {
nextName = force ? name : null;
}
this.setState({ openSidebar: nextName ? { name: nextName, tab } : null });
const nextState: AppState["openSidebar"] = nextName
? { name: nextName }
: null;
if (nextState && tab) {
nextState.tab = tab;
}
this.setState({ openSidebar: nextState });
return !!nextName;
};