]> git.localhorst.tv Git - alttp.git/blobdiff - resources/js/components/tracker/ConfigDialog.js
tentative inverted logic
[alttp.git] / resources / js / components / tracker / ConfigDialog.js
index 88c6d73e90a3992669d837fd2c70555be9a2aa7a..ca95ba0d2bfe86a1d1ef05e6bab555a969c58963 100644 (file)
@@ -4,6 +4,7 @@ import { Col, Form, Modal, Row } from 'react-bootstrap';
 import { useTranslation } from 'react-i18next';
 
 import LargeCheck from '../common/LargeCheck';
+import { getConfigValue } from '../../helpers/tracker';
 import { useTracker } from '../../hooks/tracker';
 
 const ConfigDialog = ({
@@ -25,6 +26,116 @@ 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="world-state"
+                                                       onChange={handleChange}
+                                                       value={getConfigValue(config, 'world-state', '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