@@ -9,9 +9,10 @@ import { getAllTeamCode } from '../../../actions/allTeamsAction';
99
1010function ReviewsInsight ( ) {
1111 const [ duration , setDuration ] = useState ( 'Last Week' ) ;
12- const [ selectedTeams , setSelectedTeams ] = useState ( [ ] ) ;
12+ const [ selectedTeams , setSelectedTeams ] = useState ( [ { value : 'All' , label : 'All Teams' } ] ) ;
1313 const [ teamData , setTeamData ] = useState ( { } ) ;
1414 const [ qualityData , setQualityData ] = useState ( { } ) ;
15+ const [ dataViewActive , setDataViewActive ] = useState ( false ) ;
1516 const dispatch = useDispatch ( ) ;
1617
1718 const { loading, data, error } = useSelector ( state => state . reviewsInsights ) ;
@@ -95,23 +96,42 @@ function ReviewsInsight() {
9596
9697 return (
9798 < div
98- className = { `${ styles [ 'reviews-insight-container' ] } ${ darkMode ? styles [ 'dark-mode' ] : '' } ` }
99+ className = { `${ styles . reviewsInsightContainer } ${ darkMode ? styles . darkModeForeground : '' } ${
100+ darkMode ? styles . darkModeBackground : ''
101+ } `}
99102 >
100- < h1 > PR Reviews Insights</ h1 >
103+ < h1 className = { darkMode ? styles . darkModeForeground : styles . heading } > PR Reviews Insights</ h1 >
101104
102- < div className = { styles [ 'ri-filters' ] } >
103- < div className = { styles [ 'ri-filter-item' ] } >
104- < label htmlFor = "ri-duration-filter" > Duration:</ label >
105- < select id = "ri-duration-filter" value = { duration } onChange = { handleDurationChange } >
105+ < div className = { `${ styles . riFilters } ${ darkMode ? styles . darkModeForeground : '' } ` } >
106+ < div className = { `${ styles . riFilterItem } ${ darkMode ? styles . darkModeForeground : '' } ` } >
107+ < label
108+ htmlFor = "ri-duration-filter"
109+ className = { `${ styles . riFilterItemLabel } ${ darkMode ? styles . darkModeForeground : '' } ` }
110+ >
111+ Duration:
112+ </ label >
113+ < select
114+ id = "ri-duration-filter"
115+ value = { duration }
116+ onChange = { handleDurationChange }
117+ className = { `${ styles . riDurationFilter } ${
118+ darkMode ? styles . riDurationFilterDarkMode : ''
119+ } `}
120+ >
106121 < option value = "Last Week" > Last Week</ option >
107122 < option value = "Last 2 weeks" > Last 2 weeks</ option >
108123 < option value = "Last Month" > Last Month</ option >
109124 < option value = "All Time" > All Time</ option >
110125 </ select >
111126 </ div >
112127
113- < div className = { styles [ 'ri-filter-item' ] } >
114- < label htmlFor = "team-filter" > Team Code:</ label >
128+ < div className = { `${ styles . riFilterItem } ${ darkMode ? styles . darkModeForeground : '' } ` } >
129+ < label
130+ htmlFor = "team-filter"
131+ className = { `${ styles . riFilterItemLabel } ${ darkMode ? styles . darkModeForeground : '' } ` }
132+ >
133+ Team Code:
134+ </ label >
115135 < Select
116136 id = "team-filter"
117137 isMulti
@@ -176,24 +196,58 @@ function ReviewsInsight() {
176196 } }
177197 />
178198 </ div >
199+
200+ < div className = { `${ styles . riFilterItem } ${ darkMode ? styles . darkModeForeground : '' } ` } >
201+ < span className = { styles . riDataviewTitle } > Data View</ span >
202+ < div className = { styles . riToggleWrap } >
203+ < label className = { styles . riSwitch } >
204+ < input
205+ type = "checkbox"
206+ checked = { dataViewActive }
207+ onChange = { ( ) => setDataViewActive ( v => ! v ) }
208+ aria-label = "Toggle data view: Percent vs Number"
209+ className = { styles . riSwitchInput }
210+ />
211+ < span className = { `${ styles . riSlider } ${ darkMode ? styles . riSliderDarkMode : '' } ` } />
212+ </ label >
213+
214+ < span className = { `${ styles . modeLabel } ${ darkMode ? styles . darkModeForeground : '' } ` } >
215+ { dataViewActive ? 'PERCENT' : 'NUMBER' }
216+ </ span >
217+ </ div >
218+ </ div >
179219 </ div >
180220
181- < div className = { styles [ 'ri-selected-teams' ] } >
221+ < div >
182222 { selectedTeams . length === 0 ? (
183- < p > No teams selected</ p >
223+ < p className = { `${ styles . riSelectedTeams } ${ darkMode ? styles . darkModeForeground : '' } ` } >
224+ No teams selected
225+ </ p >
184226 ) : selectedTeams . some ( team => team . value === 'All' ) ? (
185- < p > Selected Teams: All Teams</ p >
227+ < p className = { `${ styles . riSelectedTeams } ${ darkMode ? styles . darkModeForeground : '' } ` } >
228+ Selected Teams: All Teams
229+ </ p >
186230 ) : (
187- < p > Selected Teams: { selectedTeams . map ( team => team . label ) . join ( ', ' ) } </ p >
231+ < p className = { `${ styles . riSelectedTeams } ${ darkMode ? styles . darkModeForeground : '' } ` } >
232+ Selected Teams: { selectedTeams . map ( team => team . label ) . join ( ', ' ) }
233+ </ p >
188234 ) }
189235 </ div >
190236
191- { loading && < div className = { styles [ 'ri-loading' ] } > Loading...</ div > }
192- { error && < div className = { styles [ 'ri-error' ] } > { error } </ div > }
237+ { loading && (
238+ < div className = { `${ styles . riLoading } ${ darkMode ? styles . darkModeForeground : '' } ` } >
239+ Loading...
240+ </ div >
241+ ) }
242+ { error && < div className = { `${ styles . riError } ` } > { error } </ div > }
193243 { ! loading && ! error && (
194- < div className = { styles [ 'ri-graphs' ] } >
244+ < div className = { ` ${ styles . riGraphs } ${ darkMode ? styles . darkModeForeground : '' } ` } >
195245 < ActionDoneGraph selectedTeams = { selectedTeams } teamData = { teamData } />
196- < PRQualityGraph selectedTeams = { selectedTeams } qualityData = { qualityData } />
246+ < PRQualityGraph
247+ selectedTeams = { selectedTeams }
248+ qualityData = { qualityData }
249+ isDataViewActive = { dataViewActive }
250+ />
197251 </ div >
198252 ) }
199253 </ div >
0 commit comments