@@ -5,9 +5,7 @@ import { nativeAPI } from './native-api-wrapper'
55import { Select } from '../../forms'
66import { InputDialog } from '../../input-dialog'
77import Tooltip from '../../tooltip'
8- import { SectionHeader } from '../../section-header'
98import { FixedSizeList , ListOnScrollProps } from 'react-window'
10- import { OpenExternal } from '../../../icons/open-external'
119import { BasicDialog } from '../../basic-dialog'
1210import { RingBuffer } from '../../../util/ring-buffer'
1311import { ProfilerDialog } from './profiler'
@@ -141,11 +139,11 @@ export const RunnerPage: React.FC<RunnerPageProps> = ({ open, scaffold }) => {
141139 < MapSelector
142140 maps = { maps }
143141 availableMaps = { availableMaps }
144- onSelect = { ( m ) => setMaps ( new Set ( [ ...maps , m ] ) ) }
145- onDeselect = { ( m ) => setMaps ( new Set ( [ ...maps ] . filter ( ( x ) => x !== m ) ) ) }
142+ onSelect = { ( m ) => setMaps ( new Set ( [ ...maps , ... m ] ) ) }
143+ onDeselect = { ( m ) => setMaps ( new Set ( [ ...maps ] . filter ( ( x ) => ! m . includes ( x ) ) ) ) }
146144 />
147145 < SmallButton
148- className = "mt-2 "
146+ className = "mt-3 "
149147 onClick = { ( ) => {
150148 resetSettings ( )
151149 reloadData ( )
@@ -330,8 +328,8 @@ const TeamSelector: React.FC<TeamSelectorProps> = ({ teamA, teamB, options, onCh
330328interface MapSelectorProps {
331329 maps : Set < string >
332330 availableMaps : Set < string >
333- onSelect : ( map : string ) => void
334- onDeselect : ( map : string ) => void
331+ onSelect : ( map : string [ ] ) => void
332+ onDeselect : ( map : string [ ] ) => void
335333}
336334
337335const MapSelector : React . FC < MapSelectorProps > = ( { maps, availableMaps, onSelect, onDeselect } ) => {
@@ -354,7 +352,7 @@ const MapSelector: React.FC<MapSelectorProps> = ({ maps, availableMaps, onSelect
354352 < div
355353 key = { m }
356354 className = { 'cursor-pointer hover:bg-lightHighlight flex items-center justify-between' }
357- onClick = { ( ) => ( maps . has ( m ) ? onDeselect ( m ) : onSelect ( m ) ) }
355+ onClick = { ( ) => ( maps . has ( m ) ? onDeselect ( [ m ] ) : onSelect ( [ m ] ) ) }
358356 >
359357 { m }
360358 < input
@@ -368,6 +366,14 @@ const MapSelector: React.FC<MapSelectorProps> = ({ maps, availableMaps, onSelect
368366 } ) }
369367 </ div >
370368 </ Resizable >
369+ < div className = "flex gap-2 items-center mt-1 justify-center" >
370+ < SmallButton style = { { margin : 0 } } onClick = { ( ) => onSelect ( [ ...availableMaps ] ) } >
371+ Select All
372+ </ SmallButton >
373+ < SmallButton style = { { margin : 0 } } onClick = { ( ) => onDeselect ( [ ...availableMaps ] ) } >
374+ Deselect All
375+ </ SmallButton >
376+ </ div >
371377 </ div >
372378 )
373379}
0 commit comments