Skip to content

Commit 115f7bb

Browse files
committed
🤖 fix: restore AppLoaderMiddle to fix Storybook tests
AppLoader was calling useProjectContext() before ProjectProvider was rendered, breaking Storybook stories. Restored the middle component to call hooks inside the provider.
1 parent 56aa7d3 commit 115f7bb

File tree

1 file changed

+18
-9
lines changed

1 file changed

+18
-9
lines changed

src/components/AppLoader.tsx

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -18,21 +18,30 @@ import { WorkspaceProvider, useWorkspaceContext } from "../contexts/WorkspaceCon
1818
* the need for conditional guards in effects.
1919
*/
2020
export function AppLoader() {
21-
const { refreshProjects } = useProjectContext();
22-
2321
return (
2422
<ProjectProvider>
25-
<WorkspaceProvider
26-
onProjectsUpdate={() => {
27-
void refreshProjects();
28-
}}
29-
>
30-
<AppLoaderInner />
31-
</WorkspaceProvider>
23+
<AppLoaderMiddle />
3224
</ProjectProvider>
3325
);
3426
}
3527

28+
/**
29+
* Middle component that has access to ProjectContext and wraps WorkspaceProvider
30+
*/
31+
function AppLoaderMiddle() {
32+
const { refreshProjects } = useProjectContext();
33+
34+
return (
35+
<WorkspaceProvider
36+
onProjectsUpdate={() => {
37+
void refreshProjects();
38+
}}
39+
>
40+
<AppLoaderInner />
41+
</WorkspaceProvider>
42+
);
43+
}
44+
3645
/**
3746
* Inner component that has access to both ProjectContext and WorkspaceContext.
3847
* Syncs stores and shows loading screen until ready.

0 commit comments

Comments
 (0)