]> git.localhorst.tv Git - alttp.git/blobdiff - resources/js/components/aos/Seed.js
add AoS settings descriptions
[alttp.git] / resources / js / components / aos / Seed.js
index efc113015eb2990217126043d395191305162e82..3e6ac4af4e11bce9575ac8221fa0610016beb9af 100644 (file)
@@ -22,6 +22,49 @@ const applyPatch = (rom, patch, filename) => {
        }
 };
 
+const isDefaultSetting = (name, value) => {
+       switch (name) {
+               case 'area':
+                       return value === 'Vanilla';
+               case 'boss':
+                       return value === 'Vanilla';
+               case 'doublechaos':
+                       return value === 'false';
+               case 'enemy':
+                       return value === 'Vanilla';
+               case 'grahm':
+                       return value === 'BookSouls';
+               case 'itempool':
+                       return value === 'Standard';
+               case 'kicker':
+                       return value === 'false';
+               case 'levelexp':
+                       return value === 'Vanilla';
+               case 'logic':
+                       return value === 'AreaTechTiers';
+               case 'mapassist':
+                       return value === 'false';
+               case 'nodupes':
+                       return value === 'false';
+               case 'palette':
+                       return value === 'Vanilla';
+               case 'panther':
+                       return value === 'Rand70Dup';
+               case 'shopprice':
+                       return value === 'Vanilla';
+               case 'shopSouls':
+                       return value === 'Vanilla';
+               case 'startshop':
+                       return value === 'Vanilla';
+               case 'telestart':
+                       return value === 'false';
+               case 'weight':
+                       return value === '2.5';
+               default:
+                       return false;
+       }
+};
+
 const Seed = ({ patch, seed }) => {
        const { rom } = useAosBaseRom();
 
@@ -86,6 +129,24 @@ const Seed = ({ patch, seed }) => {
                </Row>
                <h2 className="mt-5">{i18n.t('aosSeeds.generator')}</h2>
                <p>{i18n.t(`aosSeeds.generators.${seed.generator}`)}</p>
+               {seed.settings ? <>
+                       <h2 className="mt-5">{i18n.t('aosSeeds.settings')}</h2>
+                       <Row>
+                               {Object.entries(seed.settings).map(([key, value]) =>
+                                       <Col key={key} sm={4} md={3} lg={2} className="mb-2">
+                                               <small className="text-muted">
+                                                       {i18n.t(`aosSeeds.settingName.${key}`)}
+                                               </small>
+                                               <br />
+                                               {isDefaultSetting(key, value) ?
+                                                       i18n.t(`aosSeeds.settingValue.${key}.${value}`)
+                                               :
+                                                       <strong>{i18n.t(`aosSeeds.settingValue.${key}.${value}`)}</strong>
+                                               }
+                                       </Col>
+                               )}
+                       </Row>
+               </> : null}
        </Container>;
 };
 
@@ -98,6 +159,8 @@ Seed.propTypes = {
                preset: PropTypes.string,
                race: PropTypes.bool,
                seed: PropTypes.string,
+               settings: PropTypes.shape({
+               }),
                status: PropTypes.string,
                updated_at: PropTypes.string,
        }),