@@ -145,7 +145,7 @@ const PulseReportPage = () => {
145145 // This creates data in the format that recharts needs from pulse data.
146146 useEffect ( ( ) => {
147147 const averageData = { } ; // key is member id
148- const lineChartData = [ ] ;
148+ const lineChartDataPoints = [ ] ;
149149 const frequencies = [ ] ;
150150 for ( let i = 1 ; i <= 5 ; i ++ ) {
151151 frequencies . push ( { score : i , internal : 0 , external : 0 } ) ;
@@ -162,11 +162,16 @@ const PulseReportPage = () => {
162162 const [ year , month , day ] = submissionDate ;
163163 const monthPadded = month . toString ( ) . padStart ( 2 , '0' ) ;
164164 const dayPadded = day . toString ( ) . padStart ( 2 , '0' ) ;
165- lineChartData . push ( {
166- date : `${ year } -${ monthPadded } -${ dayPadded } ` ,
167- internal : internalScore ,
168- external : externalScore
169- } ) ;
165+ const date = `${ year } -${ monthPadded } -${ dayPadded } ` ;
166+ const found = lineChartDataPoints . find ( points => points . date === date )
167+ if ( found ) {
168+ found ?. datapoints ?. push ( pulse ) ;
169+ } else {
170+ lineChartDataPoints . push ( {
171+ date,
172+ datapoints : [ pulse ]
173+ } ) ;
174+ }
170175
171176 frequencies [ internalScore - 1 ] . internal ++ ;
172177 frequencies [ externalScore - 1 ] . external ++ ;
@@ -200,7 +205,13 @@ const PulseReportPage = () => {
200205 }
201206 }
202207
203- setLineChartData ( lineChartData ) ;
208+ setLineChartData ( lineChartDataPoints . map ( day => (
209+ {
210+ date : day . date ,
211+ internal : day . datapoints . reduce ( ( acc , current ) => acc + current . internalScore , 0 ) / day . datapoints . length ,
212+ external : day . datapoints . reduce ( ( acc , current ) => acc + current . externalScore , 0 ) / day . datapoints . length
213+ }
214+ ) ) ) ;
204215 setBarChartData ( frequencies ) ;
205216
206217 for ( const memberId of Object . keys ( averageData ) ) {
0 commit comments