import { FC, useEffect, useState } from 'react'; import { LoadingState } from '../../types/general'; import { WASMDataPax } from '../../types/WASMData'; import { CoherentCallGSXReset, CoherentCallOptionsSet } from '../../utils/utils'; import ToggleComponentKH from '../toggleComponent/ToggleComponent'; import Input from '../input/Input'; interface OptionsPaxProps { WASMData: WASMDataPax; loadingState: LoadingState; gsxActive: boolean; } const OptionsPax: FC = ({ WASMData, loadingState, gsxActive }) => { const [paxWeight, setPaxWeight] = useState(WASMData.options.paxWeight); const [bagWeight, setBagWeight] = useState(WASMData.options.bagWeight); const updateData = () => { CoherentCallOptionsSet(undefined, paxWeight, bagWeight); }; const handleInput = (input: string, maxValue: number, setter: (value: number) => void) => { if (!input) { setter(0); return; } const converted = parseInt(input); if (converted) { if (converted < 0) setter(0); else if (converted > maxValue) setter(maxValue); else setter(converted); } }; useEffect(() => updateData(), [paxWeight, bagWeight]); return ( <>
{ CoherentCallOptionsSet(value); }} disabled={loadingState !== 'preview' || gsxActive} />
handleInput(value, Number.MAX_VALUE, setPaxWeight)} disabled={loadingState !== 'preview' || gsxActive} />
handleInput(value, Number.MAX_VALUE, setBagWeight)} disabled={loadingState !== 'preview' || gsxActive} />
{WASMData.userData.isER ? ( <>

SimBrief Profile Settings - ER Variant

Max Passengers 313
Passenger Weight {WASMData.options.paxWeight} {WASMData.userData.isImperial ? 'lbs' : 'kg'}
Bag Weight {WASMData.options.bagWeight} {WASMData.userData.isImperial ? 'lbs' : 'kg'}
Empty Weight {WASMData.userData.isImperial ? '284375 lbs' : '128991 kg'}
Max Zero Fuel Weight {WASMData.userData.isImperial ? '400000 lbs' : '181437 kg'}
Max Takeoff Weight {WASMData.userData.isImperial ? '630500 lbs' : '285990 kg'}
Max Fuel Capacity {WASMData.userData.isImperial ? '282619 lbs' : '128193 kg'}
) : ( <>

SimBrief Profile Settings - Normal variant

Max Passengers 313
Passenger Weight {WASMData.options.paxWeight} {WASMData.userData.isImperial ? 'lbs' : 'kg'}
Bag Weight {WASMData.options.bagWeight} {WASMData.userData.isImperial ? 'lbs' : 'kg'}
Empty Weight {WASMData.userData.isImperial ? '283975 lbs' : '128809 kg'}
Max Zero Fuel Weight {WASMData.userData.isImperial ? '400000 lbs' : '181437 kg'}
Max Takeoff Weight {WASMData.userData.isImperial ? '625500 lbs' : '283722 kg'}
Max Fuel Capacity {WASMData.userData.isImperial ? '256207 lbs' : '116213 kg'}
)}
); }; export default OptionsPax;