@@ -44,6 +44,8 @@ export class LeetCodeTreeDataProvider implements vscode.TreeDataProvider<LeetCod
44
44
Tag : Map < string , list . IProblem [ ] > ,
45
45
Company : Map < string , list . IProblem [ ] > ,
46
46
Favorite : list . IProblem [ ] ,
47
+ Accepted : list . IProblem [ ] ,
48
+ NotAccepted : list . IProblem [ ] ,
47
49
} ;
48
50
49
51
private onDidChangeTreeDataEvent : vscode . EventEmitter < any > = new vscode . EventEmitter < any > ( ) ;
@@ -109,6 +111,14 @@ export class LeetCodeTreeDataProvider implements vscode.TreeDataProvider<LeetCod
109
111
id : "Root" ,
110
112
name : "Favorite" ,
111
113
} ) , false ) ,
114
+ new LeetCodeNode ( Object . assign ( { } , list . IProblemDefault , {
115
+ id : "Root" ,
116
+ name : "Accepted" ,
117
+ } ) , false ) ,
118
+ new LeetCodeNode ( Object . assign ( { } , list . IProblemDefault , {
119
+ id : "Root" ,
120
+ name : "Not Accepted" ,
121
+ } ) , false ) ,
112
122
] ) ;
113
123
} ) ;
114
124
} else {
@@ -119,6 +129,10 @@ export class LeetCodeTreeDataProvider implements vscode.TreeDataProvider<LeetCod
119
129
return this . composeCategoryNodes ( element ) ;
120
130
case "Favorite" :
121
131
return this . treeData . Favorite . map ( ( p : list . IProblem ) => new LeetCodeNode ( p ) ) ;
132
+ case "Accepted" :
133
+ return this . treeData . Accepted . map ( ( p : list . IProblem ) => new LeetCodeNode ( p ) ) ;
134
+ case "Not Accepted" :
135
+ return this . treeData . NotAccepted . map ( ( p : list . IProblem ) => new LeetCodeNode ( p ) ) ;
122
136
default : // Second and lower levels
123
137
return element . isProblem ? [ ] : this . composeProblemNodes ( element ) ;
124
138
}
@@ -131,6 +145,8 @@ export class LeetCodeTreeDataProvider implements vscode.TreeDataProvider<LeetCod
131
145
Tag : new Map ( ) ,
132
146
Company : new Map ( ) ,
133
147
Favorite : [ ] ,
148
+ Accepted : [ ] ,
149
+ NotAccepted : [ ] ,
134
150
} ;
135
151
for ( const problem of await list . listProblems ( ) ) {
136
152
// Add problems according to category
@@ -151,10 +167,16 @@ export class LeetCodeTreeDataProvider implements vscode.TreeDataProvider<LeetCod
151
167
}
152
168
}
153
169
}
154
- // Add favorite problems
170
+ // Filter by favorite problems
155
171
if ( problem . favorite ) {
156
172
this . treeData . Favorite . push ( problem ) ;
157
173
}
174
+ // Filter by problem state
175
+ if ( problem . state === ProblemState . AC ) {
176
+ this . treeData . Accepted . push ( problem ) ;
177
+ } else if ( problem . state === ProblemState . NotAC ) {
178
+ this . treeData . NotAccepted . push ( problem ) ;
179
+ }
158
180
}
159
181
}
160
182
0 commit comments