]> git.localhorst.tv Git - alttp.git/blobdiff - resources/js/components/common/ZeldaIcon.js
display seed code
[alttp.git] / resources / js / components / common / ZeldaIcon.js
diff --git a/resources/js/components/common/ZeldaIcon.js b/resources/js/components/common/ZeldaIcon.js
new file mode 100644 (file)
index 0000000..84f2220
--- /dev/null
@@ -0,0 +1,80 @@
+import PropTypes from 'prop-types';
+import React from 'react';
+import { withTranslation } from 'react-i18next';
+
+import i18n from '../../i18n';
+
+const getIconURL = name => {
+       switch (name) {
+               case 'big-key':
+               case 'blue-boomerang':
+               case 'blue-mail':
+               case 'blue-pendant':
+               case 'blue-potion':
+               case 'bombos':
+               case 'bomb':
+               case 'book':
+               case 'boots':
+               case 'bottle-bee':
+               case 'bottle':
+               case 'bow':
+               case 'bugnet':
+               case 'byrna':
+               case 'cape':
+               case 'compass':
+               case 'crystal':
+               case 'duck':
+               case 'ether':
+               case 'fairy':
+               case 'fighter-shield':
+               case 'fire-rod':
+               case 'fire-shield':
+               case 'flippers':
+               case 'flute':
+               case 'glove':
+               case 'green-mail':
+               case 'green-pendant':
+               case 'green-potion':
+               case 'hammer':
+               case 'heart-container':
+               case 'heart-piece':
+               case 'hookshot':
+               case 'ice-rod':
+               case 'lamp':
+               case 'map':
+               case 'mirror':
+               case 'mirror-shield':
+               case 'mitts':
+               case 'moonpearl':
+               case 'mushroom':
+               case 'powder':
+               case 'quake':
+               case 'red-bomb':
+               case 'red-boomerang':
+               case 'red-mail':
+               case 'red-pendant':
+               case 'red-potion':
+               case 'shovel':
+               case 'silvers':
+               case 'small-key':
+               case 'somaria':
+                       return `/item/${name}.png`;
+               default:
+                       return '';
+       }
+};
+
+const ZeldaIcon = ({ name }) =>
+<span className="zelda-icon">
+       <img
+               alt={i18n.t(`icon.zelda.${name}`)}
+               src={getIconURL(name)}
+               title={i18n.t(`icon.zelda.${name}`)}
+       />
+</span>;
+
+ZeldaIcon.propTypes = {
+       name: PropTypes.string,
+};
+
+export default withTranslation()(ZeldaIcon);