From 99e28da19b33b7cf6e9eaf4662741f89f45cc5ae Mon Sep 17 00:00:00 2001 From: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Tue, 23 Apr 2024 19:55:11 +1000 Subject: [PATCH] feat(ui): add variant to model edit Also simplify the layouting for all model view/edit components. --- .../ControlNetOrT2IAdapterDefaultSettings.tsx | 12 ++-- .../MainModelDefaultSettings.tsx | 46 ++++---------- .../subpanels/ModelPanel/ModelEdit.tsx | 25 ++++---- .../subpanels/ModelPanel/ModelView.tsx | 61 ++++++------------- 4 files changed, 44 insertions(+), 100 deletions(-) diff --git a/invokeai/frontend/web/src/features/modelManagerV2/subpanels/ModelPanel/ControlNetOrT2IAdapterDefaultSettings/ControlNetOrT2IAdapterDefaultSettings.tsx b/invokeai/frontend/web/src/features/modelManagerV2/subpanels/ModelPanel/ControlNetOrT2IAdapterDefaultSettings/ControlNetOrT2IAdapterDefaultSettings.tsx index 93750348c0..dcdc4e2a36 100644 --- a/invokeai/frontend/web/src/features/modelManagerV2/subpanels/ModelPanel/ControlNetOrT2IAdapterDefaultSettings/ControlNetOrT2IAdapterDefaultSettings.tsx +++ b/invokeai/frontend/web/src/features/modelManagerV2/subpanels/ModelPanel/ControlNetOrT2IAdapterDefaultSettings/ControlNetOrT2IAdapterDefaultSettings.tsx @@ -1,4 +1,4 @@ -import { Button, Flex, Heading, Text } from '@invoke-ai/ui-library'; +import { Button, Flex, Heading, SimpleGrid, Text } from '@invoke-ai/ui-library'; import { useAppDispatch, useAppSelector } from 'app/store/storeHooks'; import { useControlNetOrT2IAdapterDefaultSettings } from 'features/modelManagerV2/hooks/useControlNetOrT2IAdapterDefaultSettings'; import { DefaultPreprocessor } from 'features/modelManagerV2/subpanels/ModelPanel/ControlNetOrT2IAdapterDefaultSettings/DefaultPreprocessor'; @@ -92,13 +92,9 @@ export const ControlNetOrT2IAdapterDefaultSettings = () => { - - - - - - - + + + ); }; diff --git a/invokeai/frontend/web/src/features/modelManagerV2/subpanels/ModelPanel/MainModelDefaultSettings/MainModelDefaultSettings.tsx b/invokeai/frontend/web/src/features/modelManagerV2/subpanels/ModelPanel/MainModelDefaultSettings/MainModelDefaultSettings.tsx index 0027bd12e3..e096b11209 100644 --- a/invokeai/frontend/web/src/features/modelManagerV2/subpanels/ModelPanel/MainModelDefaultSettings/MainModelDefaultSettings.tsx +++ b/invokeai/frontend/web/src/features/modelManagerV2/subpanels/ModelPanel/MainModelDefaultSettings/MainModelDefaultSettings.tsx @@ -1,4 +1,4 @@ -import { Button, Flex, Heading, Text } from '@invoke-ai/ui-library'; +import { Button, Flex, Heading, SimpleGrid, Text } from '@invoke-ai/ui-library'; import { useAppDispatch, useAppSelector } from 'app/store/storeHooks'; import { useMainModelDefaultSettings } from 'features/modelManagerV2/hooks/useMainModelDefaultSettings'; import { DefaultHeight } from 'features/modelManagerV2/subpanels/ModelPanel/MainModelDefaultSettings/DefaultHeight'; @@ -122,40 +122,16 @@ export const MainModelDefaultSettings = () => { - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + ); }; diff --git a/invokeai/frontend/web/src/features/modelManagerV2/subpanels/ModelPanel/ModelEdit.tsx b/invokeai/frontend/web/src/features/modelManagerV2/subpanels/ModelPanel/ModelEdit.tsx index c73b6e52ed..1f8e50b9da 100644 --- a/invokeai/frontend/web/src/features/modelManagerV2/subpanels/ModelPanel/ModelEdit.tsx +++ b/invokeai/frontend/web/src/features/modelManagerV2/subpanels/ModelPanel/ModelEdit.tsx @@ -6,6 +6,7 @@ import { FormLabel, Heading, Input, + SimpleGrid, Text, Textarea, } from '@invoke-ai/ui-library'; @@ -66,25 +67,21 @@ export const ModelEdit = ({ form }: Props) => { {t('modelManager.modelSettings')} - + {t('modelManager.baseModel')} - - {data.type === 'main' && data.format === 'checkpoint' && ( - <> - + + {t('modelManager.variant')} + + + {data.type === 'main' && data.format === 'checkpoint' && ( + <> {t('modelManager.pathToConfig')} - - {t('modelManager.variant')} - - - - {t('modelManager.predictionType')} @@ -93,9 +90,9 @@ export const ModelEdit = ({ form }: Props) => { {t('modelManager.upcastAttention')} - - - )} + + )} + diff --git a/invokeai/frontend/web/src/features/modelManagerV2/subpanels/ModelPanel/ModelView.tsx b/invokeai/frontend/web/src/features/modelManagerV2/subpanels/ModelPanel/ModelView.tsx index 0618af5dd0..83ae94c9bb 100644 --- a/invokeai/frontend/web/src/features/modelManagerV2/subpanels/ModelPanel/ModelView.tsx +++ b/invokeai/frontend/web/src/features/modelManagerV2/subpanels/ModelPanel/ModelView.tsx @@ -1,4 +1,4 @@ -import { Box, Flex, Text } from '@invoke-ai/ui-library'; +import { Box, Flex, SimpleGrid, Text } from '@invoke-ai/ui-library'; import { skipToken } from '@reduxjs/toolkit/query'; import { useAppSelector } from 'app/store/storeHooks'; import { ControlNetOrT2IAdapterDefaultSettings } from 'features/modelManagerV2/subpanels/ModelPanel/ControlNetOrT2IAdapterDefaultSettings/ControlNetOrT2IAdapterDefaultSettings'; @@ -24,57 +24,32 @@ export const ModelView = () => { return ( - - - - - - - - - - + + + + + + {data.type === 'main' && } {data.type === 'main' && data.format === 'diffusers' && data.repo_variant && ( - - - + )} - {data.type === 'main' && data.format === 'checkpoint' && ( <> - - - - - - - - + + + )} - {data.type === 'ip_adapter' && data.format === 'invokeai' && ( - - - + )} - + + + + {data.type === 'main' && data.base !== 'sdxl-refiner' && } + {(data.type === 'controlnet' || data.type === 't2i_adapter') && } + {(data.type === 'main' || data.type === 'lora') && } - {data.type === 'main' && data.base !== 'sdxl-refiner' && ( - - - - )} - {(data.type === 'controlnet' || data.type === 't2i_adapter') && ( - - - - )} - {(data.type === 'main' || data.type === 'lora') && ( - - - - )} ); };