add toggle for isNodesEnabled in settings (#3839)

Co-authored-by: Mary Hipp <maryhipp@Marys-MacBook-Air.local>
This commit is contained in:
Mary Hipp Rogers
2023-07-19 12:08:28 -04:00
committed by GitHub
parent 0724eb9e0a
commit 0073fc8619
3 changed files with 40 additions and 4 deletions

View File

@@ -37,6 +37,7 @@ import NodesTab from './tabs/Nodes/NodesTab';
import ResizeHandle from './tabs/ResizeHandle';
import TextToImageTab from './tabs/TextToImage/TextToImageTab';
import UnifiedCanvasTab from './tabs/UnifiedCanvas/UnifiedCanvasTab';
import { systemSelector } from '../../system/store/systemSelectors';
export interface InvokeTabInfo {
id: InvokeTabName;
@@ -84,11 +85,20 @@ const tabs: InvokeTabInfo[] = [
];
const enabledTabsSelector = createSelector(
configSelector,
(config) => {
[configSelector, systemSelector],
(config, system) => {
const { disabledTabs } = config;
const { isNodesEnabled } = system;
return tabs.filter((tab) => !disabledTabs.includes(tab.id));
const enabledTabs = tabs.filter((tab) => {
if (tab.id === 'nodes') {
return isNodesEnabled && !disabledTabs.includes(tab.id);
} else {
return !disabledTabs.includes(tab.id);
}
});
return enabledTabs;
},
{
memoizeOptions: { resultEqualityCheck: isEqual },