{"version":3,"file":"static/js/921.c92760a9.chunk.js","mappings":"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","sources":["generate/Permalink.jsx","../node_modules/lodash/_baseKeysIn.js","../node_modules/lodash/_nativeKeysIn.js","../node_modules/lodash/defaults.js","../node_modules/lodash/keysIn.js"],"sourcesContent":["import React, { useState, useEffect, useContext } from 'react';\nimport { useParams } from 'react-router-dom';\nimport { Container, Row, Col, Card, CardHeader, CardBody } from 'reactstrap';\n\nimport MessageCard from '../ui/MessageCard';\n\nimport Patch from '../patch';\nimport Spoiler from '../spoiler';\n\nimport { GameTraitsCtx } from '../game/traits';\nimport { adjustHostname } from '../site/domain';\n\nimport { decode } from 'slugid';\n\nimport { tryParseJson } from '../util';\nimport defaults from 'lodash/defaults';\nimport attempt from 'lodash/attempt';\n\nimport styled from 'styled-components';\n\nconst SpoilerWarning = styled.p`\n    font-size: 1.2em;\n    color: red;\n    font-weight: bold;\n`;\n\nexport default function Permalink() {\n    const { seedSlug } = useParams();\n    const seedGuid = decode(seedSlug).replace(/-/g, '');\n\n    const [seed, setSeed] = useState(null);\n    const [errorMessage, setErrorMessage] = useState(null);\n\n    const game = useContext(GameTraitsCtx);\n\n    useEffect(() => {\n        attempt(async () => {\n            try {\n                var response = await fetch(`/api/seed/${seedGuid}`);\n                if (response && response.ok) {\n                    var result = await response.json();\n                    setSeed(result);\n                } else {\n                    setErrorMessage('Cannot load metadata for the specified seed.');\n                }\n            } catch (error) {\n                setErrorMessage(`${error}`);\n            }\n        });\n    }, []); /* eslint-disable-line react-hooks/exhaustive-deps */\n\n    const gameMismatch = seed && seed.gameId !== game.id;\n    const world = seed && seed.worlds[0];\n    const settings = world && tryParseJson(world.settings);\n    if (settings) {\n        defaults(settings, {\n            opentower: 'sevencrystals',\n            ganonvulnerable: 'sevencrystals',\n            opentourian: 'fourbosses',\n        });\n    }\n\n    const content = seed && !gameMismatch ? (\n        <>\n            <Card className=\"mb-3\">\n                <CardHeader className=\"bg-primary text-white\">\n                    {seed.gameName}\n                </CardHeader>\n                <CardBody>\n                    {settings && settings.spoilerKey && settings.spoilerKey === \"true\" && (\n                        <Row>\n                            <Col md=\"12\"><SpoilerWarning>Warning: The creator of this seed is able to access the spoiler log.</SpoilerWarning></Col>\n                        </Row>\n                    )}\n                    <Row>\n                        <Col md=\"3\">Seed:</Col><Col> {seedSlug}</Col>\n                    </Row>\n                    {seed.seedNumber && (\n                        <Row>\n                            <Col md=\"3\">Seed number:</Col><Col> {seed.seedNumber}</Col>\n                        </Row>\n                    )}\n                    {settings && game.id === 'smz3' && (<>\n                        <Row>\n                            <Col md=\"3\">Super Metroid Logic:</Col><Col> {{\n                                normal: 'Normal',\n                                hard: 'Hard'\n                            }[settings.smlogic]\n                            }</Col>\n                        </Row>\n                        <Row>\n                            <Col md=\"3\">Goal:</Col><Col> {{\n                                defeatboth: 'Defeat Ganon and Mother Brain',\n                                fastganondefeatmotherbrain: 'Fast Ganon and Defeat Mother Brain',\n                                alldungeonsdefeatmotherbrain: 'All dungeons and Defeat Mother Brain'\n                            }[settings.goal]\n                            }</Col>\n                        </Row>\n                        <Row>\n                            <Col md=\"3\">Open Ganon's Tower:</Col><Col> {{\n                                random: 'Randomized',\n                                nocrystals: 'No Crystals',\n                                onecrystal: 'One Crystal',\n                                twocrystals: 'Two Crystals',\n                                threecrystals: 'Three Crystals',\n                                fourcrystals: 'Four Crystals',\n                                fivecrystals: 'Five Crystals',\n                                sixcrystals: 'Six Crystals',\n                                sevencrystals: 'Seven Crystals',\n                            }[settings.opentower]\n                            }</Col>\n                        </Row>\n                        <Row>\n                            <Col md=\"3\">Ganon Vulnerable:</Col><Col> {{\n                                random: 'Randomized',\n                                nocrystals: 'No Crystals',\n                                onecrystal: 'One Crystal',\n                                twocrystals: 'Two Crystals',\n                                threecrystals: 'Three Crystals',\n                                fourcrystals: 'Four Crystals',\n                                fivecrystals: 'Five Crystals',\n                                sixcrystals: 'Six Crystals',\n                                sevencrystals: 'Seven Crystals',\n                            }[settings.ganonvulnerable]\n                            }</Col>\n                        </Row>\n                        <Row>\n                            <Col md=\"3\">Open Tourian:</Col><Col> {{\n                                random: 'Randomized',\n                                nobosses: 'No Bosses',\n                                oneboss: 'One Boss',\n                                twobosses: 'Two Bosses',\n                                threebosses: 'Three Bosses',\n                                fourbosses: 'Four Bosses',\n                            }[settings.opentourian]\n                            }</Col>\n                        </Row>\n                        <Row>\n                            <Col md=\"3\">First Sword:</Col><Col> {{\n                                randomized: 'Randomized',\n                                early: 'Early',\n                                uncle: 'Uncle assured'\n                            }[settings.swordlocation]\n                            }</Col>\n                        </Row>\n                        <Row>\n                            <Col md=\"3\">Morph Ball:</Col><Col> {{\n                                randomized: 'Randomized',\n                                early: 'Early',\n                                original: 'Original location'\n                            }[settings.morphlocation]\n                            }</Col>\n                        </Row>\n                        <Row>\n                            <Col md=\"3\">Key Shuffle:</Col><Col> {{\n                                none: 'None',\n                                keysanity: 'Keysanity',\n                            }[settings.keyshuffle]\n                            }</Col>\n                        </Row>\n                    </>)}\n                    {settings && game.id === 'sm' && (<>\n                        <Row>\n                            <Col md=\"3\">Logic:</Col><Col> {{\n                                casual: 'Casual',\n                                tournament: 'Tournament'\n                            }[settings.logic]\n                            }</Col>\n                        </Row>\n                        <Row>\n                            <Col md=\"3\">Item Placement:</Col><Col> {{\n                                full: 'Full randomization',\n                                split: 'Major/Minor split'\n                            }[settings.placement]\n                            }</Col>\n                        </Row>\n                    </>)}\n                    {settings && settings.race === 'true' && (\n                        <Row>\n                            <Col>Race Rom (no spoilers)</Col>\n                        </Row>\n                    )}\n                    {settings && settings.initialitems && (\n                        <Row>\n                            <Col md=\"3\">Starting items:</Col>\n                            <Col>{settings.initialitems}</Col>\n                        </Row>\n                    )}\n\n                    <Row className=\"mt-3\">\n                        <Col>\n                            <Patch seed={seed} world={world} />\n                        </Col>\n                    </Row>\n                </CardBody>\n            </Card>\n            {settings && settings.race === 'false' && (\n                <Spoiler seedGuid={seed.guid} />\n            )}\n        </>) :\n        errorMessage ? <MessageCard error={true} title=\"Something went wrong :(\" msg={errorMessage} /> :\n        gameMismatch ? (\n            <MessageCard error={true} title=\"This is not quite right :O\"\n                msg={<a href={adjustHostname(document.location.href, seed.gameId)}>Go to the correct domain here</a>}\n            />\n        ) :\n        <MessageCard title=\"Game information\" msg=\"Please wait, loading...\" />;\n\n    return (\n        <Container>\n            <Row className=\"justify-content-md-center\">\n                <Col md=\"10\">\n                    {content}\n                </Col>\n            </Row>\n        </Container>\n    );\n}\n","var isObject = require('./isObject'),\n    isPrototype = require('./_isPrototype'),\n    nativeKeysIn = require('./_nativeKeysIn');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n  if (!isObject(object)) {\n    return nativeKeysIn(object);\n  }\n  var isProto = isPrototype(object),\n      result = [];\n\n  for (var key in object) {\n    if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n      result.push(key);\n    }\n  }\n  return result;\n}\n\nmodule.exports = baseKeysIn;\n","/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n  var result = [];\n  if (object != null) {\n    for (var key in Object(object)) {\n      result.push(key);\n    }\n  }\n  return result;\n}\n\nmodule.exports = nativeKeysIn;\n","var baseRest = require('./_baseRest'),\n    eq = require('./eq'),\n    isIterateeCall = require('./_isIterateeCall'),\n    keysIn = require('./keysIn');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns own and inherited enumerable string keyed properties of source\n * objects to the destination object for all destination properties that\n * resolve to `undefined`. Source objects are applied from left to right.\n * Once a property is set, additional values of the same property are ignored.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.defaultsDeep\n * @example\n *\n * _.defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\n * // => { 'a': 1, 'b': 2 }\n */\nvar defaults = baseRest(function(object, sources) {\n  object = Object(object);\n\n  var index = -1;\n  var length = sources.length;\n  var guard = length > 2 ? sources[2] : undefined;\n\n  if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n    length = 1;\n  }\n\n  while (++index < length) {\n    var source = sources[index];\n    var props = keysIn(source);\n    var propsIndex = -1;\n    var propsLength = props.length;\n\n    while (++propsIndex < propsLength) {\n      var key = props[propsIndex];\n      var value = object[key];\n\n      if (value === undefined ||\n          (eq(value, objectProto[key]) && !hasOwnProperty.call(object, key))) {\n        object[key] = source[key];\n      }\n    }\n  }\n\n  return object;\n});\n\nmodule.exports = defaults;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n    baseKeysIn = require('./_baseKeysIn'),\n    isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n *   this.a = 1;\n *   this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n  return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nmodule.exports = keysIn;\n"],"names":["SpoilerWarning","styled","p","_templateObject","_taggedTemplateLiteral","Permalink","seedSlug","useParams","seedGuid","decode","replace","_useState","useState","_useState2","_slicedToArray","seed","setSeed","_useState3","_useState4","errorMessage","setErrorMessage","game","useContext","GameTraitsCtx","useEffect","attempt","_asyncToGenerator","_regeneratorRuntime","mark","_callee","response","result","wrap","_context","prev","next","fetch","concat","sent","ok","json","t0","stop","gameMismatch","gameId","id","world","worlds","settings","tryParseJson","defaults","opentower","ganonvulnerable","opentourian","content","_jsxs","_Fragment","children","Card","className","_jsx","CardHeader","gameName","CardBody","spoilerKey","Row","Col","md","seedNumber","normal","hard","smlogic","defeatboth","fastganondefeatmotherbrain","alldungeonsdefeatmotherbrain","goal","random","nocrystals","onecrystal","twocrystals","threecrystals","fourcrystals","fivecrystals","sixcrystals","sevencrystals","nobosses","oneboss","twobosses","threebosses","fourbosses","randomized","early","uncle","swordlocation","original","morphlocation","none","keysanity","keyshuffle","casual","tournament","logic","full","split","placement","race","initialitems","Patch","Spoiler","guid","MessageCard","error","title","msg","href","adjustHostname","document","location","Container","isObject","require","isPrototype","nativeKeysIn","hasOwnProperty","Object","prototype","module","exports","object","isProto","key","call","push","baseRest","eq","isIterateeCall","keysIn","objectProto","sources","index","length","guard","undefined","source","props","propsIndex","propsLength","value","arrayLikeKeys","baseKeysIn","isArrayLike"],"sourceRoot":""}