From 5ff4dd26bbf93f7484fa2249930fcc3412d0ebec Mon Sep 17 00:00:00 2001 From: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Sat, 29 Jul 2023 02:30:10 +1200 Subject: [PATCH 1/2] fix: Concat Link Styling --- .../ParamSDXLNegativeStyleConditioning.tsx | 33 +++++++++++++-- .../ParamSDXLPositiveStyleConditioning.tsx | 33 +++++++++++++-- .../sdxl/components/ParamSDXLPromptArea.tsx | 40 +------------------ .../sdxl/components/SDXLConcatLink.tsx | 10 +---- 4 files changed, 62 insertions(+), 54 deletions(-) diff --git a/invokeai/frontend/web/src/features/sdxl/components/ParamSDXLNegativeStyleConditioning.tsx b/invokeai/frontend/web/src/features/sdxl/components/ParamSDXLNegativeStyleConditioning.tsx index e2d5c5b8e4d..cd8e1605d0e 100644 --- a/invokeai/frontend/web/src/features/sdxl/components/ParamSDXLNegativeStyleConditioning.tsx +++ b/invokeai/frontend/web/src/features/sdxl/components/ParamSDXLNegativeStyleConditioning.tsx @@ -13,15 +13,22 @@ import { useIsReadyToInvoke } from 'common/hooks/useIsReadyToInvoke'; import AddEmbeddingButton from 'features/embedding/components/AddEmbeddingButton'; import ParamEmbeddingPopover from 'features/embedding/components/ParamEmbeddingPopover'; import { useFeatureStatus } from 'features/system/hooks/useFeatureStatus'; +import { AnimatePresence } from 'framer-motion'; import { isEqual } from 'lodash-es'; import { flushSync } from 'react-dom'; import { setNegativeStylePromptSDXL } from '../store/sdxlSlice'; +import SDXLConcatLink from './SDXLConcatLink'; const promptInputSelector = createSelector( [stateSelector, activeTabNameSelector], - ({ sdxl }, activeTabName) => { + ({ sdxl, ui }, activeTabName) => { + const { negativeStylePrompt, shouldConcatSDXLStylePrompt } = sdxl; + const { shouldPinParametersPanel } = ui; + return { - prompt: sdxl.negativeStylePrompt, + prompt: negativeStylePrompt, + shouldConcatSDXLStylePrompt, + shouldPinParametersPanel, activeTabName, }; }, @@ -37,11 +44,17 @@ const promptInputSelector = createSelector( */ const ParamSDXLNegativeStyleConditioning = () => { const dispatch = useAppDispatch(); - const { prompt, activeTabName } = useAppSelector(promptInputSelector); const isReady = useIsReadyToInvoke(); const promptRef = useRef(null); const { isOpen, onClose, onOpen } = useDisclosure(); + const { + prompt, + activeTabName, + shouldPinParametersPanel, + shouldConcatSDXLStylePrompt, + } = useAppSelector(promptInputSelector); + const handleChangePrompt = useCallback( (e: ChangeEvent) => { dispatch(setNegativeStylePromptSDXL(e.target.value)); @@ -111,6 +124,20 @@ const ParamSDXLNegativeStyleConditioning = () => { return ( + + {shouldConcatSDXLStylePrompt && ( + + + + )} + { + ({ sdxl, ui }, activeTabName) => { + const { positiveStylePrompt, shouldConcatSDXLStylePrompt } = sdxl; + const { shouldPinParametersPanel } = ui; + return { - prompt: sdxl.positiveStylePrompt, + prompt: positiveStylePrompt, + shouldPinParametersPanel, + shouldConcatSDXLStylePrompt, activeTabName, }; }, @@ -37,11 +44,17 @@ const promptInputSelector = createSelector( */ const ParamSDXLPositiveStyleConditioning = () => { const dispatch = useAppDispatch(); - const { prompt, activeTabName } = useAppSelector(promptInputSelector); const isReady = useIsReadyToInvoke(); const promptRef = useRef(null); const { isOpen, onClose, onOpen } = useDisclosure(); + const { + prompt, + activeTabName, + shouldPinParametersPanel, + shouldConcatSDXLStylePrompt, + } = useAppSelector(promptInputSelector); + const handleChangePrompt = useCallback( (e: ChangeEvent) => { dispatch(setPositiveStylePromptSDXL(e.target.value)); @@ -111,6 +124,20 @@ const ParamSDXLPositiveStyleConditioning = () => { return ( + + {shouldConcatSDXLStylePrompt && ( + + + + )} + state.ui.shouldPinParametersPanel - ); - - const shouldConcatSDXLStylePrompt = useAppSelector( - (state: RootState) => state.sdxl.shouldConcatSDXLStylePrompt - ); - return ( - - {shouldConcatSDXLStylePrompt && ( - - - - )} - - - {shouldConcatSDXLStylePrompt && ( - - - - )} - diff --git a/invokeai/frontend/web/src/features/sdxl/components/SDXLConcatLink.tsx b/invokeai/frontend/web/src/features/sdxl/components/SDXLConcatLink.tsx index d64daae70d5..e9825980816 100644 --- a/invokeai/frontend/web/src/features/sdxl/components/SDXLConcatLink.tsx +++ b/invokeai/frontend/web/src/features/sdxl/components/SDXLConcatLink.tsx @@ -18,14 +18,7 @@ const sharedConcatLinkStyle: CSSObject = { export default function SDXLConcatLink() { return ( - + Date: Sat, 29 Jul 2023 02:37:59 +1200 Subject: [PATCH 2/2] fix: Lint errors --- .../ParamSDXLNegativeStyleConditioning.tsx | 12 +++--------- .../ParamSDXLPositiveStyleConditioning.tsx | 12 +++--------- 2 files changed, 6 insertions(+), 18 deletions(-) diff --git a/invokeai/frontend/web/src/features/sdxl/components/ParamSDXLNegativeStyleConditioning.tsx b/invokeai/frontend/web/src/features/sdxl/components/ParamSDXLNegativeStyleConditioning.tsx index cd8e1605d0e..e1533bc886c 100644 --- a/invokeai/frontend/web/src/features/sdxl/components/ParamSDXLNegativeStyleConditioning.tsx +++ b/invokeai/frontend/web/src/features/sdxl/components/ParamSDXLNegativeStyleConditioning.tsx @@ -21,14 +21,12 @@ import SDXLConcatLink from './SDXLConcatLink'; const promptInputSelector = createSelector( [stateSelector, activeTabNameSelector], - ({ sdxl, ui }, activeTabName) => { + ({ sdxl }, activeTabName) => { const { negativeStylePrompt, shouldConcatSDXLStylePrompt } = sdxl; - const { shouldPinParametersPanel } = ui; return { prompt: negativeStylePrompt, shouldConcatSDXLStylePrompt, - shouldPinParametersPanel, activeTabName, }; }, @@ -48,12 +46,8 @@ const ParamSDXLNegativeStyleConditioning = () => { const promptRef = useRef(null); const { isOpen, onClose, onOpen } = useDisclosure(); - const { - prompt, - activeTabName, - shouldPinParametersPanel, - shouldConcatSDXLStylePrompt, - } = useAppSelector(promptInputSelector); + const { prompt, activeTabName, shouldConcatSDXLStylePrompt } = + useAppSelector(promptInputSelector); const handleChangePrompt = useCallback( (e: ChangeEvent) => { diff --git a/invokeai/frontend/web/src/features/sdxl/components/ParamSDXLPositiveStyleConditioning.tsx b/invokeai/frontend/web/src/features/sdxl/components/ParamSDXLPositiveStyleConditioning.tsx index 7dcf94419e2..fdd29eaeb76 100644 --- a/invokeai/frontend/web/src/features/sdxl/components/ParamSDXLPositiveStyleConditioning.tsx +++ b/invokeai/frontend/web/src/features/sdxl/components/ParamSDXLPositiveStyleConditioning.tsx @@ -21,13 +21,11 @@ import SDXLConcatLink from './SDXLConcatLink'; const promptInputSelector = createSelector( [stateSelector, activeTabNameSelector], - ({ sdxl, ui }, activeTabName) => { + ({ sdxl }, activeTabName) => { const { positiveStylePrompt, shouldConcatSDXLStylePrompt } = sdxl; - const { shouldPinParametersPanel } = ui; return { prompt: positiveStylePrompt, - shouldPinParametersPanel, shouldConcatSDXLStylePrompt, activeTabName, }; @@ -48,12 +46,8 @@ const ParamSDXLPositiveStyleConditioning = () => { const promptRef = useRef(null); const { isOpen, onClose, onOpen } = useDisclosure(); - const { - prompt, - activeTabName, - shouldPinParametersPanel, - shouldConcatSDXLStylePrompt, - } = useAppSelector(promptInputSelector); + const { prompt, activeTabName, shouldConcatSDXLStylePrompt } = + useAppSelector(promptInputSelector); const handleChangePrompt = useCallback( (e: ChangeEvent) => {