replace svg componenents with img /w svg src

This commit is contained in:
Karol Wypchlo 2021-06-10 15:24:39 +02:00
parent 248b79f28a
commit 56d5073755
7 changed files with 104 additions and 303 deletions

View File

@ -42,7 +42,7 @@ module.exports = {
`gatsby-plugin-react-helmet`, `gatsby-plugin-react-helmet`,
`gatsby-plugin-image`, `gatsby-plugin-image`,
`gatsby-plugin-sharp`, `gatsby-plugin-sharp`,
`gatsby-plugin-react-svg`, `gatsby-plugin-svgr`,
`gatsby-plugin-robots-txt`, `gatsby-plugin-robots-txt`,
`gatsby-transformer-sharp`, `gatsby-transformer-sharp`,
`gatsby-transformer-json`, `gatsby-transformer-json`,

View File

@ -28,9 +28,9 @@
"gatsby-plugin-postcss": "^4.6.0", "gatsby-plugin-postcss": "^4.6.0",
"gatsby-plugin-purgecss": "^6.0.2", "gatsby-plugin-purgecss": "^6.0.2",
"gatsby-plugin-react-helmet": "^4.6.0", "gatsby-plugin-react-helmet": "^4.6.0",
"gatsby-plugin-react-svg": "^3.0.0",
"gatsby-plugin-robots-txt": "^1.6.2", "gatsby-plugin-robots-txt": "^1.6.2",
"gatsby-plugin-sharp": "^3.6.0", "gatsby-plugin-sharp": "^3.6.0",
"gatsby-plugin-svgr": "^3.0.0-beta.0",
"gatsby-remark-classes": "^1.0.0", "gatsby-remark-classes": "^1.0.0",
"gatsby-remark-copy-linked-files": "^4.3.0", "gatsby-remark-copy-linked-files": "^4.3.0",
"gatsby-remark-images": "^5.3.0", "gatsby-remark-images": "^5.3.0",
@ -7012,17 +7012,6 @@
"node": ">=8" "node": ">=8"
} }
}, },
"node_modules/css": {
"version": "2.2.4",
"resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz",
"integrity": "sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==",
"dependencies": {
"inherits": "^2.0.3",
"source-map": "^0.6.1",
"source-map-resolve": "^0.5.2",
"urix": "^0.1.0"
}
},
"node_modules/css-color-names": { "node_modules/css-color-names": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-1.0.1.tgz", "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-1.0.1.tgz",
@ -7293,14 +7282,6 @@
"resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz",
"integrity": "sha1-QuJ9T6BK4y+TGktNQZH6nN3ul8s=" "integrity": "sha1-QuJ9T6BK4y+TGktNQZH6nN3ul8s="
}, },
"node_modules/css/node_modules/source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/cssesc": { "node_modules/cssesc": {
"version": "3.0.0", "version": "3.0.0",
"resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
@ -11876,17 +11857,6 @@
"react-helmet": "^5.1.3 || ^6.0.0" "react-helmet": "^5.1.3 || ^6.0.0"
} }
}, },
"node_modules/gatsby-plugin-react-svg": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/gatsby-plugin-react-svg/-/gatsby-plugin-react-svg-3.0.1.tgz",
"integrity": "sha512-bjVSCAOeRWmf5a96/BL81sHITGFV/2Ql+IwP3ET5O5BZYOpt0f7QVCspkvCj0hsy4BJgCgANpzFstuaxUNsojA==",
"dependencies": {
"svg-react-loader": "^0.4.4"
},
"peerDependencies": {
"gatsby": "^3.0.0 || ^2.0.0"
}
},
"node_modules/gatsby-plugin-robots-txt": { "node_modules/gatsby-plugin-robots-txt": {
"version": "1.6.2", "version": "1.6.2",
"resolved": "https://registry.npmjs.org/gatsby-plugin-robots-txt/-/gatsby-plugin-robots-txt-1.6.2.tgz", "resolved": "https://registry.npmjs.org/gatsby-plugin-robots-txt/-/gatsby-plugin-robots-txt-1.6.2.tgz",
@ -12131,6 +12101,15 @@
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
}, },
"node_modules/gatsby-plugin-svgr": {
"version": "3.0.0-beta.0",
"resolved": "https://registry.npmjs.org/gatsby-plugin-svgr/-/gatsby-plugin-svgr-3.0.0-beta.0.tgz",
"integrity": "sha512-oALTh6VwO6l3khgC/vGr706aqt38EkXwdr6iXVei/auOKGxpCLEuDCQVal1a4SpYXdjHjRsEyab6bxaHL2lzsA==",
"peerDependencies": {
"@svgr/webpack": ">=2.0.0",
"gatsby": ">=3.0.0"
}
},
"node_modules/gatsby-plugin-typescript": { "node_modules/gatsby-plugin-typescript": {
"version": "3.6.0", "version": "3.6.0",
"resolved": "https://registry.npmjs.org/gatsby-plugin-typescript/-/gatsby-plugin-typescript-3.6.0.tgz", "resolved": "https://registry.npmjs.org/gatsby-plugin-typescript/-/gatsby-plugin-typescript-3.6.0.tgz",
@ -13992,7 +13971,7 @@
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
"integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
"engines": { "engines": {
"node": ">=4" "node": ">=8"
} }
}, },
"node_modules/has-symbol-support-x": { "node_modules/has-symbol-support-x": {
@ -23075,11 +23054,6 @@
"queue-microtask": "^1.2.2" "queue-microtask": "^1.2.2"
} }
}, },
"node_modules/rx": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/rx/-/rx-4.1.0.tgz",
"integrity": "sha1-pfE/957zt0D+MKqAP7CfmIBdR4I="
},
"node_modules/rxjs": { "node_modules/rxjs": {
"version": "6.6.7", "version": "6.6.7",
"resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz",
@ -24330,11 +24304,6 @@
"safer-buffer": "^2.0.2", "safer-buffer": "^2.0.2",
"tweetnacl": "~0.14.0" "tweetnacl": "~0.14.0"
}, },
"bin": {
"sshpk-conv": "bin/sshpk-conv",
"sshpk-sign": "bin/sshpk-sign",
"sshpk-verify": "bin/sshpk-verify"
},
"engines": { "engines": {
"node": ">=0.10.0" "node": ">=0.10.0"
} }
@ -24938,7 +24907,7 @@
"has-flag": "^3.0.0" "has-flag": "^3.0.0"
}, },
"engines": { "engines": {
"node": ">=4" "node": ">=10"
} }
}, },
"node_modules/svg-parser": { "node_modules/svg-parser": {
@ -24946,81 +24915,6 @@
"resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz",
"integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==" "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ=="
}, },
"node_modules/svg-react-loader": {
"version": "0.4.6",
"resolved": "https://registry.npmjs.org/svg-react-loader/-/svg-react-loader-0.4.6.tgz",
"integrity": "sha512-HVEypjWQsQuJdBIPzXGxpmQsQts7QwfQuYgK1rah6BVCMoLNSCh/ESKVNd7/tHq8DkWYHHTyaUMDA1FjqZYrgA==",
"dependencies": {
"css": "2.2.4",
"loader-utils": "1.1.0",
"ramda": "0.21.0",
"rx": "4.1.0",
"traverse": "0.6.6",
"xml2js": "0.4.17"
}
},
"node_modules/svg-react-loader/node_modules/big.js": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz",
"integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==",
"engines": {
"node": "*"
}
},
"node_modules/svg-react-loader/node_modules/emojis-list": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz",
"integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=",
"engines": {
"node": ">= 0.10"
}
},
"node_modules/svg-react-loader/node_modules/json5": {
"version": "0.5.1",
"resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
"integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=",
"bin": {
"json5": "lib/cli.js"
}
},
"node_modules/svg-react-loader/node_modules/loader-utils": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz",
"integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=",
"dependencies": {
"big.js": "^3.1.3",
"emojis-list": "^2.0.0",
"json5": "^0.5.0"
},
"engines": {
"node": ">=4.0.0"
}
},
"node_modules/svg-react-loader/node_modules/ramda": {
"version": "0.21.0",
"resolved": "https://registry.npmjs.org/ramda/-/ramda-0.21.0.tgz",
"integrity": "sha1-oAGr7bP/YQd9T/HVd9RN536NCjU="
},
"node_modules/svg-react-loader/node_modules/xml2js": {
"version": "0.4.17",
"resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.17.tgz",
"integrity": "sha1-F76T6q4/O3eTWceVtBlwWogX6Gg=",
"dependencies": {
"sax": ">=0.6.0",
"xmlbuilder": "^4.1.0"
}
},
"node_modules/svg-react-loader/node_modules/xmlbuilder": {
"version": "4.2.1",
"resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-4.2.1.tgz",
"integrity": "sha1-qlijBBoGb5DqoWwvU4n/GfP0YaU=",
"dependencies": {
"lodash": "^4.0.0"
},
"engines": {
"node": ">=0.8.0"
}
},
"node_modules/svgo": { "node_modules/svgo": {
"version": "1.3.2", "version": "1.3.2",
"resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz",
@ -25858,11 +25752,6 @@
"node": ">=0.8" "node": ">=0.8"
} }
}, },
"node_modules/traverse": {
"version": "0.6.6",
"resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.6.tgz",
"integrity": "sha1-y99WD9e5r2MlAv7UD5GMFX6pcTc="
},
"node_modules/trim": { "node_modules/trim": {
"version": "0.0.1", "version": "0.0.1",
"resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz", "resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz",
@ -33978,24 +33867,6 @@
"resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz",
"integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==" "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA=="
}, },
"css": {
"version": "2.2.4",
"resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz",
"integrity": "sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==",
"requires": {
"inherits": "^2.0.3",
"source-map": "^0.6.1",
"source-map-resolve": "^0.5.2",
"urix": "^0.1.0"
},
"dependencies": {
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
}
}
},
"css-color-names": { "css-color-names": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-1.0.1.tgz", "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-1.0.1.tgz",
@ -37875,14 +37746,6 @@
"@babel/runtime": "^7.12.5" "@babel/runtime": "^7.12.5"
} }
}, },
"gatsby-plugin-react-svg": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/gatsby-plugin-react-svg/-/gatsby-plugin-react-svg-3.0.1.tgz",
"integrity": "sha512-bjVSCAOeRWmf5a96/BL81sHITGFV/2Ql+IwP3ET5O5BZYOpt0f7QVCspkvCj0hsy4BJgCgANpzFstuaxUNsojA==",
"requires": {
"svg-react-loader": "^0.4.4"
}
},
"gatsby-plugin-robots-txt": { "gatsby-plugin-robots-txt": {
"version": "1.6.2", "version": "1.6.2",
"resolved": "https://registry.npmjs.org/gatsby-plugin-robots-txt/-/gatsby-plugin-robots-txt-1.6.2.tgz", "resolved": "https://registry.npmjs.org/gatsby-plugin-robots-txt/-/gatsby-plugin-robots-txt-1.6.2.tgz",
@ -38063,6 +37926,12 @@
} }
} }
}, },
"gatsby-plugin-svgr": {
"version": "3.0.0-beta.0",
"resolved": "https://registry.npmjs.org/gatsby-plugin-svgr/-/gatsby-plugin-svgr-3.0.0-beta.0.tgz",
"integrity": "sha512-oALTh6VwO6l3khgC/vGr706aqt38EkXwdr6iXVei/auOKGxpCLEuDCQVal1a4SpYXdjHjRsEyab6bxaHL2lzsA==",
"requires": {}
},
"gatsby-plugin-typescript": { "gatsby-plugin-typescript": {
"version": "3.6.0", "version": "3.6.0",
"resolved": "https://registry.npmjs.org/gatsby-plugin-typescript/-/gatsby-plugin-typescript-3.6.0.tgz", "resolved": "https://registry.npmjs.org/gatsby-plugin-typescript/-/gatsby-plugin-typescript-3.6.0.tgz",
@ -46224,11 +46093,6 @@
"queue-microtask": "^1.2.2" "queue-microtask": "^1.2.2"
} }
}, },
"rx": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/rx/-/rx-4.1.0.tgz",
"integrity": "sha1-pfE/957zt0D+MKqAP7CfmIBdR4I="
},
"rxjs": { "rxjs": {
"version": "6.6.7", "version": "6.6.7",
"resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz",
@ -47732,68 +47596,6 @@
"resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz",
"integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==" "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ=="
}, },
"svg-react-loader": {
"version": "0.4.6",
"resolved": "https://registry.npmjs.org/svg-react-loader/-/svg-react-loader-0.4.6.tgz",
"integrity": "sha512-HVEypjWQsQuJdBIPzXGxpmQsQts7QwfQuYgK1rah6BVCMoLNSCh/ESKVNd7/tHq8DkWYHHTyaUMDA1FjqZYrgA==",
"requires": {
"css": "2.2.4",
"loader-utils": "1.1.0",
"ramda": "0.21.0",
"rx": "4.1.0",
"traverse": "0.6.6",
"xml2js": "0.4.17"
},
"dependencies": {
"big.js": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz",
"integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q=="
},
"emojis-list": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz",
"integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k="
},
"json5": {
"version": "0.5.1",
"resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
"integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE="
},
"loader-utils": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz",
"integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=",
"requires": {
"big.js": "^3.1.3",
"emojis-list": "^2.0.0",
"json5": "^0.5.0"
}
},
"ramda": {
"version": "0.21.0",
"resolved": "https://registry.npmjs.org/ramda/-/ramda-0.21.0.tgz",
"integrity": "sha1-oAGr7bP/YQd9T/HVd9RN536NCjU="
},
"xml2js": {
"version": "0.4.17",
"resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.17.tgz",
"integrity": "sha1-F76T6q4/O3eTWceVtBlwWogX6Gg=",
"requires": {
"sax": ">=0.6.0",
"xmlbuilder": "^4.1.0"
}
},
"xmlbuilder": {
"version": "4.2.1",
"resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-4.2.1.tgz",
"integrity": "sha1-qlijBBoGb5DqoWwvU4n/GfP0YaU=",
"requires": {
"lodash": "^4.0.0"
}
}
}
},
"svgo": { "svgo": {
"version": "1.3.2", "version": "1.3.2",
"resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz",
@ -48455,11 +48257,6 @@
"punycode": "^2.1.1" "punycode": "^2.1.1"
} }
}, },
"traverse": {
"version": "0.6.6",
"resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.6.tgz",
"integrity": "sha1-y99WD9e5r2MlAv7UD5GMFX6pcTc="
},
"trim": { "trim": {
"version": "0.0.1", "version": "0.0.1",
"resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz", "resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz",

View File

@ -25,9 +25,9 @@
"gatsby-plugin-postcss": "^4.6.0", "gatsby-plugin-postcss": "^4.6.0",
"gatsby-plugin-purgecss": "^6.0.2", "gatsby-plugin-purgecss": "^6.0.2",
"gatsby-plugin-react-helmet": "^4.6.0", "gatsby-plugin-react-helmet": "^4.6.0",
"gatsby-plugin-react-svg": "^3.0.0",
"gatsby-plugin-robots-txt": "^1.6.2", "gatsby-plugin-robots-txt": "^1.6.2",
"gatsby-plugin-sharp": "^3.6.0", "gatsby-plugin-sharp": "^3.6.0",
"gatsby-plugin-svgr": "^3.0.0-beta.0",
"gatsby-remark-classes": "^1.0.0", "gatsby-remark-classes": "^1.0.0",
"gatsby-remark-copy-linked-files": "^4.3.0", "gatsby-remark-copy-linked-files": "^4.3.0",
"gatsby-remark-images": "^5.3.0", "gatsby-remark-images": "^5.3.0",

View File

@ -1,47 +1,47 @@
export { default as Add } from "./Add.svg"; export { ReactComponent as Add } from "./Add.svg";
export { default as ArrowRight } from "./ArrowRight.svg"; export { ReactComponent as ArrowRight } from "./ArrowRight.svg";
export { default as ArrowUpCircle } from "./ArrowUpCircle.svg"; export { ReactComponent as ArrowUpCircle } from "./ArrowUpCircle.svg";
export { default as CheckActive } from "./CheckActive.svg"; export { ReactComponent as CheckActive } from "./CheckActive.svg";
export { default as CheckCircle } from "./CheckCircle.svg"; export { ReactComponent as CheckCircle } from "./CheckCircle.svg";
export { default as Cloud } from "./Cloud.svg"; export { ReactComponent as Cloud } from "./Cloud.svg";
export { default as Cogs } from "./Cogs.svg"; export { ReactComponent as Cogs } from "./Cogs.svg";
export { default as ComputerScreen } from "./ComputerScreen.svg"; export { ReactComponent as ComputerScreen } from "./ComputerScreen.svg";
export { default as DataSwap } from "./DataSwap.svg"; export { ReactComponent as DataSwap } from "./DataSwap.svg";
export { default as DevBig } from "./DevBig.svg"; export { ReactComponent as DevBig } from "./DevBig.svg";
export { default as DiscordSmall } from "./DiscordSmall.svg"; export { ReactComponent as DiscordSmall } from "./DiscordSmall.svg";
export { default as DiscordSmallWhite } from "./DiscordSmallWhite.svg"; export { ReactComponent as DiscordSmallWhite } from "./DiscordSmallWhite.svg";
export { default as Encryption } from "./Encryption.svg"; export { ReactComponent as Encryption } from "./Encryption.svg";
export { default as Error } from "./Error.svg"; export { ReactComponent as Error } from "./Error.svg";
export { default as ExternalLink } from "./ExternalLink.svg"; export { ReactComponent as ExternalLink } from "./ExternalLink.svg";
export { default as FacebookSmall } from "./FacebookSmall.svg"; export { ReactComponent as FacebookSmall } from "./FacebookSmall.svg";
export { default as Fingerprint } from "./Fingerprint.svg"; export { ReactComponent as Fingerprint } from "./Fingerprint.svg";
export { default as GithubSmall } from "./GithubSmall.svg"; export { ReactComponent as GithubSmall } from "./GithubSmall.svg";
export { default as GitlabSmall } from "./GitlabSmall.svg"; export { ReactComponent as GitlabSmall } from "./GitlabSmall.svg";
export { default as Info } from "./Info.svg"; export { ReactComponent as Info } from "./Info.svg";
export { default as Join } from "./Join.svg"; export { ReactComponent as Join } from "./Join.svg";
export { default as Layers } from "./Layers.svg"; export { ReactComponent as Layers } from "./Layers.svg";
export { default as LinkedinSmall } from "./LinkedinSmall.svg"; export { ReactComponent as LinkedinSmall } from "./LinkedinSmall.svg";
export { default as LogoBlackText } from "./LogoBlackText.svg"; export { ReactComponent as LogoBlackText } from "./LogoBlackText.svg";
export { default as LogoWhiteText } from "./LogoWhiteText.svg"; export { ReactComponent as LogoWhiteText } from "./LogoWhiteText.svg";
export { default as MediumSmall } from "./MediumSmall.svg"; export { ReactComponent as MediumSmall } from "./MediumSmall.svg";
export { default as MenuMobile } from "./MenuMobile.svg"; export { ReactComponent as MenuMobile } from "./MenuMobile.svg";
export { default as MenuMobileClose } from "./MenuMobileClose.svg"; export { ReactComponent as MenuMobileClose } from "./MenuMobileClose.svg";
export { default as Mesh } from "./Mesh.svg"; export { ReactComponent as Mesh } from "./Mesh.svg";
export { default as ProgressRound } from "./ProgressRound.svg"; export { ReactComponent as ProgressRound } from "./ProgressRound.svg";
export { default as RedditSmall } from "./RedditSmall.svg"; export { ReactComponent as RedditSmall } from "./RedditSmall.svg";
export { default as Shield } from "./Shield.svg"; export { ReactComponent as Shield } from "./Shield.svg";
export { default as SkynetMonetizationSmall } from "./SkynetMonetizationSmall.svg"; export { ReactComponent as SkynetMonetizationSmall } from "./SkynetMonetizationSmall.svg";
export { default as SkynetPersistenceSmall } from "./SkynetPersistenceSmall.svg"; export { ReactComponent as SkynetPersistenceSmall } from "./SkynetPersistenceSmall.svg";
export { default as SkynetPowerBig } from "./SkynetPowerBig.svg"; export { ReactComponent as SkynetPowerBig } from "./SkynetPowerBig.svg";
export { default as SkynetSiaSmall } from "./SkynetSiaSmall.svg"; export { ReactComponent as SkynetSiaSmall } from "./SkynetSiaSmall.svg";
export { default as SkynetSpeedSmall } from "./SkynetSpeedSmall.svg"; export { ReactComponent as SkynetSpeedSmall } from "./SkynetSpeedSmall.svg";
export { default as SkynetToolBig } from "./SkynetToolBig.svg"; export { ReactComponent as SkynetToolBig } from "./SkynetToolBig.svg";
export { default as SkynetUsageSmall } from "./SkynetUsageSmall.svg"; export { ReactComponent as SkynetUsageSmall } from "./SkynetUsageSmall.svg";
export { default as SkynetUserBig } from "./SkynetUserBig.svg"; export { ReactComponent as SkynetUserBig } from "./SkynetUserBig.svg";
export { default as TikTokSmall } from "./TikTokSmall.svg"; export { ReactComponent as TikTokSmall } from "./TikTokSmall.svg";
export { default as Toolkit } from "./Toolkit.svg"; export { ReactComponent as Toolkit } from "./Toolkit.svg";
export { default as TwitterSmall } from "./TwitterSmall.svg"; export { ReactComponent as TwitterSmall } from "./TwitterSmall.svg";
export { default as Unlock } from "./Unlock.svg"; export { ReactComponent as Unlock } from "./Unlock.svg";
export { default as UserArrows } from "./UserArrows.svg"; export { ReactComponent as UserArrows } from "./UserArrows.svg";
export { default as UserAtom } from "./UserAtom.svg"; export { ReactComponent as UserAtom } from "./UserAtom.svg";
export { default as YoutubeSmall } from "./YoutubeSmall.svg"; export { ReactComponent as YoutubeSmall } from "./YoutubeSmall.svg";

View File

@ -93,9 +93,9 @@ export const CardCarousel = ({ CardComponent, cards, interval = null, fullWidth
); );
}; };
export const CardWithTitle = ({ Icon, title }) => ( export const CardWithTitle = ({ Icon, src, alt, title }) => (
<div className="flex flex-col items-center"> <div className="flex flex-col items-center">
<Icon height="142" /> {src ? <img src={src} alt={alt} /> : <Icon height="142" />}
<p className="text-center mt-4 font-light text-palette-600 text-lg" dangerouslySetInnerHTML={{ __html: title }} /> <p className="text-center mt-4 font-light text-palette-600 text-lg" dangerouslySetInnerHTML={{ __html: title }} />
</div> </div>
); );
@ -108,10 +108,10 @@ export const Label = ({ children }) => (
</span> </span>
); );
export const CardWithDescription = ({ Icon, label, title, text }) => ( export const CardWithDescription = ({ Icon, src, alt, label, title, text }) => (
<div className="flex flex-col"> <div className="flex flex-col">
<div className="flex items-center space-x-4"> <div className="flex items-center space-x-4">
<Icon /> {src ? <img src={src} alt={alt} /> : <Icon />}
{label && <Label>{label}</Label>} {label && <Label>{label}</Label>}
</div> </div>
<h3 className="font-light text-lg mt-6">{title}</h3> <h3 className="font-light text-lg mt-6">{title}</h3>

View File

@ -3,11 +3,7 @@ import PropTypes from "prop-types";
import Link from "../Link"; import Link from "../Link";
import classnames from "classnames"; import classnames from "classnames";
import useAuthenticatedStatus from "../../services/useAuthenticatedStatus"; import useAuthenticatedStatus from "../../services/useAuthenticatedStatus";
import LogoWhiteText from "../Icons/LogoWhiteText.svg"; import {LogoWhiteText, LogoBlackText, MenuMobile, MenuMobileClose, DiscordSmall} from "../Icons";
import LogoBlackText from "../Icons/LogoBlackText.svg";
import MenuMobile from "../Icons/MenuMobile.svg";
import MenuMobileClose from "../Icons/MenuMobileClose.svg";
import DiscordSmall from "../Icons/DiscordSmall.svg";
import { useWindowSize, useWindowScroll } from "react-use"; import { useWindowSize, useWindowScroll } from "react-use";
const routes = [ const routes = [

View File

@ -4,59 +4,65 @@ import { Carousel } from "../components/Carousel/Carousel";
import Seo from "../components/seo"; import Seo from "../components/seo";
import CommunitySection from "../components/CommunitySection"; import CommunitySection from "../components/CommunitySection";
import Uploader from "../components/Uploader"; import Uploader from "../components/Uploader";
import { import { ArrowRight } from "../components/Icons";
ArrowRight, import SkynetToolBig from "../components/Icons/SkynetToolBig.svg";
SkynetToolBig, import SkynetUserBig from "../components/Icons/SkynetUserBig.svg";
SkynetUserBig, import SkynetPowerBig from "../components/Icons/SkynetPowerBig.svg";
SkynetPowerBig, import SkynetMonetizationSmall from "../components/Icons/SkynetMonetizationSmall.svg";
SkynetMonetizationSmall, import SkynetPersistenceSmall from "../components/Icons/SkynetPersistenceSmall.svg";
SkynetPersistenceSmall, import SkynetSpeedSmall from "../components/Icons/SkynetSpeedSmall.svg";
SkynetSpeedSmall, import SkynetUsageSmall from "../components/Icons/SkynetUsageSmall.svg";
SkynetUsageSmall, import SkynetSiaSmall from "../components/Icons/SkynetSiaSmall.svg";
SkynetSiaSmall,
} from "../components/Icons";
import Link from "../components/Link"; import Link from "../components/Link";
const etosCards = [ const etosCards = [
{ {
Icon: SkynetToolBig, src: SkynetToolBig,
title: "Build a better web", title: "Build a better web",
alt: "The top of a wrench and a cube representing a new kind of Internet",
}, },
{ {
Icon: SkynetUserBig, src: SkynetUserBig,
title: "Fight corporate control<br />of user data", title: "Fight corporate control<br />of user data",
alt: "Symbol of a strong person stretching arms out of screen",
}, },
{ {
Icon: SkynetPowerBig, src: SkynetPowerBig,
title: "Empower global citizens", title: "Empower global citizens",
alt: "Symbol of a fist in the air",
}, },
]; ];
const ecosystemCards = [ const ecosystemCards = [
{ {
Icon: SkynetUsageSmall, src: SkynetUsageSmall,
title: "Easy to use", title: "Easy to use",
text: "Decentralized storage without needing to run a node or wallet. Skynet also includes SDKs for popular programming languages and APIs that integrate seamlessly with your existing apps.", text: "Decentralized storage without needing to run a node or wallet. Skynet also includes SDKs for popular programming languages and APIs that integrate seamlessly with your existing apps.",
alt: "Image of a finger pushing a button",
}, },
{ {
Icon: SkynetSpeedSmall, src: SkynetSpeedSmall,
title: "Fast", title: "Fast",
text: "Skynet's speeds rival centralized providers and surpass all decentralized offerings. A typical Skynet download starts in under 500 ms and can stream at rates as high as 1 Gbps!", text: "Skynet's speeds rival centralized providers and surpass all decentralized offerings. A typical Skynet download starts in under 500 ms and can stream at rates as high as 1 Gbps!",
alt: "Image of a speedometer",
}, },
{ {
Icon: SkynetSiaSmall, src: SkynetSiaSmall,
title: "Free to use", title: "Free to use",
text: "Focus on building, not overhead server costs. When users own their data, developers aren't asked to pay for it.", text: "Focus on building, not overhead server costs. When users own their data, developers aren't asked to pay for it.",
alt: "Image of a server database and a shield",
}, },
{ {
Icon: SkynetMonetizationSmall, src: SkynetMonetizationSmall,
title: "Monetization", title: "Monetization",
text: "Profit directly from the success of your skapp. Now you can truly prioritize your users, instead of advertisers.", text: "Profit directly from the success of your skapp. Now you can truly prioritize your users, instead of advertisers.",
alt: "Image of a coin symbol",
}, },
{ {
Icon: SkynetPersistenceSmall, src: SkynetPersistenceSmall,
title: "Persistence", title: "Persistence",
text: "Your skapp and data stay live, even if corporations pull your access to their resources. You can also use Skynet as a failover site for when centralized providers go down.", text: "Your skapp and data stay live, even if corporations pull your access to their resources. You can also use Skynet as a failover site for when centralized providers go down.",
alt: "Abstract image of a shield and a graph line",
}, },
]; ];
@ -74,11 +80,13 @@ const IndexPage = () => {
</h1> </h1>
<p className="mt-5 font-light text-lg leading-7 text-palette-300"> <p className="mt-5 font-light text-lg leading-7 text-palette-300">
<span className="hidden desktop:block">Skynet is a content and application hosting platform bringing</span> <span className="hidden desktop:block">
<span className="hidden desktop:block">decentralized storage to users, creators and app developers.</span> Skynet is a hosting platform that makes it easy to join the decentralized
</span>
<span className="hidden desktop:block">internet movement. Start your free account today.</span>
<span className="desktop:hidden text-justify text-sm"> <span className="desktop:hidden text-justify text-sm">
Skynet is a content and application hosting platform bringing decentralized storage to users, creators and Skynet is a hosting platform that makes it easy to join the decentralized internet movement. Start your
app developers. free account today.
</span> </span>
</p> </p>
</div> </div>
@ -105,7 +113,7 @@ const IndexPage = () => {
<div className="flex flex-col items-center mt-16"> <div className="flex flex-col items-center mt-16">
<p className="max-w-screen-md text-center text-base font-content text-palette-400"> <p className="max-w-screen-md text-center text-base font-content text-palette-400">
Skynet apps pave the way for a new web that prioritizes the privacy, security, and experience of users. Join Skynet apps pave the way for a new web that prioritizes the privacy, security, and experience of users. Join
our decentralized ecosystem and revolution. our decentralized internet ecosystem and revolution.
</p> </p>
<Link <Link