diff --git a/invokeai/frontend/web/src/app/components/App.tsx b/invokeai/frontend/web/src/app/components/App.tsx index 3fbcbc49ea..eb6496f43e 100644 --- a/invokeai/frontend/web/src/app/components/App.tsx +++ b/invokeai/frontend/web/src/app/components/App.tsx @@ -30,9 +30,14 @@ const DEFAULT_CONFIG = {}; interface Props { config?: PartialAppConfig; headerComponent?: ReactNode; + setIsReady?: (isReady: boolean) => void; } -const App = ({ config = DEFAULT_CONFIG, headerComponent }: Props) => { +const App = ({ + config = DEFAULT_CONFIG, + headerComponent, + setIsReady, +}: Props) => { useToastWatcher(); useGlobalHotkeys(); @@ -61,6 +66,16 @@ const App = ({ config = DEFAULT_CONFIG, headerComponent }: Props) => { setLoadingOverridden(true); }, []); + useEffect(() => { + if (isApplicationReady && setIsReady) { + setIsReady(true); + } + + return () => { + setIsReady && setIsReady(false); + }; + }, [isApplicationReady, setIsReady]); + return ( {isLightboxEnabled && } diff --git a/invokeai/frontend/web/src/app/components/InvokeAIUI.tsx b/invokeai/frontend/web/src/app/components/InvokeAIUI.tsx index 442c1d967a..c04a8184d7 100644 --- a/invokeai/frontend/web/src/app/components/InvokeAIUI.tsx +++ b/invokeai/frontend/web/src/app/components/InvokeAIUI.tsx @@ -24,9 +24,16 @@ interface Props extends PropsWithChildren { token?: string; config?: PartialAppConfig; headerComponent?: ReactNode; + setIsReady?: (isReady: boolean) => void; } -const InvokeAIUI = ({ apiUrl, token, config, headerComponent }: Props) => { +const InvokeAIUI = ({ + apiUrl, + token, + config, + headerComponent, + setIsReady, +}: Props) => { useEffect(() => { // configure API client token if (token) { @@ -55,7 +62,11 @@ const InvokeAIUI = ({ apiUrl, token, config, headerComponent }: Props) => { }> - +