Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 2bda56c

Browse filesBrowse files
author
Sean Prashad
authored
Show total number of questions completed by difficulty (seanprashad#66)
Fixes seanprashad#39
1 parent b1df791 commit 2bda56c
Copy full SHA for 2bda56c

File tree

Expand file treeCollapse file tree

1 file changed

+37
-14
lines changed
Filter options
Expand file treeCollapse file tree

1 file changed

+37
-14
lines changed

‎src/components/Table/index.js

Copy file name to clipboardExpand all lines: src/components/Table/index.js
+37-14Lines changed: 37 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.