Skip to content

Commit bd3d1dc

Browse files
psychedelicioushipsterusername
authored andcommitted
feat(ui): hide model settings if there isn't any content
For example, CLIP Vision models have no settings.
1 parent 386c01e commit bd3d1dc

File tree

2 files changed

+39
-17
lines changed

2 files changed

+39
-17
lines changed

invokeai/frontend/web/src/features/modelManagerV2/subpanels/ModelPanel/ModelEdit.tsx

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -120,14 +120,18 @@ export const ModelEdit = memo(({ modelConfig }: Props) => {
120120
<Textarea {...form.register('description')} minH={32} />
121121
</FormControl>
122122
</Flex>
123-
<Heading as="h3" fontSize="md" mt="4">
124-
{t('modelManager.modelSettings')}
125-
</Heading>
123+
{modelConfig.type !== 'clip_vision' && (
124+
<Heading as="h3" fontSize="md" mt="4">
125+
{t('modelManager.modelSettings')}
126+
</Heading>
127+
)}
126128
<SimpleGrid columns={2} gap={4}>
127-
<FormControl flexDir="column" alignItems="flex-start" gap={1}>
128-
<FormLabel>{t('modelManager.baseModel')}</FormLabel>
129-
<BaseModelSelect control={form.control} />
130-
</FormControl>
129+
{modelConfig.type !== 'clip_vision' && (
130+
<FormControl flexDir="column" alignItems="flex-start" gap={1}>
131+
<FormLabel>{t('modelManager.baseModel')}</FormLabel>
132+
<BaseModelSelect control={form.control} />
133+
</FormControl>
134+
)}
131135
{modelConfig.type === 'main' && (
132136
<FormControl flexDir="column" alignItems="flex-start" gap={1}>
133137
<FormLabel>{t('modelManager.variant')}</FormLabel>

invokeai/frontend/web/src/features/modelManagerV2/subpanels/ModelPanel/ModelView.tsx

Lines changed: 28 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { ModelConvertButton } from 'features/modelManagerV2/subpanels/ModelPanel
44
import { ModelEditButton } from 'features/modelManagerV2/subpanels/ModelPanel/ModelEditButton';
55
import { ModelHeader } from 'features/modelManagerV2/subpanels/ModelPanel/ModelHeader';
66
import { TriggerPhrases } from 'features/modelManagerV2/subpanels/ModelPanel/TriggerPhrases';
7-
import { memo } from 'react';
7+
import { memo, useMemo } from 'react';
88
import { useTranslation } from 'react-i18next';
99
import type { AnyModelConfig } from 'services/api/types';
1010

@@ -17,6 +17,20 @@ type Props = {
1717

1818
export const ModelView = memo(({ modelConfig }: Props) => {
1919
const { t } = useTranslation();
20+
const withSettings = useMemo(() => {
21+
if (modelConfig.type === 'main' && modelConfig.base !== 'sdxl-refiner') {
22+
return true;
23+
}
24+
if (modelConfig.type === 'controlnet' || modelConfig.type === 't2i_adapter') {
25+
return true;
26+
}
27+
if (modelConfig.type === 'main' || modelConfig.type === 'lora') {
28+
return true;
29+
}
30+
31+
return false;
32+
}, [modelConfig.base, modelConfig.type]);
33+
2034
return (
2135
<Flex flexDir="column" gap={4}>
2236
<ModelHeader modelConfig={modelConfig}>
@@ -50,15 +64,19 @@ export const ModelView = memo(({ modelConfig }: Props) => {
5064
)}
5165
</SimpleGrid>
5266
</Box>
53-
<Box layerStyle="second" borderRadius="base" p={4}>
54-
{modelConfig.type === 'main' && modelConfig.base !== 'sdxl-refiner' && (
55-
<MainModelDefaultSettings modelConfig={modelConfig} />
56-
)}
57-
{(modelConfig.type === 'controlnet' || modelConfig.type === 't2i_adapter') && (
58-
<ControlNetOrT2IAdapterDefaultSettings modelConfig={modelConfig} />
59-
)}
60-
{(modelConfig.type === 'main' || modelConfig.type === 'lora') && <TriggerPhrases modelConfig={modelConfig} />}
61-
</Box>
67+
{withSettings && (
68+
<Box layerStyle="second" borderRadius="base" p={4}>
69+
{modelConfig.type === 'main' && modelConfig.base !== 'sdxl-refiner' && (
70+
<MainModelDefaultSettings modelConfig={modelConfig} />
71+
)}
72+
{(modelConfig.type === 'controlnet' || modelConfig.type === 't2i_adapter') && (
73+
<ControlNetOrT2IAdapterDefaultSettings modelConfig={modelConfig} />
74+
)}
75+
{(modelConfig.type === 'main' || modelConfig.type === 'lora') && (
76+
<TriggerPhrases modelConfig={modelConfig} />
77+
)}
78+
</Box>
79+
)}
6280
</Flex>
6381
</Flex>
6482
);

0 commit comments

Comments
 (0)