import { useTranslation } from 'react-i18next';
import LargeCheck from '../common/LargeCheck';
+import { getConfigValue } from '../../helpers/tracker';
import { useTracker } from '../../hooks/tracker';
const ConfigDialog = ({
</Modal.Header>
<Modal.Body>
<Row>
+ <Col sm={6}>
+ <h3>{t('tracker.config.logic')}</h3>
+ <Form.Group
+ className="d-flex justify-content-between my-2"
+ controlId="tracker.worldState"
+ >
+ <Form.Label>{t('tracker.config.worldState')}</Form.Label>
+ <Form.Select
+ className="w-auto"
+ name="worldState"
+ onChange={handleChange}
+ value={getConfigValue(config, 'worldState', 'open')}
+ >
+ {['open', 'inverted'].map(n =>
+ <option key={n} value={n}>
+ {t(`tracker.config.worldStates.${n}`)}
+ </option>
+ )}
+ </Form.Select>
+ </Form.Group>
+ <Form.Group
+ className="d-flex justify-content-between my-2"
+ controlId="tracker.glitches"
+ >
+ <Form.Label>{t('tracker.config.glitches')}</Form.Label>
+ <Form.Select
+ className="w-auto"
+ name="glitches"
+ onChange={handleChange}
+ value={getConfigValue(config, 'glitches', 'none')}
+ >
+ {['none', 'owg', 'hmg', 'mg', 'nl'].map(n =>
+ <option key={n} value={n}>
+ {t(`tracker.config.glitchRules.${n}`)}
+ </option>
+ )}
+ </Form.Select>
+ </Form.Group>
+ <Form.Group
+ className="d-flex justify-content-between my-2"
+ controlId="tracker.bossShuffle"
+ >
+ <Form.Label>{t('tracker.config.bossShuffle')}</Form.Label>
+ <Form.Control
+ as={LargeCheck}
+ name="bossShuffle"
+ onChange={handleChange}
+ value={!!config.bossShuffle}
+ />
+ </Form.Group>
+ </Col>
+ <Col sm={6}>
+ <h3>{t('tracker.config.goal')}</h3>
+ <Form.Group
+ className="d-flex justify-content-between my-2"
+ controlId="tracker.gtCrystals"
+ >
+ <Form.Label>{t('tracker.config.gtCrystals')}</Form.Label>
+ <Form.Select
+ className="w-auto"
+ name="gt-crystals"
+ onChange={handleChange}
+ value={getConfigValue(config, 'gt-crystals', 7)}
+ >
+ {['?', 0, 1, 2, 3, 4, 5, 6, 7].map(n =>
+ <option key={n} value={n}>
+ {n}
+ </option>
+ )}
+ </Form.Select>
+ </Form.Group>
+ <Form.Group
+ className="d-flex justify-content-between my-2"
+ controlId="tracker.ganonCrystals"
+ >
+ <Form.Label>{t('tracker.config.ganonCrystals')}</Form.Label>
+ <Form.Select
+ className="w-auto"
+ name="ganon-crystals"
+ onChange={handleChange}
+ value={getConfigValue(config, 'ganon-crystals', 7)}
+ >
+ {['?', 0, 1, 2, 3, 4, 5, 6, 7].map(n =>
+ <option key={n} value={n}>
+ {n}
+ </option>
+ )}
+ </Form.Select>
+ </Form.Group>
+ <Form.Group
+ className="d-flex justify-content-between my-2"
+ controlId="tracker.goal"
+ >
+ <Form.Label>{t('tracker.config.goal')}</Form.Label>
+ <Form.Select
+ className="w-auto"
+ name="goal"
+ onChange={handleChange}
+ value={getConfigValue(config, 'goal', 'ganon')}
+ >
+ {['ganon', 'fast', 'ad', 'ped', 'trinity', 'thunt', 'ghunt'].map(n =>
+ <option key={n} value={n}>
+ {t(`tracker.config.goals.${n}`)}
+ </option>
+ )}
+ </Form.Select>
+ </Form.Group>
+ </Col>
+ </Row>
+ <Row className="mt-3">
<Col sm={6}>
<h3>{t('tracker.config.wildItems')}</h3>
<Form.Group
</Form.Group>
</Col>
</Row>
+ <Row>
+ <Col sm={6}>
+ <h3>{t('tracker.config.layout')}</h3>
+ <Form.Group
+ className="d-flex justify-content-between my-2"
+ controlId="tracker.mapLayout"
+ >
+ <Form.Label>{t('tracker.config.mapLayout')}</Form.Label>
+ <Form.Select
+ className="w-auto"
+ name="mapLayout"
+ onChange={handleChange}
+ value={getConfigValue(config, 'mapLayout', 'horizontal')}
+ >
+ {['horizontal', 'vertical'].map(n =>
+ <option key={n} value={n}>
+ {t(`tracker.config.mapLayouts.${n}`)}
+ </option>
+ )}
+ </Form.Select>
+ </Form.Group>
+ <Form.Group
+ className="d-flex justify-content-between my-2"
+ controlId="tracker.compactKeysanity"
+ >
+ <Form.Label>{t('tracker.config.compactKeysanity')}</Form.Label>
+ <Form.Control
+ as={LargeCheck}
+ name="compactKeysanity"
+ onChange={handleChange}
+ value={!!config.compactKeysanity}
+ />
+ </Form.Group>
+ </Col>
+ <Col sm={6}>
+ <h3>{t('tracker.config.calculation')}</h3>
+ <Form.Group
+ className="d-flex justify-content-between my-2"
+ controlId="tracker.checkCalculation"
+ >
+ <Form.Label>{t('tracker.config.checkCalculation')}</Form.Label>
+ <Form.Select
+ className="w-auto"
+ name="checkCalculation"
+ onChange={handleChange}
+ value={getConfigValue(config, 'checkCalculation', 'room-data')}
+ >
+ {['inventory', 'room-data'].map(n =>
+ <option key={n} value={n}>
+ {t(`tracker.config.checkCalculations.${n}`)}
+ </option>
+ )}
+ </Form.Select>
+ </Form.Group>
+ </Col>
+ </Row>
</Modal.Body>
</Modal>;
};