diff --git a/MobileStoreButton.jsx b/MobileStoreButton.jsx new file mode 100755 index 0000000..43574de --- /dev/null +++ b/MobileStoreButton.jsx @@ -0,0 +1,62 @@ +import React from 'react'; +import PropTypes from 'prop-types'; + +const imageLinks = { + ios: 'https://linkmaker.itunes.apple.com/images/badges/en-us/badge_appstore-lrg.svg', + android: 'https://play.google.com/intl/en_us/badges/images/generic/en_badge_web_generic.png', +}; + +class MobileStoreButton extends React.Component { + static propTypes = { + store: PropTypes.oneOf(['ios', 'android']).isRequired, + url: PropTypes.string.isRequired, + height: PropTypes.number, + width: PropTypes.number, + linkStyles: PropTypes.object, + linkProps: PropTypes.object, + }; + static defaultProps = { + height: 75, + width: 255, + }; + + render() { + const { + store, + url, + height, + width, + linkStyles, + linkProps, + ...props + } = this.props; + + const defaultLinkStyles = { + background: `url(${imageLinks[store]}) no-repeat`, + backgroundSize: 'contain', + display: 'inline-block', + overflow: 'hidden', + textDecoration: 'none', + height: '100%', + width: '100%', + padding: '5px', + ...linkStyles, + }; + + return ( +
+ +   + +
+ ); + } +} + +export default MobileStoreButton; diff --git a/demo/src/index.js b/demo/src/index.js index a8d68a6..72896ef 100644 --- a/demo/src/index.js +++ b/demo/src/index.js @@ -1,13 +1,20 @@ import React, {Component} from 'react' import {render} from 'react-dom' -import Example from '../../src' +import ReactStoreBadges from '../../src' class Demo extends Component { render() { return
-

react-store-badges Demo

- + + +
} } diff --git a/img/playstore/af_get.svg b/img/playstore/af_get.svg new file mode 100755 index 0000000..8af18d4 --- /dev/null +++ b/img/playstore/af_get.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/playstore/am_get.svg b/img/playstore/am_get.svg new file mode 100755 index 0000000..c4d6178 --- /dev/null +++ b/img/playstore/am_get.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/playstore/ar_get.svg b/img/playstore/ar_get.svg new file mode 100755 index 0000000..e317f80 --- /dev/null +++ b/img/playstore/ar_get.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/playstore/az_get.svg b/img/playstore/az_get.svg new file mode 100755 index 0000000..84071bc --- /dev/null +++ b/img/playstore/az_get.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/playstore/be_get.svg b/img/playstore/be_get.svg new file mode 100755 index 0000000..acf99ce --- /dev/null +++ b/img/playstore/be_get.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/playstore/bg_get.svg b/img/playstore/bg_get.svg new file mode 100755 index 0000000..77347df --- /dev/null +++ b/img/playstore/bg_get.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/playstore/bn_get.svg b/img/playstore/bn_get.svg new file mode 100755 index 0000000..62a3a14 --- /dev/null +++ b/img/playstore/bn_get.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/playstore/bs_get.svg b/img/playstore/bs_get.svg new file mode 100755 index 0000000..d559689 --- /dev/null +++ b/img/playstore/bs_get.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/playstore/ca_get.svg b/img/playstore/ca_get.svg new file mode 100755 index 0000000..c564236 --- /dev/null +++ b/img/playstore/ca_get.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/playstore/cr_get.svg b/img/playstore/cr_get.svg new file mode 100755 index 0000000..4c9cdc2 --- /dev/null +++ b/img/playstore/cr_get.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/playstore/cs_get.svg b/img/playstore/cs_get.svg new file mode 100755 index 0000000..efa7308 --- /dev/null +++ b/img/playstore/cs_get.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/playstore/da_get.svg b/img/playstore/da_get.svg new file mode 100755 index 0000000..8ca64f3 --- /dev/null +++ b/img/playstore/da_get.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/playstore/de_get.svg b/img/playstore/de_get.svg new file mode 100755 index 0000000..f5dc405 --- /dev/null +++ b/img/playstore/de_get.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/playstore/el_get.svg b/img/playstore/el_get.svg new file mode 100755 index 0000000..02484fe --- /dev/null +++ b/img/playstore/el_get.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/playstore/en_get.svg b/img/playstore/en_get.svg new file mode 100755 index 0000000..f9f4dff --- /dev/null +++ b/img/playstore/en_get.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/playstore/es-419_get.svg b/img/playstore/es-419_get.svg new file mode 100755 index 0000000..ff31a31 --- /dev/null +++ b/img/playstore/es-419_get.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/playstore/es_get.svg b/img/playstore/es_get.svg new file mode 100755 index 0000000..ff31a31 --- /dev/null +++ b/img/playstore/es_get.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/playstore/et_get.svg b/img/playstore/et_get.svg new file mode 100755 index 0000000..c4356de --- /dev/null +++ b/img/playstore/et_get.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/playstore/eu_get.svg b/img/playstore/eu_get.svg new file mode 100755 index 0000000..1fe1ab4 --- /dev/null +++ b/img/playstore/eu_get.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/playstore/fa_get.svg b/img/playstore/fa_get.svg new file mode 100755 index 0000000..14b896c --- /dev/null +++ b/img/playstore/fa_get.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/playstore/fi_get.svg b/img/playstore/fi_get.svg new file mode 100755 index 0000000..f9f4dff --- /dev/null +++ b/img/playstore/fi_get.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/playstore/fil_get.svg b/img/playstore/fil_get.svg new file mode 100755 index 0000000..58fa83b --- /dev/null +++ b/img/playstore/fil_get.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/playstore/fr-ca_get.svg b/img/playstore/fr-ca_get.svg new file mode 100755 index 0000000..4d2a04b --- /dev/null +++ b/img/playstore/fr-ca_get.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/playstore/fr_get.svg b/img/playstore/fr_get.svg new file mode 100755 index 0000000..4d2a04b --- /dev/null +++ b/img/playstore/fr_get.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/playstore/gl_get.svg b/img/playstore/gl_get.svg new file mode 100755 index 0000000..0c37d3f --- /dev/null +++ b/img/playstore/gl_get.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/playstore/gu_get.svg b/img/playstore/gu_get.svg new file mode 100755 index 0000000..fac102b --- /dev/null +++ b/img/playstore/gu_get.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/playstore/hi_get.svg b/img/playstore/hi_get.svg new file mode 100755 index 0000000..2925f66 --- /dev/null +++ b/img/playstore/hi_get.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/playstore/hr_get.svg b/img/playstore/hr_get.svg new file mode 100755 index 0000000..4c9cdc2 --- /dev/null +++ b/img/playstore/hr_get.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/playstore/hu_get.svg b/img/playstore/hu_get.svg new file mode 100755 index 0000000..0e78b45 --- /dev/null +++ b/img/playstore/hu_get.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/playstore/hy_get.svg b/img/playstore/hy_get.svg new file mode 100755 index 0000000..3ad2e3d --- /dev/null +++ b/img/playstore/hy_get.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/playstore/id_get.svg b/img/playstore/id_get.svg new file mode 100755 index 0000000..0ad1861 --- /dev/null +++ b/img/playstore/id_get.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/playstore/is_get.svg b/img/playstore/is_get.svg new file mode 100755 index 0000000..ddc14ba --- /dev/null +++ b/img/playstore/is_get.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/playstore/it_get.svg b/img/playstore/it_get.svg new file mode 100755 index 0000000..be1c0c7 --- /dev/null +++ b/img/playstore/it_get.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/playstore/iw_get.svg b/img/playstore/iw_get.svg new file mode 100755 index 0000000..7f1999d --- /dev/null +++ b/img/playstore/iw_get.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/playstore/ja_get.svg b/img/playstore/ja_get.svg new file mode 100755 index 0000000..878ee84 --- /dev/null +++ b/img/playstore/ja_get.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/playstore/ka_get.svg b/img/playstore/ka_get.svg new file mode 100755 index 0000000..cfea62b --- /dev/null +++ b/img/playstore/ka_get.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/playstore/kk_get.svg b/img/playstore/kk_get.svg new file mode 100755 index 0000000..734722e --- /dev/null +++ b/img/playstore/kk_get.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/playstore/km_get.svg b/img/playstore/km_get.svg new file mode 100755 index 0000000..73f9771 --- /dev/null +++ b/img/playstore/km_get.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/playstore/kn_get.svg b/img/playstore/kn_get.svg new file mode 100755 index 0000000..da2ed12 --- /dev/null +++ b/img/playstore/kn_get.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/playstore/ko_get.svg b/img/playstore/ko_get.svg new file mode 100755 index 0000000..993d87e --- /dev/null +++ b/img/playstore/ko_get.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/playstore/ky_get.svg b/img/playstore/ky_get.svg new file mode 100755 index 0000000..6a885d7 --- /dev/null +++ b/img/playstore/ky_get.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/playstore/lo_get.svg b/img/playstore/lo_get.svg new file mode 100755 index 0000000..87e1ae6 --- /dev/null +++ b/img/playstore/lo_get.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/playstore/lt_get.svg b/img/playstore/lt_get.svg new file mode 100755 index 0000000..bd7f901 --- /dev/null +++ b/img/playstore/lt_get.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/playstore/lv_get.svg b/img/playstore/lv_get.svg new file mode 100755 index 0000000..c1b1f91 --- /dev/null +++ b/img/playstore/lv_get.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/playstore/mk_get.svg b/img/playstore/mk_get.svg new file mode 100755 index 0000000..4852382 --- /dev/null +++ b/img/playstore/mk_get.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/playstore/ml_get.svg b/img/playstore/ml_get.svg new file mode 100755 index 0000000..04784ef --- /dev/null +++ b/img/playstore/ml_get.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/playstore/mn_get.svg b/img/playstore/mn_get.svg new file mode 100755 index 0000000..7a4911b --- /dev/null +++ b/img/playstore/mn_get.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/playstore/mr_get.svg b/img/playstore/mr_get.svg new file mode 100755 index 0000000..a4da503 --- /dev/null +++ b/img/playstore/mr_get.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/playstore/ms_get.svg b/img/playstore/ms_get.svg new file mode 100755 index 0000000..c5c2d3d --- /dev/null +++ b/img/playstore/ms_get.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/playstore/my_get.svg b/img/playstore/my_get.svg new file mode 100755 index 0000000..02fc80e --- /dev/null +++ b/img/playstore/my_get.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/playstore/ne_get.svg b/img/playstore/ne_get.svg new file mode 100755 index 0000000..f581da5 --- /dev/null +++ b/img/playstore/ne_get.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/playstore/nl_get.svg b/img/playstore/nl_get.svg new file mode 100755 index 0000000..d3793fd --- /dev/null +++ b/img/playstore/nl_get.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/playstore/no_get.svg b/img/playstore/no_get.svg new file mode 100755 index 0000000..c4136ca --- /dev/null +++ b/img/playstore/no_get.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/playstore/pa_get.svg b/img/playstore/pa_get.svg new file mode 100755 index 0000000..90c80ef --- /dev/null +++ b/img/playstore/pa_get.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/playstore/pl_get.svg b/img/playstore/pl_get.svg new file mode 100755 index 0000000..6c22444 --- /dev/null +++ b/img/playstore/pl_get.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/playstore/pt-br_get.svg b/img/playstore/pt-br_get.svg new file mode 100755 index 0000000..977f3db --- /dev/null +++ b/img/playstore/pt-br_get.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/playstore/pt_get.svg b/img/playstore/pt_get.svg new file mode 100755 index 0000000..977f3db --- /dev/null +++ b/img/playstore/pt_get.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/playstore/ro_get.svg b/img/playstore/ro_get.svg new file mode 100755 index 0000000..a475127 --- /dev/null +++ b/img/playstore/ro_get.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/playstore/ru_get.svg b/img/playstore/ru_get.svg new file mode 100755 index 0000000..38c658e --- /dev/null +++ b/img/playstore/ru_get.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/playstore/si_get.svg b/img/playstore/si_get.svg new file mode 100755 index 0000000..7d93433 --- /dev/null +++ b/img/playstore/si_get.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/playstore/sk_get.svg b/img/playstore/sk_get.svg new file mode 100755 index 0000000..202d428 --- /dev/null +++ b/img/playstore/sk_get.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/playstore/sl_get.svg b/img/playstore/sl_get.svg new file mode 100755 index 0000000..db369ae --- /dev/null +++ b/img/playstore/sl_get.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/playstore/sq_get.svg b/img/playstore/sq_get.svg new file mode 100755 index 0000000..7250bf4 --- /dev/null +++ b/img/playstore/sq_get.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/playstore/sr_get.svg b/img/playstore/sr_get.svg new file mode 100755 index 0000000..22fb05b --- /dev/null +++ b/img/playstore/sr_get.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/playstore/sv_get.svg b/img/playstore/sv_get.svg new file mode 100755 index 0000000..755b77d --- /dev/null +++ b/img/playstore/sv_get.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/playstore/sw_get.svg b/img/playstore/sw_get.svg new file mode 100755 index 0000000..4fed9bc --- /dev/null +++ b/img/playstore/sw_get.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/playstore/ta_get.svg b/img/playstore/ta_get.svg new file mode 100755 index 0000000..c3f1d75 --- /dev/null +++ b/img/playstore/ta_get.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/playstore/te_get.svg b/img/playstore/te_get.svg new file mode 100755 index 0000000..e346d63 --- /dev/null +++ b/img/playstore/te_get.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/playstore/th_get.svg b/img/playstore/th_get.svg new file mode 100755 index 0000000..f80b3d9 --- /dev/null +++ b/img/playstore/th_get.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/playstore/tr_get.svg b/img/playstore/tr_get.svg new file mode 100755 index 0000000..274d75c --- /dev/null +++ b/img/playstore/tr_get.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/playstore/ua_get.svg b/img/playstore/ua_get.svg new file mode 100755 index 0000000..3afaf53 --- /dev/null +++ b/img/playstore/ua_get.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/playstore/ur_get.svg b/img/playstore/ur_get.svg new file mode 100755 index 0000000..5552bb2 --- /dev/null +++ b/img/playstore/ur_get.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/playstore/uz_get.svg b/img/playstore/uz_get.svg new file mode 100755 index 0000000..e306037 --- /dev/null +++ b/img/playstore/uz_get.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/playstore/vi_get.svg b/img/playstore/vi_get.svg new file mode 100755 index 0000000..c30961b --- /dev/null +++ b/img/playstore/vi_get.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/playstore/zh-cn_get.svg b/img/playstore/zh-cn_get.svg new file mode 100755 index 0000000..bf90a81 --- /dev/null +++ b/img/playstore/zh-cn_get.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/playstore/zh-hk_get.svg b/img/playstore/zh-hk_get.svg new file mode 100755 index 0000000..fa98e85 --- /dev/null +++ b/img/playstore/zh-hk_get.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/playstore/zh-tw_get.svg b/img/playstore/zh-tw_get.svg new file mode 100755 index 0000000..b4dbe1d --- /dev/null +++ b/img/playstore/zh-tw_get.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/playstore/zu_get.svg b/img/playstore/zu_get.svg new file mode 100755 index 0000000..a3a607a --- /dev/null +++ b/img/playstore/zu_get.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/index.js b/src/index.js index af0952d..92cdc52 100644 --- a/src/index.js +++ b/src/index.js @@ -1,22 +1,34 @@ -import React, {Component} from 'react'; +import React from 'react'; +import PropTypes from "prop-types"; -function ReactStoreBadges({ +const ReactStoreBadges = ({ + url, + platfrom, locale = (navigator.language || navigator.userLanguage || 'en-us').toLowerCase(), shortLocale = locale.split(/[_-]/)[0], - imageLink = { + image = { ios:`https://linkmaker.itunes.apple.com/images/badges/${locale}/badge_appstore-lrg.svg`, - // android: `https://play.google.com/intl/en_us/badges/static/images/badges/${shortLocale}_badge_web_generic.png`, - android: `https://rawgithub.com/steverichey/google-play-badge-svg/master/img/${shortLocale}_get.svg`, + android: `../img/playstore/${shortLocale}_get.svg`, }, -}) { + width = 135, + height = 40, +}) => { return ( -
-

{locale}

- - -
+ ); } +ReactStoreBadges.propTypes = { + platfrom:PropTypes.oneOf(['ios', 'android']).isRequired, + url: PropTypes.string.isRequired, +} export default ReactStoreBadges \ No newline at end of file diff --git a/tests/index-test.js b/tests/index-test.js index 392365d..b9221be 100644 --- a/tests/index-test.js +++ b/tests/index-test.js @@ -15,7 +15,7 @@ describe('Component', () => { unmountComponentAtNode(node) }) - it('displays a welcome message', () => { + it('renders component successfully', () => { render(, node, () => { }) })