@@ -20,53 +20,47 @@ const fancyCategoryNames = {
2020} ;
2121
2222function CategoryItem ( { name } ) {
23- const {
24- itemsMastered,
25- partiallyMasteredItems,
26- categoryItems,
27- hideFounders,
28- hidePrime
29- } = useStore ( state => ( {
30- itemsMastered : state . itemsMastered ,
31- partiallyMasteredItems : state . partiallyMasteredItems ,
32- categoryItems : state . items [ name ] ,
33- hideFounders : state . hideFounders ,
34- hidePrime : state . hidePrime
35- } ) ) ;
23+ const { masteredCount, masteredXP, totalCount, totalXP } = useStore (
24+ state => {
25+ const { itemsMastered, partiallyMasteredItems } = state ;
26+ const categoryItems = state . items [ name ] ;
3627
37- let masteredCount = 0 ;
38- let masteredXP = 0 ;
39- // There is an extra "Amp" item in the amp category in the
40- // in-game profile.
41- let totalCount = name === "AMP" ? 1 : 0 ;
42- let totalXP = 0 ;
43- Object . entries ( categoryItems ) . forEach ( ( [ itemName , item ] ) => {
44- if (
45- isItemFiltered ( itemName , item , {
46- itemsMastered,
47- hideMastered : false ,
48- hideFounders,
49- hidePrime
50- } )
51- )
52- return ;
28+ let masteredCount = 0 ;
29+ let masteredXP = 0 ;
30+ // There is an extra "Amp" item in the amp category in the
31+ // in-game profile.
32+ let totalCount = name === "AMP" ? 1 : 0 ;
33+ let totalXP = 0 ;
5334
54- totalCount ++ ;
55- totalXP += xpFromItem ( item , name ) ;
56- if ( itemsMastered . has ( itemName ) ) {
57- masteredCount ++ ;
58- masteredXP += xpFromItem ( item , name ) ;
59- } else if ( partiallyMasteredItems [ itemName ] ) {
60- masteredXP += xpFromItem (
61- item ,
62- name ,
63- partiallyMasteredItems [ itemName ]
64- ) ;
65- }
66- } ) ;
35+ Object . entries ( categoryItems ) . forEach ( ( [ itemName , item ] ) => {
36+ if (
37+ isItemFiltered ( itemName , item , {
38+ ...state ,
39+ hideMastered : false
40+ } )
41+ )
42+ return ;
43+
44+ totalCount ++ ;
45+ totalXP += xpFromItem ( item , name ) ;
46+ if ( itemsMastered . has ( itemName ) ) {
47+ masteredCount ++ ;
48+ masteredXP += xpFromItem ( item , name ) ;
49+ } else if ( partiallyMasteredItems [ itemName ] ) {
50+ masteredXP += xpFromItem (
51+ item ,
52+ name ,
53+ partiallyMasteredItems [ itemName ]
54+ ) ;
55+ }
56+ } ) ;
57+
58+ // Assume the ghost "Amp" item is mastered if there are any mastered amps.
59+ if ( name === "AMP" && masteredCount > 0 ) masteredCount ++ ;
6760
68- // Assume the ghost "Amp" item is mastered if there are any mastered amps.
69- if ( name === "AMP" && masteredCount > 0 ) masteredCount ++ ;
61+ return { masteredCount, masteredXP, totalCount, totalXP } ;
62+ }
63+ ) ;
7064
7165 return (
7266 < BaseCategoryInfo
0 commit comments