diff --git a/package-lock.json b/package-lock.json index dc86b31..2a91371 100644 --- a/package-lock.json +++ b/package-lock.json @@ -43,7 +43,7 @@ "mui-tel-input": "^7.0.0", "notistack": "^3.0.1", "openweathermap-ts": "^1.2.10", - "protobuf-ts": "git+https://gitlab+deploy-token-50627:hv8mB4WkyvtjBpJKU1rN@gitlab.com/brandx/protobuf-ts.git#staging", + "protobuf-ts": "git+https://gitlab+deploy-token-50627:hv8mB4WkyvtjBpJKU1rN@gitlab.com/brandx/protobuf-ts.git#imperial_bushels", "query-string": "^9.2.1", "react": "^18.3.1", "react-beautiful-dnd": "^13.1.1", @@ -11967,7 +11967,7 @@ }, "node_modules/protobuf-ts": { "version": "1.0.0", - "resolved": "git+https://gitlab+deploy-token-50627:hv8mB4WkyvtjBpJKU1rN@gitlab.com/brandx/protobuf-ts.git#ab9e8d4fd38f9af7802398403d38fddda5eb01da", + "resolved": "git+https://gitlab+deploy-token-50627:hv8mB4WkyvtjBpJKU1rN@gitlab.com/brandx/protobuf-ts.git#7649feaa2222b555fe15fe9e4a19244c23f0e442", "dependencies": { "protobufjs": "^6.8.8" } diff --git a/package.json b/package.json index 90ac71b..b535c88 100644 --- a/package.json +++ b/package.json @@ -55,7 +55,7 @@ "mui-tel-input": "^7.0.0", "notistack": "^3.0.1", "openweathermap-ts": "^1.2.10", - "protobuf-ts": "git+https://gitlab+deploy-token-50627:hv8mB4WkyvtjBpJKU1rN@gitlab.com/brandx/protobuf-ts.git#staging", + "protobuf-ts": "git+https://gitlab+deploy-token-50627:hv8mB4WkyvtjBpJKU1rN@gitlab.com/brandx/protobuf-ts.git#imperial_bushels", "query-string": "^9.2.1", "react": "^18.3.1", "react-beautiful-dnd": "^13.1.1", diff --git a/src/grain/CustomGrainForm.tsx b/src/grain/CustomGrainForm.tsx index 905931c..23e4f71 100644 --- a/src/grain/CustomGrainForm.tsx +++ b/src/grain/CustomGrainForm.tsx @@ -18,7 +18,9 @@ export default function CustomGrainForm(props: Props) { const [constantB, setConstantB] = useState("0") const [constantC, setConstantC] = useState("0") const [kgPerBushel, setKgPerBushel] = useState("0") - const [bushelsPerTonne, setBushelsPerTonne] = useState("0") + const [bushelsPerTonne, setBushelsPerTonne] = useState("0")//this is metric + const [lbPerBushel, setLbPerBushel] = useState("0") + const [bushelsPerTon, setBushelsPerTon] = useState("0")//this is imperial const valid = useRef(false) useEffect(()=>{ @@ -35,14 +37,25 @@ export default function CustomGrainForm(props: Props) { } },[grainSettings]) - const validate = (name: string, group: string, constA: string, constB: string, constC: string, kgPerBushel: string, bushelsPerTonne: string) => { + const validate = ( + name: string, + group: string, + constA: string, + constB: string, + constC: string, + kgPerBushel: string, + bushelsPerTonne: string, + lbPerBushel: string, + bushelsPerTon: string) => { if (name === "") return false if (group === "") return false if (isNaN(parseFloat(constA))) return false if (isNaN(parseFloat(constB))) return false if (isNaN(parseFloat(constC))) return false if (isNaN(parseFloat(kgPerBushel))) return false + if (isNaN(parseFloat(lbPerBushel))) return false if (isNaN(parseFloat(bushelsPerTonne))) return false + if (isNaN(parseFloat(bushelsPerTon))) return false return true } @@ -64,7 +77,7 @@ export default function CustomGrainForm(props: Props) { setName(name) let settings = cloneDeep(newGrainSettings) settings.name = name - valid.current = validate(name, group, constantA, constantB, constantC, kgPerBushel, bushelsPerTonne) + valid.current = validate(name, group, constantA, constantB, constantC, kgPerBushel, bushelsPerTonne, lbPerBushel, bushelsPerTon) settingsChanged(settings) }}/> @@ -121,7 +134,7 @@ export default function CustomGrainForm(props: Props) { onChange={(e) => { let val = e.target.value setConstantA(val) - valid.current = validate(name, group, val, constantB, constantC, kgPerBushel, bushelsPerTonne) + valid.current = validate(name, group, val, constantB, constantC, kgPerBushel, bushelsPerTonne, lbPerBushel, bushelsPerTon) let settings = cloneDeep(newGrainSettings) if(!isNaN(parseFloat(val))){ settings.a = parseFloat(val) @@ -139,7 +152,7 @@ export default function CustomGrainForm(props: Props) { onChange={(e) => { let val = e.target.value setConstantB(val) - valid.current = validate(name, group, constantA, val, constantC, kgPerBushel, bushelsPerTonne) + valid.current = validate(name, group, constantA, val, constantC, kgPerBushel, bushelsPerTonne, lbPerBushel, bushelsPerTon) let settings = cloneDeep(newGrainSettings) if(!isNaN(parseFloat(val))){ settings.b = parseFloat(val) @@ -157,7 +170,7 @@ export default function CustomGrainForm(props: Props) { onChange={(e) => { let val = e.target.value setConstantC(val) - valid.current = validate(name, group, constantA, constantB, val, kgPerBushel, bushelsPerTonne) + valid.current = validate(name, group, constantA, constantB, val, kgPerBushel, bushelsPerTonne, lbPerBushel, bushelsPerTon) let settings = cloneDeep(newGrainSettings) if(!isNaN(parseFloat(val))){ settings.c = parseFloat(val) @@ -175,14 +188,40 @@ export default function CustomGrainForm(props: Props) { onChange={(e) => { let val = e.target.value setKgPerBushel(val) - valid.current = validate(name, group, constantA, constantB, constantC, val, bushelsPerTonne) + valid.current = validate(name, group, constantA, constantB, constantC, val, bushelsPerTonne, lbPerBushel, bushelsPerTon) let settings = cloneDeep(newGrainSettings) if(!isNaN(parseFloat(val))){ settings.kgPerBushel = parseFloat(val) + //then calculate the kilograms to pounds and update it as well + let newLb = Math.round((parseFloat(val)*2.205)*100)/100 + settings.poundsPerBushel = newLb + setLbPerBushel(newLb.toString()) } settingsChanged(settings) }} label="kg per Bushel"/> + { + let val = e.target.value + setLbPerBushel(val) + valid.current = validate(name, group, constantA, constantB, constantC, kgPerBushel, bushelsPerTonne, val, bushelsPerTon) + let settings = cloneDeep(newGrainSettings) + if(!isNaN(parseFloat(val))){ + settings.poundsPerBushel = parseFloat(val) + //then calculate the pounds to kilograms and update it as well + let newKg = Math.round((parseFloat(val)/2.205)*100)/100 + settings.kgPerBushel = newKg + setKgPerBushel(newKg.toString()) + } + settingsChanged(settings) + }} + label="lb per Bushel"/> { let val = e.target.value setBushelsPerTonne(val) - valid.current = validate(name, group, constantA, constantB, constantC, kgPerBushel, val) + valid.current = validate(name, group, constantA, constantB, constantC, kgPerBushel, val, lbPerBushel, bushelsPerTon) let settings = cloneDeep(newGrainSettings) if(!isNaN(parseFloat(val))){ settings.bushelsPerTonne = parseFloat(val) + let newTon = Math.round((parseFloat(val)*1.102)*100)/100 + settings.bushelsPerTon = newTon + setBushelsPerTon(newTon.toString()) } settingsChanged(settings) }} label="Bushels per Tonne"/> + { + let val = e.target.value + setBushelsPerTon(val) + valid.current = validate(name, group, constantA, constantB, constantC, kgPerBushel, bushelsPerTonne, lbPerBushel, val) + let settings = cloneDeep(newGrainSettings) + if(!isNaN(parseFloat(val))){ + settings.bushelsPerTon = parseFloat(val) + let newTonne = Math.round((parseFloat(val)/1.102)*100)/100 + settings.bushelsPerTonne = newTonne + setBushelsPerTonne(newTonne.toString()) + } + settingsChanged(settings) + }} + label="Bushels per Ton"/> ) } diff --git a/src/services/whiteLabel.ts b/src/services/whiteLabel.ts index c9346d4..29c4427 100644 --- a/src/services/whiteLabel.ts +++ b/src/services/whiteLabel.ts @@ -337,7 +337,7 @@ export function getWhitelabel(): WhiteLabel { return BXT_WHITE_LABEL; } if (window.location.origin.includes("localhost")) { - return STAGING_WHITELABEL; + return STREAMLINE_WHITE_LABEL; } if (window.location.origin.includes("staging") || import.meta.env.VITE_LOCAL_STAGING=='true') { return STAGING_WHITELABEL;