1- import React , { useState } from 'react' ;
2- import {
3- temperatureData , luminosityData , labels , wellActivity
4- } from '../components/ExperimentData.jsx' ;
1+ import React , { useState , useEffect } from 'react' ;
2+ import { useQuery } from '@tanstack/react-query' ;
3+ import { fetchExperiment } from '../api/experiment.js' ;
54import Box from '@mui/material/Box' ;
65import FormControlLabel from '@mui/material/FormControlLabel' ;
76import Switch from '@mui/material/Switch' ;
87import TimeseriesChart from '../components/TimeseriesChart.jsx' ;
98import { useTimeContext } from "../components/TimeRangeContext.jsx" ;
9+ import { testTemperatureData , testLuminosityData , testWellActivity } from '../api/testData.js' ;
1010
1111const CHART_WIDTH = 800 ;
1212
@@ -15,14 +15,37 @@ const chartSize = {
1515 height : 400
1616}
1717
18+ const chartLabels = Array . from ( { length : 16 } , ( _ , i ) => `Well ${ i + 1 } ` )
19+
1820export default function ExperimentTab ( ) {
1921 const { timeRange } = useTimeContext ( ) ;
2022
23+ const [ temperatureData , setTemperatureData ] = useState ( [ ] ) ;
24+ const [ luminosityData , setLuminosityData ] = useState ( [ ] ) ;
25+
2126 const [ showInactiveWells , setShowInactiveWells ] = useState ( true ) ;
2227
28+ const { data, isError, error } = useQuery ( {
29+ queryKey : [ 'experiment' , timeRange . start , timeRange . end ] ,
30+ queryFn : ( ) => fetchExperiment ( timeRange . start , timeRange . end )
31+ } ) ;
32+
33+ if ( isError ) console . log ( error . message ) ;
34+
35+ useEffect ( ( ) => {
36+ if ( data ) {
37+ if ( data . temperature ) {
38+ setTemperatureData ( data . temperature ) ;
39+ }
40+ if ( data . luminosity ) {
41+ setLuminosityData ( data . luminosity ) ;
42+ }
43+ }
44+ } , [ data ] ) ;
45+
2346 const chartProps = {
24- labels : labels ,
25- seriesActivity : ! showInactiveWells ? wellActivity : undefined ,
47+ labels : chartLabels ,
48+ seriesActivity : ! showInactiveWells ? testWellActivity : undefined ,
2649 xmin : timeRange . start ,
2750 xmax : timeRange . end ,
2851 style : { ...chartSize }
@@ -39,7 +62,7 @@ export default function ExperimentTab() {
3962 < TimeseriesChart
4063 title = "Luminosity (lm)"
4164 dataset = { luminosityData }
42- ymin = { 550 } ymax = { 850 }
65+ ymin = { 100 } ymax = { 900 }
4366 { ...chartProps }
4467 />
4568 < FormControlLabel
0 commit comments