├── .prettierrc
├── .travis.yml
├── babel.config.js
├── tests
└── unit
│ ├── .eslintrc.js
│ └── Cryptoicon.spec.js
├── public
├── cryptoicons.png
└── index.html
├── src
├── scss
│ ├── main.scss
│ ├── _variables.scss
│ ├── _base.scss
│ └── _mixins.scss
├── main.js
├── images
│ ├── twitter.svg
│ ├── arrowhead-right.svg
│ ├── shuffle.svg
│ └── github.svg
├── icons
│ ├── vib.js
│ ├── elec.js
│ ├── bsd.js
│ ├── waves.js
│ ├── mod.js
│ ├── apex.js
│ ├── mtl.js
│ ├── huc.js
│ ├── r.js
│ ├── gbyte.js
│ ├── salt.js
│ ├── emc.js
│ ├── bat.js
│ ├── sand.js
│ ├── moac.js
│ ├── storm.js
│ ├── nio.js
│ ├── vtho.js
│ ├── xvc.js
│ ├── ltc.js
│ ├── ont.js
│ ├── lrc.js
│ ├── nav.js
│ ├── dgd.js
│ ├── eop.js
│ ├── neos.js
│ ├── lend.js
│ ├── sc.js
│ ├── xvg.js
│ ├── stx.js
│ ├── link.js
│ ├── hight.js
│ ├── lpt.js
│ ├── gold.js
│ ├── tnt.js
│ ├── ardr.js
│ ├── icn.js
│ ├── xrp.js
│ ├── ark.js
│ ├── rap.js
│ ├── sai.js
│ ├── gas.js
│ ├── mkr.js
│ ├── neo.js
│ ├── lkk.js
│ ├── tbx.js
│ ├── theta.js
│ ├── vtc.js
│ ├── jpy.js
│ ├── utk.js
│ ├── cred.js
│ ├── trx.js
│ ├── chain.js
│ ├── dock.js
│ ├── zel.js
│ ├── auto.js
│ ├── band.js
│ ├── xpa.js
│ ├── shift.js
│ ├── wan.js
│ ├── tnc.js
│ ├── wpr.js
│ ├── med.js
│ ├── nuls.js
│ ├── block.js
│ ├── ppc.js
│ ├── icx.js
│ ├── grt.js
│ ├── tzc.js
│ ├── act.js
│ ├── algo.js
│ ├── zil.js
│ ├── vet.js
│ ├── gbp.js
│ ├── xpm.js
│ ├── bnt.js
│ ├── drgn.js
│ ├── html.js
│ ├── pivx.js
│ ├── emb.js
│ ├── lbc.js
│ ├── neu.js
│ ├── ryo.js
│ ├── req.js
│ ├── via.js
│ ├── ong.js
│ ├── husd.js
│ ├── tkn.js
│ ├── fuel.js
│ ├── vrsc.js
│ ├── sib.js
│ ├── beam.js
│ ├── flux.js
│ ├── xzc.js
│ ├── game.js
│ ├── vrc.js
│ ├── mnx.js
│ ├── atlas.js
│ ├── ubq.js
│ ├── audr.js
│ ├── ella.js
│ ├── ht.js
│ ├── snt.js
│ ├── bela.js
│ ├── adx.js
│ ├── gup.js
│ ├── wings.js
│ ├── bos.js
│ ├── gsc.js
│ ├── music.js
│ ├── dlt.js
│ ├── cob.js
│ ├── bze.js
│ ├── blcn.js
│ ├── btcd.js
│ ├── nmc.js
│ ├── xas.js
│ ├── xdn.js
│ ├── dcn.js
│ ├── xmg.js
│ ├── cix.js
│ ├── vivo.js
│ ├── payx.js
│ ├── xmr.js
│ ├── dash.js
│ ├── bnb.js
│ ├── gbx.js
│ ├── add.js
│ ├── iost.js
│ ├── sol.js
│ ├── edo.js
│ ├── ppt.js
│ ├── stak.js
│ ├── mona.js
│ ├── xin.js
│ ├── bab.js
│ ├── eth.js
│ ├── wax.js
│ ├── sumo.js
│ ├── cmm.js
│ ├── xlm.js
│ ├── nexo.js
│ ├── cvc.js
│ ├── dai.js
│ ├── ctr.js
│ ├── dcr.js
│ ├── elix.js
│ ├── rdn.js
│ ├── zec.js
│ ├── cnd.js
│ ├── generic.js
│ ├── gvt.js
│ ├── ignis.js
│ ├── taas.js
│ ├── mft.js
│ ├── krb.js
│ ├── xmcc.js
│ ├── xmo.js
│ ├── gusd.js
│ ├── atm.js
│ ├── dta.js
│ ├── xuc.js
│ ├── poly.js
│ ├── exmo.js
│ ├── bcpt.js
│ ├── oxt.js
│ ├── pax.js
│ ├── paxg.js
│ ├── tel.js
│ ├── cny.js
│ ├── omni.js
│ ├── cdt.js
│ ├── mth.js
│ ├── maid.js
│ ├── rub.js
│ ├── knc.js
│ ├── skl.js
│ └── npxs.js
└── components
│ └── index.js
├── vue.config.js
├── .gitmodules
├── .editorconfig
├── .eslintrc.js
├── scripts
├── newIcons.js
└── updateManifest.js
├── jest.config.js
└── LICENSE
/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "semi": true,
3 | "singleQuote": true
4 | }
5 |
--------------------------------------------------------------------------------
/.travis.yml:
--------------------------------------------------------------------------------
1 | language: node_js
2 | node_js:
3 | - "8"
4 | - "10"
5 |
--------------------------------------------------------------------------------
/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | presets: ['@vue/app']
3 | };
4 |
--------------------------------------------------------------------------------
/tests/unit/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | env: {
3 | jest: true
4 | }
5 | }
--------------------------------------------------------------------------------
/public/cryptoicons.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/man15h/vue-cryptoicon/HEAD/public/cryptoicons.png
--------------------------------------------------------------------------------
/src/scss/main.scss:
--------------------------------------------------------------------------------
1 | @import './variables.scss';
2 | @import './mixins.scss';
3 | @import './base.scss';
4 |
5 |
--------------------------------------------------------------------------------
/vue.config.js:
--------------------------------------------------------------------------------
1 | const isProd = process.env.NODE_ENV === 'production';
2 |
3 | module.exports = {
4 | publicPath: '/'
5 | };
6 |
--------------------------------------------------------------------------------
/.gitmodules:
--------------------------------------------------------------------------------
1 | [submodule "src/cryptoicons"]
2 | path = src/cryptoicons
3 | url = https://github.com/atomiclabs/cryptocurrency-icons.git
4 |
--------------------------------------------------------------------------------
/.editorconfig:
--------------------------------------------------------------------------------
1 | # editorconfig.org
2 | root = true
3 |
4 | [*]
5 | indent_style = space
6 | indent_size = 2
7 | end_of_line = lf
8 | charset = utf-8
9 | trim_trailing_whitespace = true
10 | insert_final_newline = true
11 |
12 | [*.md]
13 | trim_trailing_whitespace = false
14 |
--------------------------------------------------------------------------------
/src/main.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue';
2 | import Vue2Filters from 'vue2-filters';
3 | import 'prismjs';
4 | import 'prismjs/themes/prism.css';
5 |
6 | Vue.use(Vue2Filters);
7 |
8 | import App from './App.vue';
9 | import Cryptoicon from './components';
10 | import icon from './icons';
11 | Cryptoicon.add(icon);
12 | Vue.use(Cryptoicon);
13 |
14 | Vue.config.productionTip = false;
15 | new Vue({
16 | render: h => h(App)
17 | }).$mount('#app');
18 |
--------------------------------------------------------------------------------
/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | root: true,
3 | env: {
4 | browser: true,
5 | node: true
6 | },
7 | parserOptions: {
8 | parser: 'babel-eslint'
9 | },
10 | extends: ['plugin:vue/recommended', 'plugin:prettier/recommended'],
11 | plugins: ['vue', 'prettier'],
12 | rules: {
13 | 'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off',
14 | 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off'
15 | }
16 | };
17 |
--------------------------------------------------------------------------------
/src/images/twitter.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/images/arrowhead-right.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/icons/vib.js:
--------------------------------------------------------------------------------
1 | const Vib = {
2 | symbol: 'vib',
3 | color: '#000',
4 | colorIcon() {
5 | return ``;
6 | },
7 | plainIcon: c => {
8 | return ``;
11 | }
12 | };
13 | export default Vib;
14 |
--------------------------------------------------------------------------------
/scripts/newIcons.js:
--------------------------------------------------------------------------------
1 | const path = require('path');
2 | const { fixName } = require('./helpers');
3 |
4 | const rootDir = path.join(__dirname, '..');
5 | const updatedCurrencies = require(`${rootDir}/node_modules/cryptocurrency-icons/manifest.json`);
6 | const currencies = require('./../src/icons').default;
7 | const newCurrencies = updatedCurrencies.filter(
8 | o =>
9 | !currencies.find(
10 | o2 => fixName(o.symbol.toLowerCase()) == o2.symbol.toLowerCase()
11 | )
12 | );
13 |
14 | console.log(newCurrencies);
15 |
--------------------------------------------------------------------------------
/src/scss/_variables.scss:
--------------------------------------------------------------------------------
1 | // Colors
2 | $primary: #133abd;
3 | $primaryHover: #0f309f;
4 | $secondary: #7bea9d;
5 | $secondaryHover: #71db91;
6 | $textPrimary: #111210;
7 | $textSecondary: #282a25;
8 | $textMono: #707070;
9 | $textMono2: #b9b9b9;
10 | $textMono3: #f0f0f0;
11 | $textMono4: #fafafa;
12 | $bgPrimary: #303030;
13 | $bgSecondary: #424242;
14 | // Break points
15 | $xs-break:400px;
16 | $sm-break:768px;
17 | $md-break:992px;
18 | $lg-break:1200px;
19 | $xl-break:1392px;
20 | // Others
21 | $borderColor: rgba(94, 114, 169, 0.3);
22 | $footerText: #6d6d6d !default;
--------------------------------------------------------------------------------
/jest.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | moduleFileExtensions: ['js', 'jsx', 'json', 'vue'],
3 | transform: {
4 | '^.+\\.vue$': 'vue-jest',
5 | '^.+\\.js$': '/node_modules/babel-jest'
6 | },
7 | moduleNameMapper: {
8 | '^@/(.*)$': '/src/components/$1'
9 | },
10 | snapshotSerializers: ['jest-serializer-vue'],
11 | testMatch: [
12 | '**/tests/unit/**/*.spec.(js|jsx|ts|tsx)|**/__tests__/*.(js|jsx|ts|tsx)'
13 | ],
14 | collectCoverage: true,
15 | coverageReporters: ['html', 'text-summary'],
16 | testURL: 'http://localhost/'
17 | };
18 |
--------------------------------------------------------------------------------
/src/scss/_base.scss:
--------------------------------------------------------------------------------
1 | html{
2 | font-size: 62.5%;
3 | }
4 | body {
5 | margin: 0;
6 | padding: 0;
7 | box-sizing: border-box;
8 | -webkit-font-smoothing: antialiased;
9 | text-rendering: optimizelegibility;
10 | outline: none !important;
11 | font-family: 'Montserrat', sans-serif;
12 | font-size: 1.4rem;
13 | @include desktop{
14 | font-size: 1.3rem;
15 | }
16 | @include tablet {
17 | font-size: 1.1rem;
18 | }
19 | @include mobile {
20 | font-size: 1rem;
21 | }
22 | }
23 |
24 | a {
25 | text-decoration: none;
26 | }
--------------------------------------------------------------------------------
/src/images/shuffle.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/icons/elec.js:
--------------------------------------------------------------------------------
1 | const Elec = {
2 | symbol: 'elec',
3 | color: '#000',
4 | colorIcon() {
5 | return ``;
6 | },
7 | plainIcon: c => {
8 | return ``;
11 | }
12 | };
13 | export default Elec;
14 |
--------------------------------------------------------------------------------
/src/icons/bsd.js:
--------------------------------------------------------------------------------
1 | const Bsd = {
2 | symbol: 'bsd',
3 | color: '#000',
4 | colorIcon() {
5 | return ``;
6 | },
7 | plainIcon: c => {
8 | return ``;
11 | }
12 | };
13 | export default Bsd;
14 |
--------------------------------------------------------------------------------
/src/icons/waves.js:
--------------------------------------------------------------------------------
1 | const Waves = {
2 | symbol: 'waves',
3 | color: '#000',
4 | colorIcon() {
5 | return `