From 128d2ae6f4b9332c646b4501c6dba657fef2183f Mon Sep 17 00:00:00 2001 From: johndoe6345789 Date: Sat, 17 Jan 2026 00:07:35 +0000 Subject: [PATCH] Generated by Spark: Got weird problem - Publish to https://low-code-react-app-b--johndoe6345789.github.app/ works fine but preview just shows Purple dot and loading.. + white page --- src/App.tsx | 186 +++++++++++++++++++------------- src/ErrorFallback.tsx | 7 ++ src/config/page-loader.ts | 44 +++++--- src/hooks/data/use-seed-data.ts | 30 ++++-- 4 files changed, 168 insertions(+), 99 deletions(-) diff --git a/src/App.tsx b/src/App.tsx index 0de10e2..de0b48e 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -83,10 +83,24 @@ function App() { const [shortcutsOpen, setShortcutsOpen] = useState(false) const [lastSaved] = useState(Date.now()) const [errorCount] = useState(0) + const [appReady, setAppReady] = useState(false) useEffect(() => { + const timer = setTimeout(() => { + setAppReady(true) + }, 100) + loadSeedData() - }, []) + .catch(err => { + console.error('Seed data loading failed:', err) + }) + .finally(() => { + clearTimeout(timer) + setAppReady(true) + }) + + return () => clearTimeout(timer) + }, [loadSeedData]) const pageConfig = useMemo(() => getPageConfig(), []) const enabledPages = useMemo(() => getEnabledPages(featureToggles), [featureToggles]) @@ -186,92 +200,112 @@ function App() { } const renderPageContent = (page: any) => { - const Component = componentMap[page.component] - if (!Component) { - return - } - - if (page.requiresResizable && page.resizableConfig) { - const config = page.resizableConfig - const LeftComponent = componentMap[config.leftComponent] - const RightComponent = Component - - if (!LeftComponent) { - return + try { + const Component = componentMap[page.component] + if (!Component) { + return } - const stateContext = { - files, - models, - components, - componentTrees, - workflows, - lambdas, - theme, - playwrightTests, - storybookStories, - unitTests, - flaskConfig, - nextjsConfig, - npmSettings, - featureToggles, - activeFileId, + if (page.requiresResizable && page.resizableConfig) { + const config = page.resizableConfig + const LeftComponent = componentMap[config.leftComponent] + const RightComponent = Component + + if (!LeftComponent) { + return + } + + const stateContext = { + files, + models, + components, + componentTrees, + workflows, + lambdas, + theme, + playwrightTests, + storybookStories, + unitTests, + flaskConfig, + nextjsConfig, + npmSettings, + featureToggles, + activeFileId, + } + + const actionContext = { + handleFileChange, + setActiveFileId, + handleFileClose, + handleFileAdd, + setModels, + setComponents, + setComponentTrees, + setWorkflows, + setLambdas, + setTheme, + setPlaywrightTests, + setStorybookStories, + setUnitTests, + setFlaskConfig, + setNextjsConfig, + setNpmSettings, + setFeatureToggles, + } + + const leftProps = resolveProps(config.leftProps, stateContext, actionContext) + const rightProps = getPropsForComponent(page.id) + + return ( + + + }> + + + + + + }> + + + + + ) } - const actionContext = { - handleFileChange, - setActiveFileId, - handleFileClose, - handleFileAdd, - setModels, - setComponents, - setComponentTrees, - setWorkflows, - setLambdas, - setTheme, - setPlaywrightTests, - setStorybookStories, - setUnitTests, - setFlaskConfig, - setNextjsConfig, - setNpmSettings, - setFeatureToggles, - } - - const leftProps = resolveProps(config.leftProps, stateContext, actionContext) - const rightProps = getPropsForComponent(page.id) - + const props = getPropsForComponent(page.id) return ( - - - }> - - - - - - }> - - - - + }> + + + ) + } catch (error) { + console.error(`Failed to render page ${page.id}:`, error) + return ( +
+
+

Failed to load {page.title}

+

Check console for details

+
+
) } - - const props = getPropsForComponent(page.id) - return ( - }> - - - ) } return (
+ {!appReady && ( +
+
+
+

Loading CodeForge...

+
+
+ )} }> diff --git a/src/ErrorFallback.tsx b/src/ErrorFallback.tsx index 6abc14b..a009d2b 100644 --- a/src/ErrorFallback.tsx +++ b/src/ErrorFallback.tsx @@ -9,6 +9,8 @@ interface ErrorFallbackProps { } export const ErrorFallback = ({ error, resetErrorBoundary }: ErrorFallbackProps) => { + console.error('ErrorFallback caught:', error); + if (import.meta.env.DEV) throw error; return ( @@ -27,6 +29,11 @@ export const ErrorFallback = ({ error, resetErrorBoundary }: ErrorFallbackProps)
             {error.message}
           
+ {error.stack && ( +
+              {error.stack}
+            
+ )}