@@ -44,6 +44,8 @@ export class LeetCodeTreeDataProvider implements vscode.TreeDataProvider<LeetCod
4444 Tag : Map < string , list . IProblem [ ] > ,
4545 Company : Map < string , list . IProblem [ ] > ,
4646 Favorite : list . IProblem [ ] ,
47+ Accepted : list . IProblem [ ] ,
48+ NotAccepted : list . IProblem [ ] ,
4749 } ;
4850
4951 private onDidChangeTreeDataEvent : vscode . EventEmitter < any > = new vscode . EventEmitter < any > ( ) ;
@@ -109,6 +111,14 @@ export class LeetCodeTreeDataProvider implements vscode.TreeDataProvider<LeetCod
109111 id : "Root" ,
110112 name : "Favorite" ,
111113 } ) , 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 ) ,
112122 ] ) ;
113123 } ) ;
114124 } else {
@@ -119,6 +129,10 @@ export class LeetCodeTreeDataProvider implements vscode.TreeDataProvider<LeetCod
119129 return this . composeCategoryNodes ( element ) ;
120130 case "Favorite" :
121131 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 ) ) ;
122136 default : // Second and lower levels
123137 return element . isProblem ? [ ] : this . composeProblemNodes ( element ) ;
124138 }
@@ -131,6 +145,8 @@ export class LeetCodeTreeDataProvider implements vscode.TreeDataProvider<LeetCod
131145 Tag : new Map ( ) ,
132146 Company : new Map ( ) ,
133147 Favorite : [ ] ,
148+ Accepted : [ ] ,
149+ NotAccepted : [ ] ,
134150 } ;
135151 for ( const problem of await list . listProblems ( ) ) {
136152 // Add problems according to category
@@ -151,10 +167,16 @@ export class LeetCodeTreeDataProvider implements vscode.TreeDataProvider<LeetCod
151167 }
152168 }
153169 }
154- // Add favorite problems
170+ // Filter by favorite problems
155171 if ( problem . favorite ) {
156172 this . treeData . Favorite . push ( problem ) ;
157173 }
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+ }
158180 }
159181 }
160182
0 commit comments