@@ -100,7 +100,7 @@ export function Help({show, setShow, style}) {
100
100
101
101
const availableStyles = [ 'UserVisible' , 'InMemory' , 'Let' ] ;
102
102
103
- export function MainNavBar ( { compare, setCompare, style, setStyleName, styleMap} ) {
103
+ export function MainNavBar ( { compare, setCompare, style, setStyleName, styleMap, swapRulesets } ) {
104
104
const navigate = useNavigate ( )
105
105
const [ searchParams , setSearchParams ] = useSearchParams ( ) ;
106
106
function resetSearchParams ( ) {
@@ -164,6 +164,12 @@ export function MainNavBar({compare, setCompare, style, setStyleName, styleMap})
164
164
onClick = { ( ) => setCompare ( ! compare ) }
165
165
> Compare</ Button >
166
166
</ OverlayTrigger >
167
+ { compare ?
168
+ < OverlayTrigger placement = "bottom" overlay = { < Tooltip > Swap the two rulesets</ Tooltip > } >
169
+ < Button onClick = { ( ) => swapRulesets ( ) } > Swap</ Button >
170
+ </ OverlayTrigger >
171
+ : null
172
+ }
167
173
< ButtonGroup vertical = { mainNavShow } > { styles } </ ButtonGroup >
168
174
</ Stack >
169
175
</ Nav >
@@ -428,10 +434,15 @@ export default function Solver() {
428
434
} , [ compare , optionsLeft , optionsRight ] ) ;
429
435
const style = styleMap [ styleName ] ;
430
436
437
+ const swapRulesets = ( ) => {
438
+ setOptionsLeft ( optionsRight ) ;
439
+ setOptionsRight ( optionsLeft ) ;
440
+ } ;
441
+
431
442
return (
432
443
< >
433
444
< div className = "sticky-top" >
434
- < MainNavBar { ...{ compare, setCompare, style, setStyleName, styleMap} } />
445
+ < MainNavBar { ...{ compare, setCompare, style, setStyleName, styleMap, swapRulesets } } />
435
446
< SolverOptions options = { optionsLeft } setOptions = { setOptionsLeft } title = { compare ? < > Left </ > : null } />
436
447
{ compare ? < SolverOptions options = { optionsRight } setOptions = { setOptionsRight } title = "Right" /> : null }
437
448
</ div >
0 commit comments