|
@@ -12,6 +12,7 @@ export default ({ afterCreate }) => {
|
|
|
const [ rounds, setRounds ] = useState(5);
|
|
|
const [ onlyAmerica, setOnlyAmerica ] = useState(false);
|
|
|
const [ genMethod, setGenMethod ] = useState(MAP_CRUNCH);
|
|
|
+ const [ open, setOpen ] = useState(null);
|
|
|
|
|
|
if (loading) {
|
|
|
return <Loading />;
|
|
@@ -28,19 +29,34 @@ export default ({ afterCreate }) => {
|
|
|
return (
|
|
|
<div className={styles.form}>
|
|
|
<div className={styles.dropdowns}>
|
|
|
- <Dropdown selected={ms(timer * 1000)} onSelect={setTimer}>
|
|
|
+ <Dropdown
|
|
|
+ selected={ms(timer * 1000)}
|
|
|
+ onSelect={v => { setTimer(v); setOpen(null); }}
|
|
|
+ open={open === "timer"}
|
|
|
+ onClick={() => setOpen(o => o === "timer" ? null : "timer")}
|
|
|
+ >
|
|
|
<Item value={30}>30 Seconds</Item>
|
|
|
<Item value={120}>2 Minutes</Item>
|
|
|
<Item value={300}>5 Minutes</Item>
|
|
|
<Item value={3600}>1 Hour</Item>
|
|
|
</Dropdown>
|
|
|
- <Dropdown selected={rounds} onSelect={setRounds}>
|
|
|
+ <Dropdown
|
|
|
+ selected={rounds}
|
|
|
+ onSelect={v => { setRounds(v); setOpen(null); }}
|
|
|
+ open={open === "rounds"}
|
|
|
+ onClick={() => setOpen(o => o === "rounds" ? null : "rounds")}
|
|
|
+ >
|
|
|
<Item value={1}>1 Round</Item>
|
|
|
<Item value={3}>3 Rounds</Item>
|
|
|
<Item value={5}>5 Rounds</Item>
|
|
|
<Item value={10}>10 Rounds</Item>
|
|
|
</Dropdown>
|
|
|
- <Dropdown selected={onlyAmerica ? '🇺🇸' : '🌎'} onSelect={setOnlyAmerica}>
|
|
|
+ <Dropdown
|
|
|
+ selected={onlyAmerica ? '🇺🇸' : '🌎'}
|
|
|
+ onSelect={v => { setOnlyAmerica(v); setOpen(null); }}
|
|
|
+ open={open === "america"}
|
|
|
+ onClick={() => setOpen(o => o === "america" ? null : "america")}
|
|
|
+ >
|
|
|
<Item value={false}>All Countries</Item>
|
|
|
<Item value={true}>Just America</Item>
|
|
|
</Dropdown>
|
|
@@ -48,7 +64,9 @@ export default ({ afterCreate }) => {
|
|
|
selected={genMethod === MAP_CRUNCH
|
|
|
? 'MC'
|
|
|
: genMethod === RANDOM_STREET_VIEW ? 'RSV' : '🏙️'}
|
|
|
- onSelect={setGenMethod}
|
|
|
+ onSelect={v => { setGenMethod(v); setOpen(null); }}
|
|
|
+ open={open === "gen"}
|
|
|
+ onClick={() => setOpen(o => o === "gen" ? null : "gen")}
|
|
|
>
|
|
|
<Item value={MAP_CRUNCH}>Map Crunch</Item>
|
|
|
<Item value={RANDOM_STREET_VIEW}>Random Street View</Item>
|