@@ -82,7 +82,7 @@ const GenericUpgradeOptimizer = ({
8282 // const [MasterclassReductionCheckbox, masterClassReduction] = useCheckbox('Masterclass reduction');
8383 const [ masterClassReduction , setMasterClassReduction ] = useLocalStorage ( {
8484 key : `${ resourceKey } :genericUpgradeOptimizer:masterClassReduction` ,
85- defaultValue : getLegendTalentBonus ( account , 23 )
85+ defaultValue : getLegendTalentBonus ( account , 23 ) ?? 0
8686 } ) ;
8787 const [ resourcePerHour , setResourcePerHour ] = useLocalStorage ( {
8888 key : `${ resourceKey } :genericUpgradeOptimizer:resourcePerHour` ,
@@ -92,7 +92,6 @@ const GenericUpgradeOptimizer = ({
9292 return obj ;
9393 } ) ( )
9494 } ) ;
95- const remainingReductedUpgrades = Math . max ( 0 , getLegendTalentBonus ( account , 23 ) - account ?. accountOptions ?. [ 480 ] ) ;
9695 // Add a separate state for the raw input string for each resource
9796 const [ resourcePerHourInput , setResourcePerHourInput ] = useState ( ( ) => {
9897 const obj = { } ;
@@ -110,17 +109,6 @@ const GenericUpgradeOptimizer = ({
110109 } ) ;
111110 const valueCommitDebouncersRef = useRef ( { } ) ;
112111
113- useEffect ( ( ) => {
114- setResourcePerHourInput (
115- Object . fromEntries (
116- Object . entries ( resourcePerHour ) . map ( ( [ key , value ] ) => [
117- key ,
118- value !== undefined && value !== null && value !== '' ? Number ( value ) . toLocaleString ( ) : ''
119- ] )
120- )
121- ) ;
122- } , [ resourcePerHour ] ) ;
123-
124112 useEffect ( ( ) => ( ) => {
125113 Object . values ( valueCommitDebouncersRef . current ) . forEach ( fn => fn ?. cancel ?. ( ) ) ;
126114 } , [ ] ) ;
@@ -132,7 +120,6 @@ const GenericUpgradeOptimizer = ({
132120 return getOptimizedUpgradesFn ( character , account , category , maxToUse , {
133121 onlyAffordable,
134122 masterClassReduction : isNaN ( masterClassReduction ) ? 0 : masterClassReduction ,
135- forceLegendTalent : false ,
136123 resourcePerHour : optimizationMethod === 'rph' ? resourcePerHour : undefined ,
137124 getResourceType
138125 } ) ;
@@ -149,18 +136,14 @@ const GenericUpgradeOptimizer = ({
149136 // Group consecutive upgrades of the same type while preserving order
150137 const consolidatedUpgrades = [ ] ;
151138 let currentGroup = null ;
152- const currentLevels = { } ;
153139 optimizedUpgrades . forEach ( ( upgrade , index ) => {
154140 const upgradeName = upgrade . name ;
155- // Determine the start level for this group
156141 const startLevel = currentGroup && currentGroup . name === upgradeName
157142 ? currentGroup . startLevel
158- : ( currentLevels [ upgradeName ] ?? upgrade . level ) ;
143+ : upgrade . level ;
159144 if ( ! currentGroup || currentGroup . name !== upgradeName ) {
160145 if ( currentGroup ) {
161- // After finishing a group, update the current level and push
162146 currentGroup . finalLevel = currentGroup . startLevel + currentGroup . sequence . length - 1 ;
163- currentLevels [ currentGroup . name ] = currentGroup . finalLevel ;
164147 consolidatedUpgrades . push ( currentGroup ) ;
165148 }
166149 // Start new group
@@ -178,7 +161,6 @@ const GenericUpgradeOptimizer = ({
178161 // Push the last group
179162 if ( currentGroup ) {
180163 currentGroup . finalLevel = currentGroup . startLevel + currentGroup . sequence . length - 1 ;
181- currentLevels [ currentGroup . name ] = currentGroup . finalLevel ;
182164 consolidatedUpgrades . push ( currentGroup ) ;
183165 }
184166 // Calculate combined stats for each group
@@ -497,12 +479,6 @@ const GenericUpgradeOptimizer = ({
497479 < Tooltip title = { tooltipText } > < IconInfoCircleFilled size = { 16 } /> </ Tooltip >
498480 < Stack >
499481 < AffordableCheckboxEl />
500- { /*<Stack direction={'row'} alignItems={'center'}>*/ }
501- { /* /!*<MasterclassReductionCheckbox/>*!/*/ }
502- { /* <Tooltip*/ }
503- { /* title={`${remainingReductedUpgrades} reduced-cost upgrades remaining (legend talent)`}><IconInfoCircleFilled*/ }
504- { /* size={16}/></Tooltip>*/ }
505- { /*</Stack>*/ }
506482 </ Stack >
507483 < Divider sx = { { my : 1 } } flexItem orientation = { 'vertical' } />
508484 { resourceUsage . map ( ( resource ) => {
@@ -589,7 +565,7 @@ const GenericUpgradeOptimizer = ({
589565 </ Dialog >
590566 ) }
591567
592- < Typography variant = "h6" > Recommended Upgrade Sequence</ Typography >
568+ < Typography variant = "h6" data-testid = "optimizer-heading" > Recommended Upgrade Sequence</ Typography >
593569 { displayUpgrades . length > 0 ? (
594570 viewMode === 'grid' ? (
595571 < Stack direction = "row" gap = { 2 } flexWrap = "wrap" >
0 commit comments