diff --git a/src/frontend/src/components/ui/skeletonGroup.tsx b/src/frontend/src/components/ui/skeletonGroup.tsx
new file mode 100644
index 000000000..a99ac636a
--- /dev/null
+++ b/src/frontend/src/components/ui/skeletonGroup.tsx
@@ -0,0 +1,20 @@
+import { Skeleton } from "@/components/ui/skeleton";
+import { cn } from "@/utils/utils";
+
+const SkeletonGroup = ({
+ count = 2,
+ className = "",
+}: {
+ count?: number;
+ className?: string;
+}) => {
+ return (
+ <>
+ {Array.from({ length: count }, (_, i) => (
+
+ ))}
+ >
+ );
+};
+
+export default SkeletonGroup;
diff --git a/src/frontend/src/pages/FlowPage/components/PageComponent/index.tsx b/src/frontend/src/pages/FlowPage/components/PageComponent/index.tsx
index 9996ad9a4..68d9fa1e0 100644
--- a/src/frontend/src/pages/FlowPage/components/PageComponent/index.tsx
+++ b/src/frontend/src/pages/FlowPage/components/PageComponent/index.tsx
@@ -79,7 +79,13 @@ const edgeTypes = {
default: DefaultEdge,
};
-export default function Page({ view }: { view?: boolean }): JSX.Element {
+export default function Page({
+ view,
+ setIsLoading,
+}: {
+ view?: boolean;
+ setIsLoading: (isLoading: boolean) => void;
+}): JSX.Element {
const uploadFlow = useUploadFlow();
const autoSaveFlow = useAutoSaveFlow();
const types = useTypesStore((state) => state.types);
@@ -184,6 +190,10 @@ export default function Page({ view }: { view?: boolean }): JSX.Element {
Object.keys(types).length > 0 &&
!isFetching;
+ useEffect(() => {
+ setIsLoading(!showCanvas);
+ }, [showCanvas]);
+
useEffect(() => {
useFlowStore.setState({ autoSaveFlow });
}, [autoSaveFlow]);
diff --git a/src/frontend/src/pages/FlowPage/components/flowSidebarComponent/components/sidebarFooterButtons/index.tsx b/src/frontend/src/pages/FlowPage/components/flowSidebarComponent/components/sidebarFooterButtons/index.tsx
index 7317945f0..b970b3e70 100644
--- a/src/frontend/src/pages/FlowPage/components/flowSidebarComponent/components/sidebarFooterButtons/index.tsx
+++ b/src/frontend/src/pages/FlowPage/components/flowSidebarComponent/components/sidebarFooterButtons/index.tsx
@@ -7,6 +7,7 @@ const SidebarMenuButtons = ({
hasStore = false,
customComponent,
addComponent,
+ isLoading = false,
}) => {
return (
<>
@@ -37,6 +38,7 @@ const SidebarMenuButtons = ({