Integrated OSK

This commit is contained in:
2025-12-02 21:05:59 +01:00
parent cd1f2048b0
commit 22a41749d6
11 changed files with 157 additions and 62 deletions
@@ -3,6 +3,7 @@ import { LoadingState } from '../../types/general';
import { WASMDataF } from '../../types/WASMData';
import { CoherentCallStationEntryF, inRangeOf, loadAircraft, unloadAircraft } from '../../utils/utils';
import ActionBar from '../actionbar/ActionBar';
import Input from '../input/Input';
interface StationEntryProps {
WASMData: WASMDataF;
@@ -73,12 +74,12 @@ const StationEntryF: FC<StationEntryProps> = ({ WASMData, loadingState, gsxActiv
<div className="relative flex w-full items-center justify-between rounded-md bg-zinc-600 p-2 px-4">
<div className="flex w-full items-center justify-between text-xs">
<label>Fuel ({WASMData.userData.isImperial ? 'lbs' : 'kg'})</label>
<input
<Input
type="text"
placeholder=""
className={`w-1/2 rounded-lg border border-white bg-zinc-700 px-3 py-2 text-right`}
value={fuel}
onChange={(e) => handleInput(e.target.value, WASMData.limits.maxFuel, setFuel)}
onChange={(value) => handleInput(value, WASMData.limits.maxFuel, setFuel)}
disabled={loadingState !== 'preview' || gsxActive}
/>
<button
@@ -105,12 +106,12 @@ const StationEntryF: FC<StationEntryProps> = ({ WASMData, loadingState, gsxActiv
<div className="relative flex w-full items-center justify-between rounded-t-md bg-zinc-600 p-2 px-4">
<div className="flex w-full items-center justify-between text-xs">
<label>Upper 1</label>
<input
<Input
type="text"
placeholder=""
className="w-1/2 rounded-lg border border-white bg-zinc-700 px-3 py-2 text-right focus:border-blue-600 focus:ring-blue-600"
value={upper1}
onChange={(e) => handleInput(e.target.value, WASMData.limits.upper1, setUpper1)}
onChange={(value) => handleInput(value, WASMData.limits.upper1, setUpper1)}
disabled={loadingState !== 'preview' || gsxActive}
/>
</div>
@@ -118,12 +119,12 @@ const StationEntryF: FC<StationEntryProps> = ({ WASMData, loadingState, gsxActiv
<div className="relative flex w-full items-center justify-between bg-zinc-700 p-2 px-4">
<div className="flex w-full items-center justify-between text-xs">
<label>Upper 2</label>
<input
<Input
type="text"
placeholder=""
className="w-1/2 rounded-lg border border-white bg-zinc-700 px-3 py-2 text-right focus:border-blue-600 focus:ring-blue-600"
value={upper2}
onChange={(e) => handleInput(e.target.value, WASMData.limits.upper2, setUpper2)}
onChange={(value) => handleInput(value, WASMData.limits.upper2, setUpper2)}
disabled={loadingState !== 'preview' || gsxActive}
/>
</div>
@@ -131,12 +132,12 @@ const StationEntryF: FC<StationEntryProps> = ({ WASMData, loadingState, gsxActiv
<div className="relative flex w-full items-center justify-between bg-zinc-600 p-2 px-4">
<div className="flex w-full items-center justify-between text-xs">
<label>Upper 3</label>
<input
<Input
type="text"
placeholder=""
className="w-1/2 rounded-lg border border-white bg-zinc-700 px-3 py-2 text-right focus:border-blue-600 focus:ring-blue-600"
value={upper3}
onChange={(e) => handleInput(e.target.value, WASMData.limits.upper3, setUpper3)}
onChange={(value) => handleInput(value, WASMData.limits.upper3, setUpper3)}
disabled={loadingState !== 'preview' || gsxActive}
/>
</div>
@@ -144,12 +145,12 @@ const StationEntryF: FC<StationEntryProps> = ({ WASMData, loadingState, gsxActiv
<div className="relative flex w-full items-center justify-between bg-zinc-700 p-2 px-4">
<div className="flex w-full items-center justify-between text-xs">
<label>Upper 4</label>
<input
<Input
type="text"
placeholder=""
className="w-1/2 rounded-lg border border-white bg-zinc-700 px-3 py-2 text-right focus:border-blue-600 focus:ring-blue-600"
value={upper4}
onChange={(e) => handleInput(e.target.value, WASMData.limits.upper4, setUpper4)}
onChange={(value) => handleInput(value, WASMData.limits.upper4, setUpper4)}
disabled={loadingState !== 'preview' || gsxActive}
/>
</div>
@@ -157,12 +158,12 @@ const StationEntryF: FC<StationEntryProps> = ({ WASMData, loadingState, gsxActiv
<div className="relative flex w-full items-center justify-between bg-zinc-600 p-2 px-4">
<div className="flex w-full items-center justify-between text-xs">
<label>Forward Cargo ({WASMData.userData.isImperial ? 'lbs' : 'kg'})</label>
<input
<Input
type="text"
placeholder=""
className="w-1/2 rounded-lg border border-white bg-zinc-700 px-3 py-2 text-right focus:border-blue-600 focus:ring-blue-600"
value={lowerForward}
onChange={(e) => handleInput(e.target.value, WASMData.limits.lowerForward, setLowerForward)}
onChange={(value) => handleInput(value, WASMData.limits.lowerForward, setLowerForward)}
disabled={loadingState !== 'preview' || gsxActive}
/>
</div>
@@ -170,12 +171,12 @@ const StationEntryF: FC<StationEntryProps> = ({ WASMData, loadingState, gsxActiv
<div className="relative flex w-full items-center justify-between rounded-b-md bg-zinc-700 p-2 px-4">
<div className="flex w-full items-center justify-between text-xs">
<label>Aft Cargo ({WASMData.userData.isImperial ? 'lbs' : 'kg'})</label>
<input
<Input
type="text"
placeholder=""
className="w-1/2 rounded-lg border border-white bg-zinc-700 px-3 py-2 text-right focus:border-blue-600 focus:ring-blue-600"
value={lowerRear}
onChange={(e) => handleInput(e.target.value, WASMData.limits.lowerRear, setLowerRear)}
onChange={(value) => handleInput(value, WASMData.limits.lowerRear, setLowerRear)}
disabled={loadingState !== 'preview' || gsxActive}
/>
</div>