import { FC, useCallback, useEffect, useState } from 'react'; import Freighter from './components/freighter/Freighter'; import Pax from './components/pax/Pax'; import { COHERENT_COMM_BUS_WASM_CALL, COMM_BUS_LIVE_DATA_EVENT, TFDI_SIMBRIEF_USERNAME_CALL, TFDI_SIMBRIEF_USERNAME_EVENT, } from './constants'; import { WASMDataF, WASMDataPax } from './types/WASMData'; const App: FC = () => { const [SBUsername, setSBUsername] = useState(); const [WASMData, setWASMData] = useState(); const [isReady, setIsReady] = useState(false); // CommBus const usernameCallback = useCallback((username: string) => { setSBUsername(username); setIsReady(true); }, []); const wasmCallback = useCallback((data: string) => { setWASMData(JSON.parse(data)); }, []); useEffect(() => { console.log('Initializing CommBus'); const commBus = RegisterViewListener('JS_LISTENER_COMM_BUS'); commBus.on(TFDI_SIMBRIEF_USERNAME_EVENT, usernameCallback); commBus.on(COMM_BUS_LIVE_DATA_EVENT, wasmCallback); setTimeout(() => { Coherent.call(COHERENT_COMM_BUS_WASM_CALL, TFDI_SIMBRIEF_USERNAME_CALL, 'null'); }, 1000); return () => { console.log('De-Initializing CommBus'); commBus.off(TFDI_SIMBRIEF_USERNAME_EVENT, usernameCallback); commBus.off(COMM_BUS_LIVE_DATA_EVENT, wasmCallback); commBus.unregister(); }; }, []); return (
{isReady && WASMData ? ( WASMData.userData.isCargo ? ( ) : ( ) ) : (

LOADING

)}
); }; export default App;