11import styles from "./MotorInfo.module.scss" ;
22import {
33 LineDescription ,
4+ Measurement ,
5+ MeasurementId ,
46 NumericMeasurement ,
57 isNumericMeasurement ,
8+ useMeasurementsStore ,
69} from "common" ;
710import { ColorfulChart } from "common" ;
8- import { store } from "store" ;
911
1012type Props = {
1113 title : string ;
@@ -20,34 +22,36 @@ export const MotorInfo = ({
2022 motorCurrentV,
2123 motorCurrentW,
2224} : Props ) => {
25+ const getMeasurement = useMeasurementsStore ( ( state ) => state . getMeasurement ) ;
26+
2327 return (
2428 < div className = { styles . motorInfoWrapper } >
2529 < ColorfulChart
2630 className = { styles . chart }
2731 title = { title }
2832 length = { 100 }
2933 items = { [
30- getItemFromMeasurement ( motorCurrentU ) ,
31- getItemFromMeasurement ( motorCurrentV ) ,
32- getItemFromMeasurement ( motorCurrentW ) ,
34+ getItemFromMeasurement ( motorCurrentU , getMeasurement ) ,
35+ getItemFromMeasurement ( motorCurrentV , getMeasurement ) ,
36+ getItemFromMeasurement ( motorCurrentW , getMeasurement ) ,
3337 ] }
3438 />
3539 </ div >
3640 ) ;
3741} ;
3842
39- function getItemFromMeasurement ( meas : NumericMeasurement ) : LineDescription {
43+ function getItemFromMeasurement ( meas : NumericMeasurement , getMeasurement : ( id : MeasurementId ) => Measurement ) : LineDescription {
4044 return {
4145 id : meas . id ,
4246 name : meas . name ,
4347 color : "red" ,
44- getUpdate : ( ) => getMeasurementValue ( meas . id ) ,
48+ getUpdate : ( ) => getMeasurementValue ( meas . id , getMeasurement ) ,
4549 range : meas . safeRange ,
4650 } ;
4751}
4852
49- function getMeasurementValue ( id : string ) : number {
50- const measurement = store . getState ( ) . measurements . measurements [ id ] ;
53+ function getMeasurementValue ( id : string , getMeasurement : ( id : MeasurementId ) => Measurement ) : number {
54+ const measurement = getMeasurement ( id )
5155
5256 if ( ! measurement ) {
5357 return 0 ;
0 commit comments