feat(ui): model manager tab naming tweaks

This commit is contained in:
psychedelicious 2023-07-04 14:52:00 +10:00
parent 96bf92ead4
commit 099082abc1
4 changed files with 41 additions and 43 deletions

View File

@ -7,18 +7,17 @@ import { isEqual } from 'lodash-es';
import { memo } from 'react';
import { useTranslation } from 'react-i18next';
import { MdPhotoLibrary } from 'react-icons/md';
import { InvokeTabName } from '../store/tabMap';
import { activeTabNameSelector, uiSelector } from '../store/uiSelectors';
import { NO_GALLERY_TABS } from './InvokeTabs';
const floatingGalleryButtonSelector = createSelector(
[activeTabNameSelector, uiSelector],
(activeTabName, ui) => {
const { shouldPinGallery, shouldShowGallery } = ui;
const noGalleryTabs: InvokeTabName[] = ['modelmanager'];
return {
shouldPinGallery,
shouldShowGalleryButton: noGalleryTabs.includes(activeTabName)
shouldShowGalleryButton: NO_GALLERY_TABS.includes(activeTabName)
? false
: !shouldShowGallery,
};

View File

@ -72,7 +72,7 @@ const tabs: InvokeTabInfo[] = [
// content: <BatchTab />,
// },
{
id: 'modelmanager',
id: 'modelManager',
icon: <Icon as={FaCube} sx={{ boxSize: 6, pointerEvents: 'none' }} />,
content: <ModelManagerTab />,
},
@ -92,6 +92,7 @@ const enabledTabsSelector = createSelector(
const MIN_GALLERY_WIDTH = 300;
const DEFAULT_GALLERY_PCT = 20;
export const NO_GALLERY_TABS: InvokeTabName[] = ['modelManager'];
const InvokeTabs = () => {
const activeTab = useAppSelector(activeTabIndexSelector);
@ -101,8 +102,6 @@ const InvokeTabs = () => {
(state: RootState) => state.lightbox.isLightboxOpen
);
const noGalleryTabs: InvokeTabName[] = ['modelmanager'];
const { shouldPinGallery, shouldPinParametersPanel, shouldShowGallery } =
useAppSelector((state: RootState) => state.ui);
@ -207,7 +206,7 @@ const InvokeTabs = () => {
</Panel>
{shouldPinGallery &&
shouldShowGallery &&
!noGalleryTabs.includes(activeTabName) && (
!NO_GALLERY_TABS.includes(activeTabName) && (
<>
<ResizeHandle />
<Panel

View File

@ -5,7 +5,7 @@ import AddModelsPanel from './subpanels/AddModelsPanel';
import MergeModelsPanel from './subpanels/MergeModelsPanel';
import ModelManagerPanel from './subpanels/ModelManagerPanel';
type ModelManagerTabName = 'modelmanager' | 'add_models' | 'merge_models';
type ModelManagerTabName = 'modelManager' | 'addModels' | 'mergeModels';
type ModelManagerTabInfo = {
id: ModelManagerTabName;
@ -15,57 +15,57 @@ type ModelManagerTabInfo = {
const modelManagerTabs: ModelManagerTabInfo[] = [
{
id: 'modelmanager',
id: 'modelManager',
label: i18n.t('modelManager.modelManager'),
content: <ModelManagerPanel />,
},
{
id: 'add_models',
id: 'addModels',
label: i18n.t('modelManager.addModel'),
content: <AddModelsPanel />,
},
{
id: 'merge_models',
id: 'mergeModels',
label: i18n.t('modelManager.mergeModels'),
content: <MergeModelsPanel />,
},
];
const ModelManagerTab = () => {
const renderTabsList = () => {
const modelManagerTabListsToRender: ReactNode[] = [];
modelManagerTabs.forEach((modelManagerTab) => {
modelManagerTabListsToRender.push(
<Tab key={modelManagerTab.id}>{modelManagerTab.label}</Tab>
);
});
return (
<TabList
sx={{
w: '100%',
color: 'base.200',
flexDirection: 'row',
borderBottomWidth: 2,
borderColor: 'accent.700',
}}
>
{modelManagerTabListsToRender}
</TabList>
const renderTabsList = () => {
const modelManagerTabListsToRender: ReactNode[] = [];
modelManagerTabs.forEach((modelManagerTab) => {
modelManagerTabListsToRender.push(
<Tab key={modelManagerTab.id}>{modelManagerTab.label}</Tab>
);
};
});
const renderTabPanels = () => {
const modelManagerTabPanelsToRender: ReactNode[] = [];
modelManagerTabs.forEach((modelManagerTab) => {
modelManagerTabPanelsToRender.push(
<TabPanel key={modelManagerTab.id}>{modelManagerTab.content}</TabPanel>
);
});
return (
<TabList
sx={{
w: '100%',
color: 'base.200',
flexDirection: 'row',
borderBottomWidth: 2,
borderColor: 'accent.700',
}}
>
{modelManagerTabListsToRender}
</TabList>
);
};
return <TabPanels sx={{ p: 2 }}>{modelManagerTabPanelsToRender}</TabPanels>;
};
const renderTabPanels = () => {
const modelManagerTabPanelsToRender: ReactNode[] = [];
modelManagerTabs.forEach((modelManagerTab) => {
modelManagerTabPanelsToRender.push(
<TabPanel key={modelManagerTab.id}>{modelManagerTab.content}</TabPanel>
);
});
return <TabPanels sx={{ p: 2 }}>{modelManagerTabPanelsToRender}</TabPanels>;
};
const ModelManagerTab = () => {
return (
<Tabs
isLazy

View File

@ -7,7 +7,7 @@ export const tabMap = [
'batch',
// 'postprocessing',
// 'training',
'modelmanager',
'modelManager',
] as const;
export type InvokeTabName = (typeof tabMap)[number];