import React from 'react'; import Box from '@mui/material/Box'; import localForage from 'localforage'; import Drawer from '@mui/material/Drawer'; import { Helmet } from '@modern-js/runtime/head'; import ViewConnector from '@/components/ViewConnector'; import './index.scss'; import ResizeableColumn from '@/components/ResizeableColumn'; import HeadBar from '@/components/HeadBar'; import Outline from '@/components/Outline'; import AgentHiring from '@/components/AgentHiring'; import AgentBoard from '@/components/AgentBoard'; import ProcessRehearsal from '@/components/ProcessRehearsal'; import UserGoalInput from '@/components/UserGoalInput'; import ProcessDiscrption from '@/components/ProcessDiscription'; import { globalStorage } from '@/storage'; // ζŒδΉ…εŒ– localForage.config({ name: 'AgentCoord', storeName: 'app', }); export default React.memo(() => { React.useEffect(() => { let id: NodeJS.Timer | undefined; if (!globalStorage.devMode) { localForage.getItem('globalStorage').then(v => { if (v) { globalStorage.load(v); } }); id = setInterval(() => { localForage.setItem('globalStorage', globalStorage.dump()); }, 1000); } // globalStorage.getAgents(); const refreshLines = () => globalStorage.renderLines({ delay: 0, repeat: 1, interval: 15 }); window.addEventListener('resize', refreshLines); // window.addEventListener('pointermove', refreshLines); return () => { if (id) { clearInterval(id); } // window.removeEventListener('pointermove', refreshLines); window.removeEventListener('resize', refreshLines); }; }, []); const [showAgentHiring, setShowAgentHiring] = React.useState(false); return ( <> AgentCoord {/* Columns */} setShowAgentHiring(true)} /> {/* Drawers */} setShowAgentHiring(false)} > ); });