diff --git a/packages/website/data/pages/index/assets/decentralized-internet-skynet.svg b/packages/website/data/pages/index/assets/decentralized-internet-skynet.svg
new file mode 100644
index 00000000..f321824b
--- /dev/null
+++ b/packages/website/data/pages/index/assets/decentralized-internet-skynet.svg
@@ -0,0 +1,31 @@
+
diff --git a/packages/website/data/pages/index/assets/decentralized-storage-benefits.svg b/packages/website/data/pages/index/assets/decentralized-storage-benefits.svg
new file mode 100644
index 00000000..38a689d6
--- /dev/null
+++ b/packages/website/data/pages/index/assets/decentralized-storage-benefits.svg
@@ -0,0 +1,26 @@
+
diff --git a/packages/website/data/pages/index/assets/decentralized-storage-without-wallet.svg b/packages/website/data/pages/index/assets/decentralized-storage-without-wallet.svg
new file mode 100644
index 00000000..495ffe01
--- /dev/null
+++ b/packages/website/data/pages/index/assets/decentralized-storage-without-wallet.svg
@@ -0,0 +1,30 @@
+
diff --git a/packages/website/data/pages/index/assets/empower-global-citizens-skynet.svg b/packages/website/data/pages/index/assets/empower-global-citizens-skynet.svg
new file mode 100644
index 00000000..a23cf13b
--- /dev/null
+++ b/packages/website/data/pages/index/assets/empower-global-citizens-skynet.svg
@@ -0,0 +1,35 @@
+
diff --git a/packages/website/data/pages/index/assets/fight-corporate-control-skynet.svg b/packages/website/data/pages/index/assets/fight-corporate-control-skynet.svg
new file mode 100644
index 00000000..64323f3f
--- /dev/null
+++ b/packages/website/data/pages/index/assets/fight-corporate-control-skynet.svg
@@ -0,0 +1,37 @@
+
diff --git a/packages/website/data/pages/index/assets/monetization-skynet.svg b/packages/website/data/pages/index/assets/monetization-skynet.svg
new file mode 100644
index 00000000..81a4cf37
--- /dev/null
+++ b/packages/website/data/pages/index/assets/monetization-skynet.svg
@@ -0,0 +1,34 @@
+
diff --git a/packages/website/data/pages/index/assets/skynet-decentralized-storage-speed.svg b/packages/website/data/pages/index/assets/skynet-decentralized-storage-speed.svg
new file mode 100644
index 00000000..74fd3cfa
--- /dev/null
+++ b/packages/website/data/pages/index/assets/skynet-decentralized-storage-speed.svg
@@ -0,0 +1,27 @@
+
diff --git a/packages/website/data/pages/index/assets/skynet-storage-free-use.svg b/packages/website/data/pages/index/assets/skynet-storage-free-use.svg
new file mode 100644
index 00000000..5b109ea8
--- /dev/null
+++ b/packages/website/data/pages/index/assets/skynet-storage-free-use.svg
@@ -0,0 +1,25 @@
+
diff --git a/packages/website/data/pages/index/pages-index.yml b/packages/website/data/pages/index/pages-index.yml
new file mode 100644
index 00000000..91bc353c
--- /dev/null
+++ b/packages/website/data/pages/index/pages-index.yml
@@ -0,0 +1,31 @@
+- etosCards:
+ - title: Build a better web
+ src: ./assets/decentralized-internet-skynet.svg
+ alt: The top of a wrench and a cube representing a new kind of Internet
+ - title: Fight corporate control
of user data
+ src: ./assets/fight-corporate-control-skynet.svg
+ alt: Symbol of a strong person stretching arms out of screen
+ - title: Empower global citizens
+ src: ./assets/empower-global-citizens-skynet.svg
+ alt: Symbol of a fist in the air
+- ecosystemCards:
+ - title: Easy to use
+ src: ./assets/decentralized-storage-without-wallet.svg
+ alt: Image of a finger pushing a button
+ 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.
+ - title: Fast
+ src: ./assets/skynet-decentralized-storage-speed.svg
+ alt: Image of a speedometer
+ 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!
+ - title: Free to use
+ src: ./assets/skynet-storage-free-use.svg
+ alt: Image of a server database and a shield
+ text: Focus on building, not overhead server costs. When users own their data, developers aren't asked to pay for it.
+ - title: Monetization
+ src: ./assets/monetization-skynet.svg
+ alt: Image of a coin symbol
+ text: Profit directly from the success of your skapp. Now you can truly prioritize your users, instead of advertisers.
+ - title: Persistence
+ src: ./assets/decentralized-storage-benefits.svg
+ alt: Abstract image of a shield and a graph line
+ 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.
diff --git a/packages/website/gatsby-config.js b/packages/website/gatsby-config.js
index b5c484a8..c375a834 100644
--- a/packages/website/gatsby-config.js
+++ b/packages/website/gatsby-config.js
@@ -42,7 +42,7 @@ module.exports = {
`gatsby-plugin-react-helmet`,
`gatsby-plugin-image`,
`gatsby-plugin-sharp`,
- `gatsby-plugin-react-svg`,
+ `gatsby-plugin-svgr`,
`gatsby-plugin-robots-txt`,
`gatsby-transformer-sharp`,
`gatsby-transformer-json`,
diff --git a/packages/website/package-lock.json b/packages/website/package-lock.json
index 95012c4e..5219dffb 100644
--- a/packages/website/package-lock.json
+++ b/packages/website/package-lock.json
@@ -28,9 +28,9 @@
"gatsby-plugin-postcss": "^4.6.0",
"gatsby-plugin-purgecss": "^6.0.2",
"gatsby-plugin-react-helmet": "^4.6.0",
- "gatsby-plugin-react-svg": "^3.0.0",
"gatsby-plugin-robots-txt": "^1.6.2",
"gatsby-plugin-sharp": "^3.6.0",
+ "gatsby-plugin-svgr": "^3.0.0-beta.0",
"gatsby-remark-classes": "^1.0.0",
"gatsby-remark-copy-linked-files": "^4.3.0",
"gatsby-remark-images": "^5.3.0",
@@ -7012,17 +7012,6 @@
"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": {
"version": "1.0.1",
"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",
"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": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
@@ -11876,17 +11857,6 @@
"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": {
"version": "1.6.2",
"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",
"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": {
"version": "3.6.0",
"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",
"integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
"engines": {
- "node": ">=4"
+ "node": ">=8"
}
},
"node_modules/has-symbol-support-x": {
@@ -23075,11 +23054,6 @@
"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": {
"version": "6.6.7",
"resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz",
@@ -24330,11 +24304,6 @@
"safer-buffer": "^2.0.2",
"tweetnacl": "~0.14.0"
},
- "bin": {
- "sshpk-conv": "bin/sshpk-conv",
- "sshpk-sign": "bin/sshpk-sign",
- "sshpk-verify": "bin/sshpk-verify"
- },
"engines": {
"node": ">=0.10.0"
}
@@ -24938,7 +24907,7 @@
"has-flag": "^3.0.0"
},
"engines": {
- "node": ">=4"
+ "node": ">=10"
}
},
"node_modules/svg-parser": {
@@ -24946,81 +24915,6 @@
"resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz",
"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": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz",
@@ -25858,11 +25752,6 @@
"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": {
"version": "0.0.1",
"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",
"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": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-1.0.1.tgz",
@@ -37875,14 +37746,6 @@
"@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": {
"version": "1.6.2",
"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": {
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/gatsby-plugin-typescript/-/gatsby-plugin-typescript-3.6.0.tgz",
@@ -46224,11 +46093,6 @@
"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": {
"version": "6.6.7",
"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",
"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": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz",
@@ -48455,11 +48257,6 @@
"punycode": "^2.1.1"
}
},
- "traverse": {
- "version": "0.6.6",
- "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.6.tgz",
- "integrity": "sha1-y99WD9e5r2MlAv7UD5GMFX6pcTc="
- },
"trim": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz",
diff --git a/packages/website/package.json b/packages/website/package.json
index 23a469e8..11424dcc 100644
--- a/packages/website/package.json
+++ b/packages/website/package.json
@@ -25,9 +25,9 @@
"gatsby-plugin-postcss": "^4.6.0",
"gatsby-plugin-purgecss": "^6.0.2",
"gatsby-plugin-react-helmet": "^4.6.0",
- "gatsby-plugin-react-svg": "^3.0.0",
"gatsby-plugin-robots-txt": "^1.6.2",
"gatsby-plugin-sharp": "^3.6.0",
+ "gatsby-plugin-svgr": "^3.0.0-beta.0",
"gatsby-remark-classes": "^1.0.0",
"gatsby-remark-copy-linked-files": "^4.3.0",
"gatsby-remark-images": "^5.3.0",
diff --git a/packages/website/src/components/Icons/index.js b/packages/website/src/components/Icons/index.js
index a168d81f..c2181d6a 100644
--- a/packages/website/src/components/Icons/index.js
+++ b/packages/website/src/components/Icons/index.js
@@ -1,47 +1,47 @@
-export { default as Add } from "./Add.svg";
-export { default as ArrowRight } from "./ArrowRight.svg";
-export { default as ArrowUpCircle } from "./ArrowUpCircle.svg";
-export { default as CheckActive } from "./CheckActive.svg";
-export { default as CheckCircle } from "./CheckCircle.svg";
-export { default as Cloud } from "./Cloud.svg";
-export { default as Cogs } from "./Cogs.svg";
-export { default as ComputerScreen } from "./ComputerScreen.svg";
-export { default as DataSwap } from "./DataSwap.svg";
-export { default as DevBig } from "./DevBig.svg";
-export { default as DiscordSmall } from "./DiscordSmall.svg";
-export { default as DiscordSmallWhite } from "./DiscordSmallWhite.svg";
-export { default as Encryption } from "./Encryption.svg";
-export { default as Error } from "./Error.svg";
-export { default as ExternalLink } from "./ExternalLink.svg";
-export { default as FacebookSmall } from "./FacebookSmall.svg";
-export { default as Fingerprint } from "./Fingerprint.svg";
-export { default as GithubSmall } from "./GithubSmall.svg";
-export { default as GitlabSmall } from "./GitlabSmall.svg";
-export { default as Info } from "./Info.svg";
-export { default as Join } from "./Join.svg";
-export { default as Layers } from "./Layers.svg";
-export { default as LinkedinSmall } from "./LinkedinSmall.svg";
-export { default as LogoBlackText } from "./LogoBlackText.svg";
-export { default as LogoWhiteText } from "./LogoWhiteText.svg";
-export { default as MediumSmall } from "./MediumSmall.svg";
-export { default as MenuMobile } from "./MenuMobile.svg";
-export { default as MenuMobileClose } from "./MenuMobileClose.svg";
-export { default as Mesh } from "./Mesh.svg";
-export { default as ProgressRound } from "./ProgressRound.svg";
-export { default as RedditSmall } from "./RedditSmall.svg";
-export { default as Shield } from "./Shield.svg";
-export { default as SkynetMonetizationSmall } from "./SkynetMonetizationSmall.svg";
-export { default as SkynetPersistenceSmall } from "./SkynetPersistenceSmall.svg";
-export { default as SkynetPowerBig } from "./SkynetPowerBig.svg";
-export { default as SkynetSiaSmall } from "./SkynetSiaSmall.svg";
-export { default as SkynetSpeedSmall } from "./SkynetSpeedSmall.svg";
-export { default as SkynetToolBig } from "./SkynetToolBig.svg";
-export { default as SkynetUsageSmall } from "./SkynetUsageSmall.svg";
-export { default as SkynetUserBig } from "./SkynetUserBig.svg";
-export { default as TikTokSmall } from "./TikTokSmall.svg";
-export { default as Toolkit } from "./Toolkit.svg";
-export { default as TwitterSmall } from "./TwitterSmall.svg";
-export { default as Unlock } from "./Unlock.svg";
-export { default as UserArrows } from "./UserArrows.svg";
-export { default as UserAtom } from "./UserAtom.svg";
-export { default as YoutubeSmall } from "./YoutubeSmall.svg";
+export { ReactComponent as Add } from "./Add.svg";
+export { ReactComponent as ArrowRight } from "./ArrowRight.svg";
+export { ReactComponent as ArrowUpCircle } from "./ArrowUpCircle.svg";
+export { ReactComponent as CheckActive } from "./CheckActive.svg";
+export { ReactComponent as CheckCircle } from "./CheckCircle.svg";
+export { ReactComponent as Cloud } from "./Cloud.svg";
+export { ReactComponent as Cogs } from "./Cogs.svg";
+export { ReactComponent as ComputerScreen } from "./ComputerScreen.svg";
+export { ReactComponent as DataSwap } from "./DataSwap.svg";
+export { ReactComponent as DevBig } from "./DevBig.svg";
+export { ReactComponent as DiscordSmall } from "./DiscordSmall.svg";
+export { ReactComponent as DiscordSmallWhite } from "./DiscordSmallWhite.svg";
+export { ReactComponent as Encryption } from "./Encryption.svg";
+export { ReactComponent as Error } from "./Error.svg";
+export { ReactComponent as ExternalLink } from "./ExternalLink.svg";
+export { ReactComponent as FacebookSmall } from "./FacebookSmall.svg";
+export { ReactComponent as Fingerprint } from "./Fingerprint.svg";
+export { ReactComponent as GithubSmall } from "./GithubSmall.svg";
+export { ReactComponent as GitlabSmall } from "./GitlabSmall.svg";
+export { ReactComponent as Info } from "./Info.svg";
+export { ReactComponent as Join } from "./Join.svg";
+export { ReactComponent as Layers } from "./Layers.svg";
+export { ReactComponent as LinkedinSmall } from "./LinkedinSmall.svg";
+export { ReactComponent as LogoBlackText } from "./LogoBlackText.svg";
+export { ReactComponent as LogoWhiteText } from "./LogoWhiteText.svg";
+export { ReactComponent as MediumSmall } from "./MediumSmall.svg";
+export { ReactComponent as MenuMobile } from "./MenuMobile.svg";
+export { ReactComponent as MenuMobileClose } from "./MenuMobileClose.svg";
+export { ReactComponent as Mesh } from "./Mesh.svg";
+export { ReactComponent as ProgressRound } from "./ProgressRound.svg";
+export { ReactComponent as RedditSmall } from "./RedditSmall.svg";
+export { ReactComponent as Shield } from "./Shield.svg";
+export { ReactComponent as SkynetMonetizationSmall } from "./SkynetMonetizationSmall.svg";
+export { ReactComponent as SkynetPersistenceSmall } from "./SkynetPersistenceSmall.svg";
+export { ReactComponent as SkynetPowerBig } from "./SkynetPowerBig.svg";
+export { ReactComponent as SkynetSiaSmall } from "./SkynetSiaSmall.svg";
+export { ReactComponent as SkynetSpeedSmall } from "./SkynetSpeedSmall.svg";
+export { ReactComponent as SkynetToolBig } from "./SkynetToolBig.svg";
+export { ReactComponent as SkynetUsageSmall } from "./SkynetUsageSmall.svg";
+export { ReactComponent as SkynetUserBig } from "./SkynetUserBig.svg";
+export { ReactComponent as TikTokSmall } from "./TikTokSmall.svg";
+export { ReactComponent as Toolkit } from "./Toolkit.svg";
+export { ReactComponent as TwitterSmall } from "./TwitterSmall.svg";
+export { ReactComponent as Unlock } from "./Unlock.svg";
+export { ReactComponent as UserArrows } from "./UserArrows.svg";
+export { ReactComponent as UserAtom } from "./UserAtom.svg";
+export { ReactComponent as YoutubeSmall } from "./YoutubeSmall.svg";
diff --git a/packages/website/src/components/Layout/Section.js b/packages/website/src/components/Layout/Section.js
index e75fbbc9..b22cd518 100644
--- a/packages/website/src/components/Layout/Section.js
+++ b/packages/website/src/components/Layout/Section.js
@@ -93,9 +93,9 @@ export const CardCarousel = ({ CardComponent, cards, interval = null, fullWidth
);
};
-export const CardWithTitle = ({ Icon, title }) => (
+export const CardWithTitle = ({ Icon, src, alt, title }) => (
diff --git a/packages/website/src/pages/index.js b/packages/website/src/pages/index.js
index 30c69728..08b3f812 100644
--- a/packages/website/src/pages/index.js
+++ b/packages/website/src/pages/index.js
@@ -1,66 +1,31 @@
import * as React from "react";
+import { graphql } from "gatsby";
import { Section, SectionTitle, CardWithDescription, CardWithTitle } from "../components/Layout";
import { Carousel } from "../components/Carousel/Carousel";
import Seo from "../components/seo";
import CommunitySection from "../components/CommunitySection";
import Uploader from "../components/Uploader";
-import {
- ArrowRight,
- SkynetToolBig,
- SkynetUserBig,
- SkynetPowerBig,
- SkynetMonetizationSmall,
- SkynetPersistenceSmall,
- SkynetSpeedSmall,
- SkynetUsageSmall,
- SkynetSiaSmall,
-} from "../components/Icons";
+import { ArrowRight } from "../components/Icons";
import Link from "../components/Link";
-const etosCards = [
- {
- Icon: SkynetToolBig,
- title: "Build a better web",
- },
- {
- Icon: SkynetUserBig,
- title: "Fight corporate control
of user data",
- },
- {
- Icon: SkynetPowerBig,
- title: "Empower global citizens",
- },
-];
+const IndexPage = ({ data }) => {
+ const etosCards = React.useMemo(
+ () =>
+ data.allPagesIndexYaml.edges[0].node.etosCards.map((card) => ({
+ ...card,
+ src: card.src.publicURL,
+ })),
+ [data]
+ );
+ const ecosystemCards = React.useMemo(
+ () =>
+ data.allPagesIndexYaml.edges[1].node.ecosystemCards.map((card) => ({
+ ...card,
+ src: card.src.publicURL,
+ })),
+ [data]
+ );
-const ecosystemCards = [
- {
- Icon: SkynetUsageSmall,
- 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.",
- },
- {
- Icon: SkynetSpeedSmall,
- 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!",
- },
- {
- Icon: SkynetSiaSmall,
- 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.",
- },
- {
- Icon: SkynetMonetizationSmall,
- title: "Monetization",
- text: "Profit directly from the success of your skapp. Now you can truly prioritize your users, instead of advertisers.",
- },
- {
- Icon: SkynetPersistenceSmall,
- 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.",
- },
-];
-
-const IndexPage = () => {
return (
<>
- Skynet is a content and application hosting platform bringing - decentralized storage to users, creators and app developers. + + Skynet is a hosting platform that makes it easy to join the decentralized + + internet movement. Start your free account today. - Skynet is a content and application hosting platform bringing decentralized storage to users, creators and - app developers. + Skynet is a hosting platform that makes it easy to join the decentralized internet movement. Start your + free account today.
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.
{ ); }; +export const query = graphql` + query MainPageQuery { + allPagesIndexYaml { + edges { + node { + etosCards { + title + alt + src { + publicURL + } + } + ecosystemCards { + title + alt + text + src { + publicURL + } + } + } + } + } + } +`; + export default IndexPage;