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') && (
-
-
-
- )}
);
};