@@ -49,8 +49,10 @@ const Table = () => {
4949 }
5050
5151 const difficultyMap = { Easy : 0 , Medium : 0 , Hard : 0 } ;
52+ const totalDifficultyCount = { Easy : 0 , Medium : 0 , Hard : 0 } ;
5253 for ( let i = 0 ; i < data . length ; i += 1 ) {
5354 difficultyMap [ data [ i ] . difficulty ] += checkedList [ data [ i ] . id ] ;
55+ totalDifficultyCount [ data [ i ] . difficulty ] += 1 ;
5456 }
5557
5658 const [ difficultyCount , setDifficultyCount ] = useState ( difficultyMap ) ;
@@ -67,9 +69,6 @@ const Table = () => {
6769 window . localStorage . setItem ( 'showPatterns' , JSON . stringify ( showPatterns ) ) ;
6870 } , [ showPatterns ] ) ;
6971
70- /* To view the number of question solved by difficulty */
71- console . log ( difficultyCount ) ;
72-
7372 const defaultColumn = React . useMemo (
7473 ( ) => ( {
7574 Filter : DefaultColumnFilter ,
@@ -85,6 +84,33 @@ const Table = () => {
8584 Header : 'Leetcode Patterns' ,
8685 columns : [
8786 {
87+ Header : ( ) => {
88+ return (
89+ < span >
90+ < Badge className = "easy" pill >
91+ < span
92+ data-tip = { `You've completed ${ difficultyCount . Easy } /${ totalDifficultyCount . Easy } easy questions` }
93+ >
94+ { difficultyCount . Easy } /{ totalDifficultyCount . Easy }
95+ </ span >
96+ </ Badge >
97+ < Badge className = "medium" pill >
98+ < span
99+ data-tip = { `You've completed ${ difficultyCount . Medium } /${ totalDifficultyCount . Medium } medium questions` }
100+ >
101+ { difficultyCount . Medium } /{ totalDifficultyCount . Medium }
102+ </ span >
103+ </ Badge >
104+ < Badge className = "hard" pill >
105+ < span
106+ data-tip = { `You've completed ${ difficultyCount . Hard } /${ totalDifficultyCount . Hard } hard questions` }
107+ >
108+ { difficultyCount . Hard } /{ totalDifficultyCount . Hard }
109+ </ span >
110+ </ Badge >
111+ </ span >
112+ ) ;
113+ } ,
88114 id : 'Checkbox' ,
89115 Cell : cellInfo => {
90116 return (
@@ -97,38 +123,35 @@ const Table = () => {
97123 ] ;
98124
99125 const additive = checked [ cellInfo . row . original . id ] ? 1 : - 1 ;
100- setDifficultyCount ( prevState => ( {
101- ...prevState ,
102- [ cellInfo . row . original . difficulty ] :
103- prevState [ cellInfo . row . original . difficulty ] + additive ,
104- } ) ) ;
126+ difficultyCount [
127+ cellInfo . row . original . difficulty
128+ ] += additive ;
105129
130+ setDifficultyCount ( difficultyCount ) ;
106131 setChecked ( [ ...checked ] ) ;
107132 } }
108133 />
109134 ) ;
110135 } ,
111136 } ,
112137 {
113- id : 'Premium' ,
138+ Header : 'Name' ,
139+ accessor : 'name' ,
114140 Cell : cellInfo => {
115141 return (
116142 < span >
117143 { cellInfo . row . original . premium ? (
118144 < span data-tip = "Requires leetcode premium to view" >
119- < FaLock />
145+ < FaLock /> { ' ' }
120146 </ span >
121147 ) : (
122148 ''
123149 ) }
150+ { cellInfo . row . original . name }
124151 </ span >
125152 ) ;
126153 } ,
127154 } ,
128- {
129- Header : 'Name' ,
130- accessor : 'name' ,
131- } ,
132155 {
133156 Header : 'URL' ,
134157 accessor : 'url' ,
0 commit comments