diff --git a/invokeai/frontend/web/src/app/components/App.tsx b/invokeai/frontend/web/src/app/components/App.tsx
index 33fa57f0b3..21b3945490 100644
--- a/invokeai/frontend/web/src/app/components/App.tsx
+++ b/invokeai/frontend/web/src/app/components/App.tsx
@@ -76,18 +76,21 @@ const App = ({
{isLightboxEnabled && }
{headerComponent || }
diff --git a/invokeai/frontend/web/src/features/canvas/components/IAICanvasToolbar/IAICanvasToolbar.tsx b/invokeai/frontend/web/src/features/canvas/components/IAICanvasToolbar/IAICanvasToolbar.tsx
index 69eed2b46a..30ff6fff81 100644
--- a/invokeai/frontend/web/src/features/canvas/components/IAICanvasToolbar/IAICanvasToolbar.tsx
+++ b/invokeai/frontend/web/src/features/canvas/components/IAICanvasToolbar/IAICanvasToolbar.tsx
@@ -1,4 +1,4 @@
-import { ButtonGroup, Flex } from '@chakra-ui/react';
+import { Box, ButtonGroup, Flex } from '@chakra-ui/react';
import { createSelector } from '@reduxjs/toolkit';
import { useAppDispatch, useAppSelector } from 'app/store/storeHooks';
import IAIIconButton from 'common/components/IAIIconButton';
@@ -210,16 +210,19 @@ const IAICanvasToolbar = () => {
sx={{
alignItems: 'center',
gap: 2,
+ flexWrap: 'wrap',
}}
>
-
+
+
+
diff --git a/invokeai/frontend/web/src/features/nodes/components/FieldTypeLegend.tsx b/invokeai/frontend/web/src/features/nodes/components/FieldTypeLegend.tsx
index c14c7ebccf..78316cc694 100644
--- a/invokeai/frontend/web/src/features/nodes/components/FieldTypeLegend.tsx
+++ b/invokeai/frontend/web/src/features/nodes/components/FieldTypeLegend.tsx
@@ -6,7 +6,7 @@ import { memo } from 'react';
const FieldTypeLegend = () => {
return (
-
+
{map(FIELDS, ({ title, description, color }, key) => (
{
sx={{
position: 'relative',
width: 'full',
- height: { base: '100vh', xl: 'full' },
+ height: 'full',
borderRadius: 'md',
bg: 'base.850',
}}
diff --git a/invokeai/frontend/web/src/features/parameters/components/Parameters/Core/ParamNegativeConditioning.tsx b/invokeai/frontend/web/src/features/parameters/components/Parameters/Core/ParamNegativeConditioning.tsx
index 28ab50ff82..70c342cc3b 100644
--- a/invokeai/frontend/web/src/features/parameters/components/Parameters/Core/ParamNegativeConditioning.tsx
+++ b/invokeai/frontend/web/src/features/parameters/components/Parameters/Core/ParamNegativeConditioning.tsx
@@ -25,6 +25,7 @@ const ParamNegativeConditioning = () => {
borderColor: 'error.600',
}}
fontSize="sm"
+ minH={16}
/>
);
diff --git a/invokeai/frontend/web/src/features/parameters/components/Parameters/Core/ParamPositiveConditioning.tsx b/invokeai/frontend/web/src/features/parameters/components/Parameters/Core/ParamPositiveConditioning.tsx
index 0980b84ab3..82b43517f8 100644
--- a/invokeai/frontend/web/src/features/parameters/components/Parameters/Core/ParamPositiveConditioning.tsx
+++ b/invokeai/frontend/web/src/features/parameters/components/Parameters/Core/ParamPositiveConditioning.tsx
@@ -82,7 +82,7 @@ const ParamPositiveConditioning = () => {
onKeyDown={handleKeyDown}
resize="vertical"
ref={promptRef}
- minH={{ base: 20, lg: 40 }}
+ minH={32}
/>
diff --git a/invokeai/frontend/web/src/features/system/components/InvokeAILogoComponent.tsx b/invokeai/frontend/web/src/features/system/components/InvokeAILogoComponent.tsx
index f6017d02f0..bec2c32b61 100644
--- a/invokeai/frontend/web/src/features/system/components/InvokeAILogoComponent.tsx
+++ b/invokeai/frontend/web/src/features/system/components/InvokeAILogoComponent.tsx
@@ -13,22 +13,16 @@ const InvokeAILogoComponent = () => {
-
-
+ />
+
+
invoke ai
{
- const [menuOpened, setMenuOpened] = useState(false);
- const resolution = useResolution();
const { t } = useTranslation();
+ const isModelManagerEnabled =
+ useFeatureStatus('modelManager').isFeatureEnabled;
+ const isLocalizationEnabled =
+ useFeatureStatus('localization').isFeatureEnabled;
+ const isBugLinkEnabled = useFeatureStatus('bugLink').isFeatureEnabled;
+ const isDiscordLinkEnabled = useFeatureStatus('discordLink').isFeatureEnabled;
+ const isGithubLinkEnabled = useFeatureStatus('githubLink').isFeatureEnabled;
+
return (
-
-
-
-
-
-
+
+
+
- {resolution === 'desktop' ? (
-
- ) : (
+ {isModelManagerEnabled && (
+
}
- aria-label={t('accessibility.menu')}
- background={menuOpened ? 'base.800' : 'none'}
- _hover={{ background: menuOpened ? 'base.800' : 'none' }}
- onClick={() => setMenuOpened(!menuOpened)}
- p={0}
- >
- )}
-
-
- {resolution !== 'desktop' && menuOpened && (
-
-
-
+ aria-label={t('modelManager.modelManager')}
+ tooltip={t('modelManager.modelManager')}
+ size="sm"
+ variant="link"
+ data-variant="link"
+ fontSize={20}
+ icon={}
+ />
+
)}
-
+
+
+ }
+ />
+
+
+
+
+ {isLocalizationEnabled && }
+
+ {isBugLinkEnabled && (
+
+ }
+ />
+
+ )}
+
+ {isGithubLinkEnabled && (
+
+ }
+ />
+
+ )}
+
+ {isDiscordLinkEnabled && (
+
+ }
+ />
+
+ )}
+
+
+ }
+ />
+
+
);
};
diff --git a/invokeai/frontend/web/src/features/ui/components/InvokeTabs.tsx b/invokeai/frontend/web/src/features/ui/components/InvokeTabs.tsx
index 23fc6bd192..c164b87515 100644
--- a/invokeai/frontend/web/src/features/ui/components/InvokeTabs.tsx
+++ b/invokeai/frontend/web/src/features/ui/components/InvokeTabs.tsx
@@ -152,16 +152,18 @@ const InvokeTabs = () => {
onChange={(index: number) => {
dispatch(setActiveTab(index));
}}
- flexGrow={1}
- flexDir={{ base: 'column', xl: 'row' }}
- gap={{ base: 4 }}
+ sx={{
+ flexGrow: 1,
+ gap: 4,
+ }}
isLazy
>
{tabs}
diff --git a/invokeai/frontend/web/src/features/ui/components/PinParametersPanelButton.tsx b/invokeai/frontend/web/src/features/ui/components/PinParametersPanelButton.tsx
index 46d0fa3f93..a742e2a587 100644
--- a/invokeai/frontend/web/src/features/ui/components/PinParametersPanelButton.tsx
+++ b/invokeai/frontend/web/src/features/ui/components/PinParametersPanelButton.tsx
@@ -33,7 +33,6 @@ const PinParametersPanelButton = (props: PinParametersPanelButtonProps) => {
icon={shouldPinParametersPanel ? : }
variant="ghost"
size="sm"
- px={{ base: 10, xl: 0 }}
sx={{
color: 'base.700',
_hover: {