Skip to content

Commit f3d5691

Browse files
Mary Hippmaryhipp
authored andcommitted
use onClickGoToModelManager for empty model picker
1 parent b98abc2 commit f3d5691

File tree

1 file changed

+23
-5
lines changed

1 file changed

+23
-5
lines changed

invokeai/frontend/web/src/features/parameters/components/ModelPicker.tsx

Lines changed: 23 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@ import {
1212
Text,
1313
} from '@invoke-ai/ui-library';
1414
import { useStore } from '@nanostores/react';
15-
import { useAppDispatch } from 'app/store/storeHooks';
15+
import { $onClickGoToModelManager } from 'app/store/nanostores/onClickGoToModelManager';
16+
import { useAppDispatch, useAppSelector } from 'app/store/storeHooks';
1617
import type { Group, PickerContextState } from 'common/components/Picker/Picker';
1718
import { buildGroup, getRegex, Picker, usePickerContext } from 'common/components/Picker/Picker';
1819
import { useDisclosure } from 'common/hooks/useBoolean';
@@ -22,6 +23,7 @@ import { BASE_COLOR_MAP } from 'features/modelManagerV2/subpanels/ModelManagerPa
2223
import ModelImage from 'features/modelManagerV2/subpanels/ModelManagerPanel/ModelImage';
2324
import { NavigateToModelManagerButton } from 'features/parameters/components/MainModel/NavigateToModelManagerButton';
2425
import { API_BASE_MODELS, MODEL_TYPE_MAP, MODEL_TYPE_SHORT_MAP } from 'features/parameters/types/constants';
26+
import { selectIsModelsTabDisabled } from 'features/system/store/configSlice';
2527
import { setActiveTab } from 'features/ui/store/uiSlice';
2628
import { filesize } from 'filesize';
2729
import { memo, useCallback, useMemo, useRef } from 'react';
@@ -32,12 +34,23 @@ import type { AnyModelConfig, BaseModelType } from 'services/api/types';
3234
const getOptionId = (modelConfig: AnyModelConfig) => modelConfig.key;
3335

3436
const ModelManagerLink = memo((props: ButtonProps) => {
37+
const onClickGoToModelManager = useStore($onClickGoToModelManager);
3538
const dispatch = useAppDispatch();
3639
const onClick = useCallback(() => {
3740
dispatch(setActiveTab('models'));
3841
$installModelsTab.set(3);
3942
}, [dispatch]);
40-
return <Button size="sm" flexGrow={0} variant="link" color="base.200" onClick={onClick} {...props} />;
43+
44+
return (
45+
<Button
46+
size="sm"
47+
flexGrow={0}
48+
variant="link"
49+
color="base.200"
50+
onClick={onClickGoToModelManager ?? onClick}
51+
{...props}
52+
/>
53+
);
4154
});
4255
ModelManagerLink.displayName = 'ModelManagerLink';
4356

@@ -47,12 +60,17 @@ const components = {
4760

4861
const NoOptionsFallback = memo(() => {
4962
const { t } = useTranslation();
63+
const isModelsTabDisabled = useAppSelector(selectIsModelsTabDisabled);
64+
const onClickGoToModelManager = useStore($onClickGoToModelManager);
65+
5066
return (
5167
<Flex flexDir="column" gap={4} alignItems="center">
5268
<Text color="base.200">{t('modelManager.modelPickerFallbackNoModelsInstalled')}</Text>
53-
<Text color="base.200">
54-
<Trans i18nKey="modelManager.modelPickerFallbackNoModelsInstalled2" components={components} />
55-
</Text>
69+
{(!isModelsTabDisabled || onClickGoToModelManager) && (
70+
<Text color="base.200">
71+
<Trans i18nKey="modelManager.modelPickerFallbackNoModelsInstalled2" components={components} />
72+
</Text>
73+
)}
5674
</Flex>
5775
);
5876
});

0 commit comments

Comments
 (0)