import dynamic from "next/dynamic"; import Split from "react-split"; import { useSnapshot } from "valtio"; import { Box, Container, Flex, Tab, Tabs } from "../../components"; import Transaction from "../../components/Transaction"; import state from "../../state"; import { getSplit, saveSplit } from "../../state/actions/persistSplits"; import { transactionsState, modifyTransaction } from "../../state"; import LogBoxForScripts from "../../components/LogBoxForScripts"; import { useEffect, useState } from "react"; const DebugStream = dynamic(() => import("../../components/DebugStream"), { ssr: false, }); const LogBox = dynamic(() => import("../../components/LogBox"), { ssr: false, }); const Accounts = dynamic(() => import("../../components/Accounts"), { ssr: false, }); const Test = () => { // This and useEffect is here to prevent useLayoutEffect warnings from react-split const [showComponent, setShowComponent] = useState(false); const { transactionLogs } = useSnapshot(state); const { transactions, activeHeader } = useSnapshot(transactionsState); const snap = useSnapshot(state); useEffect(() => { setShowComponent(true); }, []); if (!showComponent) { return null; } const hasScripts = snap.files.filter((f) => f.name.endsWith(".js")).length > 0; return ( saveSplit("testVertical", e)} > saveSplit("testHorizontal", e)} > { if (header) transactionsState.activeHeader = header; }} keepAllAlive forceDefaultExtension defaultExtension=".json" onCreateNewTab={(header) => modifyTransaction(header, {})} onCloseTab={(idx, header) => header && modifyTransaction(header, undefined) } > {transactions.map(({ header, state }) => ( ))} {hasScripts && ( )} (state.transactionLogs = [])} /> ); }; export default Test;