diff --git a/space_flow/src/App.tsx b/space_flow/src/App.tsx
index 9b1a39a0d..bd55a4fb9 100644
--- a/space_flow/src/App.tsx
+++ b/space_flow/src/App.tsx
@@ -12,6 +12,8 @@ import { locationContext } from "./contexts/locationContext";
import FlowPage from "./pages/FlowPage";
import Sidebar from "./components/SidebarComponent";
import Header from "./components/HeaderComponent";
+import { TabsProvider } from "./contexts/tabsContext";
+import { TabsManager } from "./pages/FlowPage/flowManager";
export default function App() {
var _ = require("lodash");
@@ -108,7 +110,9 @@ export default function App() {
{/* Primary column */}
-
+
+
+
diff --git a/space_flow/src/contexts/tabsContext.tsx b/space_flow/src/contexts/tabsContext.tsx
index 35ab53190..6cf88b8aa 100644
--- a/space_flow/src/contexts/tabsContext.tsx
+++ b/space_flow/src/contexts/tabsContext.tsx
@@ -23,14 +23,18 @@ export const TabsContext = createContext(TabsContextInitialValu
export function TabsProvider({children}){
const [tabIndex,setTabIndex] = useState(0)
- const [flows,setFlows] = useState>([])
+ const [flows,setFlows] = useState>(JSON.parse(window.sessionStorage.getItem('tabs'))??[])
function removeFlow(index:number){
let newFlows = flows
newFlows.splice(index)
+ window.sessionStorage.setItem('tabs',JSON.stringify(newFlows))
setFlows(newFlows)
}
function addFlow(newFlow:flow){
- setFlows([...flows,newFlow])
+ let newFlows = [...flows,newFlow]
+ window.sessionStorage.setItem('tabs',JSON.stringify(newFlows))
+ setFlows(newFlows)
+
}
return(
diff --git a/space_flow/src/pages/FlowPage/flowManager/index.tsx b/space_flow/src/pages/FlowPage/flowManager/index.tsx
index 6979f8963..1d360d545 100644
--- a/space_flow/src/pages/FlowPage/flowManager/index.tsx
+++ b/space_flow/src/pages/FlowPage/flowManager/index.tsx
@@ -1,52 +1,27 @@
-import { useState } from 'react';
+import { useContext, useState } from 'react';
import { Tab, Tabs, TabList, TabPanel } from 'react-tabs';
import FlowPage from '..';
-import 'react-tabs/style/react-tabs.css';
+import { TabsContext } from '../../../contexts/tabsContext';
+import TabComponent from './tabComponent';
+var _ = require("lodash");
-interface FlowTabProps {
- flow:any;
-}
-
-function FlowTab() {
- return (
-
- );
-}
-
-function App() {
- const [flows, setFlows] = useState([]); // Start with one flow
- const [activeIndex, setActiveIndex] = useState(0);
-
- function onElementsChange(flowIndex: number, elements: any[]) {
- setFlows((prevFlows) => {
- const newFlows = [...prevFlows];
- newFlows[flowIndex] = elements;
- return newFlows;
- });
+export function TabsManager(){
+ const {flows,addFlow} = useContext(TabsContext);
+ if(flows.length===0){
+ addFlow({name:"untitled",flow:null,id:_.uniqueId()})
}
- function addTab() {
- setFlows([...flows, []]); // Add a new flow to the state
- setActiveIndex(flows.length); // Activate the new tab
- }
-
- return (
-
+ return(
+
- {flows.map((flow, index) => (
- Flow {index + 1}
- ))}
- {/* Render the plus button */}
+ {flows.map(flow=>{flow.name})}
+
-
- {flows.map((flow, index) => (
-
-
-
- ))}
+ {flows.map(flow=>)}
- );
+ )
}
+
/*
tabs initial logic
TO DO
diff --git a/space_flow/src/pages/FlowPage/flowManager/tabComponent/index.tsx b/space_flow/src/pages/FlowPage/flowManager/tabComponent/index.tsx
new file mode 100644
index 000000000..4da771019
--- /dev/null
+++ b/space_flow/src/pages/FlowPage/flowManager/tabComponent/index.tsx
@@ -0,0 +1,12 @@
+type tabProps = {
+ name:string;
+}
+
+
+export default function TabComponent({children}){
+ return(
+
+ {children}
+
+ )
+}
\ No newline at end of file
diff --git a/space_flow/src/pages/FlowPage/index.tsx b/space_flow/src/pages/FlowPage/index.tsx
index 10009d942..4e4923a98 100644
--- a/space_flow/src/pages/FlowPage/index.tsx
+++ b/space_flow/src/pages/FlowPage/index.tsx
@@ -141,7 +141,7 @@ export default function FlowPage() {
onDrop={onDrop}
>
-
+