@@ -20,15 +20,17 @@ const store = createStore(expensifyReducer);
2020
2121console . log ( store . getState ( ) ) ;
2222
23- const getExpensesForDisplay = ( expenses , { filterText = "" , sortBy = "date" , startDate, endDate} = { } ) => {
23+ const getExpensesForDisplay = ( expenses , { filterText = "" , sortBy = "date" , startDate = undefined , endDate = undefined } = { } ) => {
2424 console . log ( sortBy ) ;
25- const newExpenses = filterText ?expenses . filter ( ( expense ) => expense . description . includes ( filterText ) ) :[ ...expenses ] ;
25+ let newExpenses = filterText ?expenses . filter ( ( expense ) => expense . description . toLowerCase ( ) . includes ( filterText . toLowerCase ( ) ) ) :[ ...expenses ] ;
26+
27+ newExpenses = newExpenses . filter ( ( expense ) => ( typeof startDate === "number" ?expense . createdAt >= startDate :true ) && ( typeof endDate === "number" ? expense . createdAt <= endDate :true ) ) ;
2628
2729 switch ( sortBy )
2830 {
2931 case "amt" : return newExpenses . sort ( ( a , b ) => a . amt - b . amt ) ;
3032 case "desc" : return newExpenses . sort ( ( a , b ) => ( a . description . toLowerCase ( ) < b . description . toLowerCase ( ) ) ?- 1 :1 ) ;
31- case "date" : return newExpenses ;
33+ case "date" : return newExpenses . sort ( ( a , b ) => a . createdAt - b . createdAt ) ;
3234 default : return newExpenses ;
3335 }
3436} ;
@@ -37,14 +39,18 @@ const unsubscribe = store.subscribe((state = store.getState())=>{
3739 console . log ( getExpensesForDisplay ( state . expenses , state . filters ) ) ;
3840} ) ;
3941
40- const actionForExpense1 = store . dispatch ( addExpense ( ) ) ;
41- const actionForExpense2 = store . dispatch ( addExpense ( ) ) ;
42- //store.dispatch(removeExpense(actionForExpense1.payload));
43- store . dispatch ( editExpense ( actionForExpense2 . payload . id , "CatelynMoney" , 15 ) ) ;
44- // store.dispatch(setTextFilter("Reno"));
45- store . dispatch ( setStartDate ( 1 ) ) ;
46- store . dispatch ( setEndDate ( 12 ) ) ;
42+ const actionForExpense1 = store . dispatch ( addExpense ( 'Expense 1' , 200 , 120 ) ) ;
43+ const actionForExpense2 = store . dispatch ( addExpense ( 'Expense 2' , 300 , 120 ) ) ;
44+ store . dispatch ( removeExpense ( actionForExpense1 . payload ) ) ;
45+ store . dispatch ( editExpense ( actionForExpense2 . payload . id , "CatelynExpenses" , 300 , 120 ) ) ;
46+ store . dispatch ( addExpense ( 'OtherExpense' , 300 , 200 ) ) ;
47+ store . dispatch ( addExpense ( 'Expense 3' , 350 , 150 ) ) ;
48+ store . dispatch ( addExpense ( "EveExpenses" , 500 , 175 ) ) ;
49+ store . dispatch ( setTextFilter ( "expense" ) ) ;
4750store . dispatch ( sortByDesc ( ) ) ;
51+ store . dispatch ( setStartDate ( 150 ) ) ;
52+ store . dispatch ( setEndDate ( 200 ) ) ;
53+ store . dispatch ( sortByDate ( ) ) ;
4854
4955export default
5056< div >
0 commit comments