diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..061e9f9 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,24 @@ +{ + "editor.detectIndentation": false, + "editor.insertSpaces": false, + "editor.lineNumbers": "on", + "editor.renderWhitespace": "all", + "editor.rulers": [ + 80, + 160, + 240, + 320 + ], + "editor.trimAutoWhitespace": true, + "editor.useTabStops": true, + "editor.wordWrapColumn": 1024, + "files.autoSave": "afterDelay", + "files.autoSaveDelay": 5000, + "files.insertFinalNewline": true, + "files.encoding": "utf8", + "git.enabled": true, + "git.rebaseWhenSync": true, + "editor.guides.indentation": true, + "html.format.endWithNewline": false, + "html.format.wrapLineLength": 0 +} diff --git a/address-1.css b/address-1.css new file mode 100644 index 0000000..a12db73 --- /dev/null +++ b/address-1.css @@ -0,0 +1,136 @@ +* { + box-sizing: border-box; +} + +@supports (grid-template-rows: masonry) { + .card-host { + display: grid; + /* same as margin is not masony card */ + gap: 2px; + grid-template-columns: repeat(auto-fill, 300px); + grid-template-rows: masonry; + justify-content: center; + } +} + +@supports not (grid-template-rows: masonry) { + .card-host { + display: block; + margin: 0 auto; + } + .card-host:after { + content: ""; + display: block; + clear: both; + } + .card { + /* same as gap in masonry */ + margin: 2px; + } +} + +.header { + width: 100%; + height: 50px; + background: white; + /* border: solid; */ + font-size: larger; + /* border-radius: 10px; */ + text-align: center; + padding-top: 15px; + margin-top: 20px; + margin-bottom: 30px; +} + +.address_red { + color: red; +} + +.footer { + display: inline-block; + position: block; + width: 100%; + height: auto; + left: 0; + bottom: 0; + border-top: solid rgb(18, 17, 17); + display: inline-block; + background: grey; +} +.support { + float: left; + display: block; +} + +.developers { + padding-left: 20px; + float: left; + display: block; +} + +.footer-link { + text-decoration: none; + color: gray; +} + +.donations { + margin: 3%; + margin-top: 50px; + position: absolute; + right: 0; + color: grey; + text-decoration: none; +} + +.card-host { + margin-bottom: 20px; + /* background: rgb(200, 0, 255); */ +} + +.donate-link { + text-decoration: none; + color: rgb(116, 206, 235); +} + +.donate-link:hover { + color: red; +} + +.donate-icon { + content: "\f004"; /* добавляем иконку дом */ + font-family: FontAwesome; + color: red; +} + +.card { + width: 300px; +} +.card-content { + /* margin-right: 20px; */ + font-size: smaller; + word-wrap: break-word; + display: inline-block; + text-align: center; +} +ul { + /* background-color: azure; */ + padding-left: 15px; +} + +.circle-blockchain { + list-style-type: circle; +} + +.currency-name { + display: inline-block; + text-align: center; +} + +.currency-card { + /* height: 200px; */ + /* background-color: red; */ + border-radius: 15px; + border: solid; + padding: 5px; + background: white; +} diff --git a/address-1.html b/address-1.html new file mode 100644 index 0000000..0a98780 --- /dev/null +++ b/address-1.html @@ -0,0 +1,114 @@ + + + + + + + + + + + + Address + + +
+
+ {{# address }} + Address / {{address}} + {{/ address }} +
+
+ + +
+ + + + {{# assets }} + {{# blockchains }} + + +
+
+ +
{{ id }}
+
{{ name }}
+
+ + {{ #alternatives }} + + {{ /alternatives }} + +
Token: {{ token }}
+ Balance: {{ balance }} +
+ {{/ blockchains }} + {{/ assets }} +
+ + + + + + + diff --git a/address.html b/address.html new file mode 100644 index 0000000..0f89328 --- /dev/null +++ b/address.html @@ -0,0 +1,123 @@ + + + + + + + + + + Blockchain Sonar's Explorer + + + + + + + + + + +
+ + +
+
+
+
+ + Ether (ETH) +
+
+
+
+
+
Ethereum
+
+
+
+
+
+
Balance
+

UNKNOWN

+
+
+
+
+
+
+
Explorers
+ +
+
+
+
+
+
+
+
+
+
Binance Smart Chain (Token)
+
+
+
+
+
+
Balance
+

UNKNOWN

+
+
+
+
+
+
+
Explorers
+ +
+
+
+
+
+
+
+
+
+
+
+
+
+ + + diff --git a/address.js b/address.js new file mode 100644 index 0000000..47b616e --- /dev/null +++ b/address.js @@ -0,0 +1,352 @@ +// http://127.0.0.1:5000/webapp/address/0xd3CdA913deB6f67967B99D67aCDFa1712C293601 +// http://127.0.0.1:5000/explorer/v1/address/0xd3CdA913deB6f67967B99D67aCDFa1712C293601 + +window.onload = function () { + const url_frontend = (decodeURI(window.location.href)); + const urlsplit = url_frontend.split("/"); + const url_split = urlsplit[5]; + const url_backend = 'http://127.0.0.1:5000/explorer/v1/address/' + url_split; + + // const xhr = new XMLHttpRequest(); + // xhr.open('GET', url_backend, true); + // xhr.send(); + // xhr.onload = function () { + // const responseObj = xhr.response; + // buildUI(responseObj); + // }; + + // Хардкодимо відповіть від сервера + // Важаємо, що дані responseObj отримані с бекенду + const responseObj = { + "address": "0x2b6828f4f227953fb36f42bda830b457afdc1c5e", + "assets": { + "BNB": { + "alternatives": { + "com.bscscan": "https://bscscan.com/address/0x2b6828f4f227953fb36f42bda830b457afdc1c5e", + "io.binance.mintscan": "https://binance.mintscan.io/account/0x2b6828f4f227953fb36f42bda830b457afdc1c5e", + "io.etherscan": "https://etherscan.io/token/0xB8c77482e45F1F44dE1745F52C74426C631bDD52?a=0x2b6828f4f227953fb36f42bda830b457afdc1c5e", + "io.explorer.bitquery": "https://explorer.bitquery.io/bsc/address/0x2b6828f4f227953fb36f42bda830b457afdc1c5e" + }, + "balance": null, + "blockchains": [ + { + "blockchain": "Binance Smart Coin", + "token": false + }, + { + "blockchain": "Ethereum", + "token": true + } + ], + "name": "Binance Coin" + }, + "BUSD-T": { + "alternatives": { + "com.bscscan": "https://bscscan.com/token/0x55d398326f99059ff775485246999027b3197955?a=0x2b6828f4f227953fb36f42bda830b457afdc1c5e", + "io.explorer.bitquery": "https://explorer.bitquery.io/bsc/token/0x2b6828f4f227953fb36f42bda830b457afdc1c5e" + }, + "balance": null, + "blockchains": [ + { + "blockchain": "Ethereum", + "token": true + } + ], + "name": "BUSD Token" + }, + "ETH": { + "alternatives": { + "com.bscscan": "https://bscscan.com/token/0x2170ed0880ac9a755fd29b2688956bd959f933f8?a=0x2b6828f4f227953fb36f42bda830b457afdc1c5e", + "io.etherscan": "https://etherscan.io/address/0x2b6828f4f227953fb36f42bda830b457afdc1c5e", + "io.ethplorer": "https://ethplorer.io/address/0x2b6828f4f227953fb36f42bda830b457afdc1c5e", + "org.etherchain": "https://etherchain.org/account/0x2b6828f4f227953fb36f42bda830b457afdc1c5e" + }, + "balance": null, + "blockchains": [ + { + "blockchain": "Ethereum", + "token": false + }, + { + "blockchain": "Binance Smart Coin", + "token": true + } + ], + "name": "Ether" + }, + "MATIC": { + "alternatives": { + "com.blockchain": "https://blockchair.com/ethereum/erc-20/token/0x2b6828f4f227953fb36f42bda830b457afdc1c5e", + "com.polygonscan": "https://polygonscan.com/address/0x2b6828f4f227953fb36f42bda830b457afdc1c5e", + "io.explorer.bitquery": "https://explorer.bitquery.io/matic/address/0x2b6828f4f227953fb36f42bda830b457afdc1c5e" + }, + "balance": null, + "blockchains": [ + { + "blockchain": "Ethereum", + "token": true + }, + { + "blockchain": "Polygon", + "token": false + } + ], + "name": "Polygon" + }, + "USDT": { + "alternatives": { + "io.etherscan": "https://etherscan.io/token/0xdac17f958d2ee523a2206206994597c13d831ec7?a=0x2b6828f4f227953fb36f42bda830b457afdc1c5e", + "io.ethplorer": "https://ethplorer.io/address/0x2b6828f4f227953fb36f42bda830b457afdc1c5e", + "org.etherchain": "https://etherchain.org/account/0x2b6828f4f227953fb36f42bda830b457afdc1c5e", + "org.tronscan": "https://tronscan.org/#/address/0x2b6828f4f227953fb36f42bda830b457afdc1c5e/" + }, + "balance": null, + "blockchains": [ + { + "blockchain": "Ethereum", + "token": true + }, + { + "blockchain": "Tron", + "token": true + } + ], + "name": "Tether" + } + } + }; + + // Конвертуємо дані з сервера в дані для для побудови UI + const uiDataAssets = serverDataAssetsMapper(responseObj); + + // Будуємо UI блоки по кожному Asset + const targetBlock = document.getElementById("content"); + for(const uiDataAsset of uiDataAssets) { + const assetCode = uiDataAsset.assetCode; + const assetName = uiDataAsset.assetName; + const blockchains = uiDataAsset.blockchains; + + const assetBlock = buildAssetUIBlock(assetCode, assetName, blockchains); + + targetBlock.appendChild(assetBlock); + } +} + +function serverDataAssetsMapper(serverData) { + const uiDataAssets = []; + + const asset0 = { + assetCode: "USDT", + assetName: "Tether (USDT)", + blockchains: [ + { + "blockchain": "Ethereum", + "balance": "42042.766477", + "token": true, + "alternatives": { + "io.etherscan": "https://etherscan.io/token/0xdac17f958d2ee523a2206206994597c13d831ec7?a=0xd3CdA913deB6f67967B99D67aCDFa1712C293601", + "io.ethplorer": "https://ethplorer.io/address/0xd3CdA913deB6f67967B99D67aCDFa1712C293601", + "org.etherchain": "https://etherchain.org/account/0xd3CdA913deB6f67967B99D67aCDFa1712C293601" + } + }, + ] + }; + + const asset1 = { + assetCode: "MATIC", + assetName: "Polygon Coin", + blockchains: [ + { + "blockchain": "Ethereum", + "balance": null, + "token": true, + "alternatives": { + "io.etherscan": "https://etherscan.io/token/0x7D1AfA7B718fb893dB30A3aBc0Cfc608AaCfeBB0?a=0xd3CdA913deB6f67967B99D67aCDFa1712C293601", + "io.ethplorer": "https://ethplorer.io/address/0xd3CdA913deB6f67967B99D67aCDFa1712C293601", + "org.etherchain": "https://etherchain.org/account/0xd3CdA913deB6f67967B99D67aCDFa1712C293601", + "com.blockchain": "https://blockchair.com/ethereum/erc-20/token/0xd3CdA913deB6f67967B99D67aCDFa1712C293601" + } + }, + { + "blockchain": "Polygon", + "balance": null, + "token": false, + "alternatives": { + "com.polygonscan": "https://polygonscan.com/address/0xd3CdA913deB6f67967B99D67aCDFa1712C293601", + "io.explorer.bitquery": "https://explorer.bitquery.io/matic/address/0xd3CdA913deB6f67967B99D67aCDFa1712C293601" + } + } + ] + }; + + const asset2 = { + assetCode: "BUSD-T", + assetName: "BUSD Token", + blockchains: [ + { + "blockchain": "Binance Smart Chain", + "balance": "100", + "token": true, + "alternatives": { + "com.bscscan": "https://bscscan.com/token/0x55d398326f99059ff775485246999027b3197955?a=0x2b6828f4f227953fb36f42bda830b457afdc1c5e" + } + } + ] + } + + uiDataAssets.push(asset0); + uiDataAssets.push(asset1); + uiDataAssets.push(asset2); + + // TODO + // Використовуючи дані serverData будуемо + // набор assetData та додаємо в масив uiDataAssets + // як в прикладі вище + // + + + return uiDataAssets; +} + +function buildUI(responseObj) { + const p = document.createElement("p"); + p.innerText = responseObj; + document.getElementById("content").appendChild(p); +} + +function buildAssetRootUIBlock() { + const assetRowBlock = document.createElement("div"); + assetRowBlock.classList = "row asset-row"; + return assetRowBlock; +} + +function buildAssetRootColBlock() { + const assetRowColBlock = document.createElement("div"); + assetRowColBlock.classList = "col-12"; + return assetRowColBlock; +} + +function buildAssetRootCardBlock() { + const assetRootCardBlock = document.createElement("div"); + assetRootCardBlock.classList = "card"; + return assetRootCardBlock; +} + +function buildAssetRootCardHeaderBlock() { + const assetRootCardHeaderBlock = document.createElement("div"); + assetRootCardHeaderBlock.classList = "card-header"; + return assetRootCardHeaderBlock; +} + +function buildAssetUIBlock(assetCode, balance, blockchains) { + const assetRowRootBlock = buildAssetRootUIBlock(); + + const assetRowRootColBlock = buildAssetRootColBlock(); + assetRowRootBlock.appendChild(assetRowRootColBlock); + + const assetRowCardRootBlock = buildAssetRootCardBlock(); + assetRowRootColBlock.appendChild(assetRowCardRootBlock); + + const assetRowRootCardHeaderBlock = buildAssetRootCardHeaderBlock(); + assetRowCardRootBlock.appendChild(assetRowRootCardHeaderBlock); + + const image = document.createElement('img'); + image.src = "icons/assets/" + assetCode + "-56x56.png"; + assetRowRootCardHeaderBlock.appendChild(image); + + const assetCodeBlock = document.createElement("span"); + assetCodeBlock.innerText = assetCode; + assetRowRootCardHeaderBlock.appendChild(assetCodeBlock); + + const assetCardBodyBlock = document.createElement("div"); + assetCardBodyBlock.classList = "card-body"; + assetRowCardRootBlock.appendChild(assetCardBodyBlock); + + const blockChainsRowBlock = document.createElement("div"); + blockChainsRowBlock.classList = "row blockchain-row"; + assetCardBodyBlock.appendChild(blockChainsRowBlock); + + for (var blockchain of blockchains) { + const blockChainRowBlock = buildBlockchainUIBlock(blockchain, balance); + blockChainsRowBlock.appendChild(blockChainRowBlock); + } + return assetRowRootBlock; +} + +function buildBlockchainUIBlock(blockchainInfo) { + const blockChainColBlock = document.createElement("div"); + blockChainColBlock.classList = "col-6"; + + const blockChainCardBgLightBlock = document.createElement("div"); + blockChainCardBgLightBlock.classList = "card bg-light"; + blockChainColBlock.appendChild(blockChainCardBgLightBlock); + + const blockChainCardHeaderBlock = document.createElement("div"); + blockChainCardHeaderBlock.classList = "card-header"; + let blockChainTitle; + if (blockchainInfo.token) { blockChainTitle = blockchainInfo.blockchain + " (Token)"; } + else { blockChainTitle = blockchainInfo.blockchain; } + blockChainCardHeaderBlock.innerText = blockChainTitle; + blockChainCardBgLightBlock.appendChild(blockChainCardHeaderBlock); + + const blockChainCardBodyBlock = document.createElement("div"); + blockChainCardBodyBlock.classList = "card-body"; + blockChainCardBgLightBlock.appendChild(blockChainCardBodyBlock); + + const blockChainCardBodyRowBlock = document.createElement("div"); + blockChainCardBodyRowBlock.classList = "row"; + blockChainCardBodyBlock.appendChild(blockChainCardBodyRowBlock); + + const blockChainCardBodyCol3Block = document.createElement("div"); + blockChainCardBodyCol3Block.classList = "col-6"; + blockChainCardBodyRowBlock.appendChild(blockChainCardBodyCol3Block); + + const blockChainCardBlock = document.createElement("div"); + blockChainCardBlock.classList = "card"; + blockChainCardBodyCol3Block.appendChild(blockChainCardBlock); + + const blockChainCardBodyBalanceBlock = document.createElement("div"); + blockChainCardBodyBalanceBlock.classList = "card-body"; + blockChainCardBlock.appendChild(blockChainCardBodyBalanceBlock); + + const assetCardTitleBalanceBlock = document.createElement("h5"); + assetCardTitleBalanceBlock.classList = "card-title"; + assetCardTitleBalanceBlock.innerText = "Balance:"; + blockChainCardBodyBalanceBlock.appendChild(assetCardTitleBalanceBlock); + + const assetCardTextBalanceBlock = document.createElement("p"); + assetCardTextBalanceBlock.classList = "card-text"; + let blockChainBalanceTitle; + if (blockchainInfo.balance !== null) { blockChainBalanceTitle = blockchainInfo.balance; } + else { blockChainBalanceTitle = "UNKNOWN"; } + assetCardTextBalanceBlock.innerText = blockChainBalanceTitle; + blockChainCardBodyBalanceBlock.appendChild(assetCardTextBalanceBlock); + + const blockChainCardBodyCol9Block = document.createElement("div"); + blockChainCardBodyCol9Block.classList = "col-6"; + blockChainCardBodyRowBlock.appendChild(blockChainCardBodyCol9Block); + + const blockChainCol9CardBlock = document.createElement("div"); + blockChainCol9CardBlock.classList = "card"; + blockChainCardBodyCol9Block.appendChild(blockChainCol9CardBlock); + + const blockChainCol9CardBodyBlock = document.createElement("div"); + blockChainCol9CardBodyBlock.classList = "card-body"; + blockChainCol9CardBodyBlock.innerText = "Explorers"; + blockChainCol9CardBlock.appendChild(blockChainCol9CardBodyBlock); + + const assetCardTextExplorersULBlock = document.createElement("ul"); + assetCardTextExplorersULBlock.classList = "card-text"; + blockChainCol9CardBodyBlock.appendChild(assetCardTextExplorersULBlock); + + for (var code in blockchainInfo.alternatives) { + const assetListExplorersLiBlock = document.createElement("li"); + const el = document.createElement("a"); + el.href = blockchainInfo.alternatives[code]; + el.innerText = code; + assetListExplorersLiBlock.appendChild(el); + assetCardTextExplorersULBlock.appendChild(assetListExplorersLiBlock); + } + + return blockChainColBlock; +} diff --git a/icons/assets/BNB-56x56.png b/icons/assets/BNB-56x56.png new file mode 100644 index 0000000..bfad5d1 Binary files /dev/null and b/icons/assets/BNB-56x56.png differ diff --git a/icons/assets/BUSD-T-56x56.png b/icons/assets/BUSD-T-56x56.png new file mode 100644 index 0000000..6df9ff8 Binary files /dev/null and b/icons/assets/BUSD-T-56x56.png differ diff --git a/icons/assets/ETH-56x56.png b/icons/assets/ETH-56x56.png new file mode 100644 index 0000000..d85c013 Binary files /dev/null and b/icons/assets/ETH-56x56.png differ diff --git a/icons/assets/MATIC-56x56.png b/icons/assets/MATIC-56x56.png new file mode 100644 index 0000000..9fffa2e Binary files /dev/null and b/icons/assets/MATIC-56x56.png differ diff --git a/icons/assets/USDT-56x56.png b/icons/assets/USDT-56x56.png new file mode 100644 index 0000000..c3333d1 Binary files /dev/null and b/icons/assets/USDT-56x56.png differ diff --git a/icons/assets/backgroun-image-2.png b/icons/assets/backgroun-image-2.png new file mode 100644 index 0000000..b8efeda Binary files /dev/null and b/icons/assets/backgroun-image-2.png differ diff --git a/icons/assets/backgroun-image.png b/icons/assets/backgroun-image.png new file mode 100644 index 0000000..3bfb8c0 Binary files /dev/null and b/icons/assets/backgroun-image.png differ diff --git a/icons/assets/coin-1.png b/icons/assets/coin-1.png new file mode 100644 index 0000000..8c78b09 Binary files /dev/null and b/icons/assets/coin-1.png differ diff --git a/icons/assets/coin-2.png b/icons/assets/coin-2.png new file mode 100644 index 0000000..bc86c53 Binary files /dev/null and b/icons/assets/coin-2.png differ diff --git a/icons/assets/coin-3.png b/icons/assets/coin-3.png new file mode 100644 index 0000000..3fe1fe5 Binary files /dev/null and b/icons/assets/coin-3.png differ diff --git a/icons/assets/coin-4.png b/icons/assets/coin-4.png new file mode 100644 index 0000000..d840cef Binary files /dev/null and b/icons/assets/coin-4.png differ diff --git a/icons/assets/coin-5.png b/icons/assets/coin-5.png new file mode 100644 index 0000000..b1ab198 Binary files /dev/null and b/icons/assets/coin-5.png differ diff --git a/icons/assets/coin-6.png b/icons/assets/coin-6.png new file mode 100644 index 0000000..d208954 Binary files /dev/null and b/icons/assets/coin-6.png differ diff --git a/icons/assets/logo_icon.png b/icons/assets/logo_icon.png new file mode 100644 index 0000000..3d2967b Binary files /dev/null and b/icons/assets/logo_icon.png differ diff --git a/icons/assets/logotip.png b/icons/assets/logotip.png new file mode 100644 index 0000000..cfedbe1 Binary files /dev/null and b/icons/assets/logotip.png differ diff --git a/icons/assets/magnifying_glass-20x20.png b/icons/assets/magnifying_glass-20x20.png new file mode 100644 index 0000000..22d32b3 Binary files /dev/null and b/icons/assets/magnifying_glass-20x20.png differ diff --git a/index.css b/index.css new file mode 100644 index 0000000..7e0ea67 --- /dev/null +++ b/index.css @@ -0,0 +1,138 @@ +/* body { + font-family: "Montserrat", sans-serif; + background: lightgrey; + -webkit-background-size: cover; + -moz-background-size: cover; + -o-background-size: cover; + background-size: cover; + overflow: scroll; +} */ + +.logo_and_search { + /* display: flex; */ + width: 39em; + height: 140px; + margin-left: auto; + margin-right: auto; + margin-top: 200px; + /* background: red; */ +} +.logo { + /* background-color: blue; */ + position: absolute; + margin-left: 5.5em; + /* margin-right: auto; */ + margin-top: 10px; +} + +.name_logo { + margin-left: 20px; + font-size: 50px; + font-weight: 800; + color: grey; +} + +.search_content { + background: url(icons/assets/magnifying_glass-20x20.png) no-repeat; + background-position: 10px; + width: 39.3em; + height: 3em; + text-indent: 40px; + margin-top: 90px; + margin-left: auto; + margin-right: auto; + outline: none; /*убираем стандартную обводку браузера */ + border-top-left-radius: 25px; + border-bottom-left-radius: 25px; + /* -moz-border-radius: 25px; */ + /* -webkit-border-radius: 25px; */ + /* border-radius: 25px; закругляем углы для остальных браузеров */ + border: lightgray; + font-size: 14px; + background-color: white; + display: inline-block; +} + +input::placeholder { + color: lightgrey; + font-size: 1.2em; + font-style: italic; +} + +.button_search { + border: none; + text-align: center; + font-size: 16px; + color: grey; + border-top-right-radius: 25px; + border-bottom-right-radius: 25px; + /* -moz-border-radius: 25px; + -webkit-border-radius: 25px; + border-radius: 25px; */ + background-color: white; + height: 2.575em; + cursor: pointer; +} + +.button_search:active { + color: black; + background: darkgrey; +} + +/* .button [type="submit"]:hover { + color: black; + background: grey; +} */ + +input[type="search"]::-webkit-search-cancel-button { + margin-right: 1em; +} + + +.list_coins { + display: flex; + flex-flow: row wrap; + justify-content: start; + width: 30em; + /* height: 20em; */ + /* align-items: center; */ + /* align-content: center; */ + /* margin-top: 1.5em; */ + margin-right: auto; + margin-left: auto; + /* background: green; */ +} + +.coins { + height: 60px; + width: 60px; + background: lightgrey; + margin-top: 3em; + margin-left: 3em; + /* padding: 0; */ +} + +/* #fat_footer { + position: fixed; + bottom: 0px; + height: 145px; + width: 100%; + background: #f4f0f0; + border-top: thin solid grey; + font-size: small; + color: #999; +} */ + +@media (min-width: 481px) and (max-width: 768px) { + .logo_and_search .search_content .list_coins { + float: none; + width: auto; + /* clear: both; */ + } +} +@media (max-width: 481px) { + .logo_and_search .search_content .list_coins { + float: none; + width: auto; + } +} diff --git a/index.html b/index.html index 467e8a7..73c93bc 100644 --- a/index.html +++ b/index.html @@ -1,12 +1,71 @@ - + + + + + + + + + + Index -

Welcome to Blockchain Sonar's Explorer

-

Under construction...

+ + + + + + - \ No newline at end of file + diff --git a/index.js b/index.js index e0f8eeb..e26769a 100644 --- a/index.js +++ b/index.js @@ -1,3 +1,3 @@ -window.onload=function() { - alert("Hello, World!!!"); -} \ No newline at end of file +// window.onload=function() { +// alert("Hello, World!!!"); +// } diff --git a/main.css b/main.css new file mode 100644 index 0000000..97a67a0 --- /dev/null +++ b/main.css @@ -0,0 +1,16 @@ +body { + font-family: "Montserrat", sans-serif; + background: lightgray; + -webkit-background-size: cover; + -moz-background-size: cover; + -o-background-size: cover; + background-size: cover; + overflow: scroll; + } + html, + body { + width: 100vw; + height: 100vh; + padding: 0; + margin: 0; + }