import { FC, StrictMode, useCallback, useEffect, useState } from 'react'; import Pax from './components/pax/Pax'; import { COHERENT_COMBUS_WASM_CALL, COMM_BUS_LIVE_DATA_EVENT, TFDI_SIMBRIEF_USERNAME_EVENT } from './constants'; import { WASMDataPax } from './types/WASMData'; interface IAppProps { commBus: ViewListener.ViewListener; } const App: FC = ({ commBus }) => { const [SBUsername, setSBUsername] = useState(); //FIXME: TS Type const [WASMData, setWASMData] = useState(); const [isReady, setIsReady] = useState(false); // Main Loop for Live Payload // CommBus const usernameCallback = useCallback((username: string) => { setSBUsername(username); setIsReady(true); }, []); const wasmCallback = useCallback((data: string) => { setWASMData(JSON.parse(data)); }, []); useEffect(() => { console.log('Initializing CommBus'); commBus.on(COMM_BUS_LIVE_DATA_EVENT, usernameCallback); commBus.on(COMM_BUS_LIVE_DATA_EVENT, wasmCallback); setTimeout(() => { Coherent.call(COHERENT_COMBUS_WASM_CALL, TFDI_SIMBRIEF_USERNAME_EVENT, 'null'); }, 1000); return () => { commBus.off('receiveSimBriefUsername', usernameCallback); commBus.off(COMM_BUS_LIVE_DATA_EVENT, wasmCallback); }; }, []); return (
{isReady && WASMData ? ( WASMData.userData.isCargo ? ( <>Not yet Implemented ) : ( ) ) : (

LOADING

)}
); }; export default App;