@@ -100,7 +100,7 @@ export function Help({show, setShow, style}) {
100100
101101const availableStyles = [ 'UserVisible' , 'InMemory' , 'Let' ] ;
102102
103- export function MainNavBar ( { compare, setCompare, style, setStyleName, styleMap} ) {
103+ export function MainNavBar ( { compare, setCompare, style, setStyleName, styleMap, swapRulesets } ) {
104104 const navigate = useNavigate ( )
105105 const [ searchParams , setSearchParams ] = useSearchParams ( ) ;
106106 function resetSearchParams ( ) {
@@ -164,6 +164,12 @@ export function MainNavBar({compare, setCompare, style, setStyleName, styleMap})
164164 onClick = { ( ) => setCompare ( ! compare ) }
165165 > Compare</ Button >
166166 </ 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+ }
167173 < ButtonGroup vertical = { mainNavShow } > { styles } </ ButtonGroup >
168174 </ Stack >
169175 </ Nav >
@@ -428,10 +434,15 @@ export default function Solver() {
428434 } , [ compare , optionsLeft , optionsRight ] ) ;
429435 const style = styleMap [ styleName ] ;
430436
437+ const swapRulesets = ( ) => {
438+ setOptionsLeft ( optionsRight ) ;
439+ setOptionsRight ( optionsLeft ) ;
440+ } ;
441+
431442 return (
432443 < >
433444 < div className = "sticky-top" >
434- < MainNavBar { ...{ compare, setCompare, style, setStyleName, styleMap} } />
445+ < MainNavBar { ...{ compare, setCompare, style, setStyleName, styleMap, swapRulesets } } />
435446 < SolverOptions options = { optionsLeft } setOptions = { setOptionsLeft } title = { compare ? < > Left </ > : null } />
436447 { compare ? < SolverOptions options = { optionsRight } setOptions = { setOptionsRight } title = "Right" /> : null }
437448 </ div >
0 commit comments