{"id":729,"date":"2024-11-28T20:20:28","date_gmt":"2024-11-28T23:20:28","guid":{"rendered":"https:\/\/urutaudev.com.br\/?p=729"},"modified":"2024-11-28T20:28:44","modified_gmt":"2024-11-28T23:28:44","slug":"cripto-dashboard-em-javascript","status":"publish","type":"post","link":"https:\/\/urutaudev.com.br\/index.php\/2024\/11\/28\/cripto-dashboard-em-javascript\/","title":{"rendered":"Cripto Dashboard  em Javascript"},"content":{"rendered":"<h1><\/h1>\n<figure id=\"attachment_731\" aria-describedby=\"caption-attachment-731\" style=\"width: 372px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-731 \" src=\"https:\/\/urutaudev.com.br\/wp-content\/uploads\/2024\/11\/dash-300x142.jpg\" alt=\"Cripto Dashboard em Javascript\" width=\"372\" height=\"176\" srcset=\"https:\/\/urutaudev.com.br\/wp-content\/uploads\/2024\/11\/dash-300x142.jpg 300w, https:\/\/urutaudev.com.br\/wp-content\/uploads\/2024\/11\/dash-1024x485.jpg 1024w, https:\/\/urutaudev.com.br\/wp-content\/uploads\/2024\/11\/dash-768x364.jpg 768w, https:\/\/urutaudev.com.br\/wp-content\/uploads\/2024\/11\/dash.jpg 1166w\" sizes=\"auto, (max-width: 372px) 100vw, 372px\" \/><figcaption id=\"caption-attachment-731\" class=\"wp-caption-text\">Cripto Dashboard em Javascript<\/figcaption><\/figure>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h2><span style=\"font-family: arial, helvetica, sans-serif;\">Introdu\u00e7\u00e3o<\/span><\/h2>\n<p><span style=\"font-family: arial, helvetica, sans-serif; font-size: 14pt;\">Neste tutorial, voc\u00ea aprender\u00e1 a criar um Cripto Dashboard utilizando apenas HTML, CSS e JavaScript, sem a necessidade de bibliotecas externas.<\/span><\/p>\n<p><span style=\"font-family: arial, helvetica, sans-serif; font-size: 14pt;\">Este guia pr\u00e1tico ensina como visualizar informa\u00e7\u00f5es sobre a cota\u00e7\u00e3o de criptomoedas de forma simples e eficiente. Utilizaremos a API do Mercado Bitcoin para consultar e exibir os dados no dashboard.<\/span><\/p>\n<p>&nbsp;<\/p>\n<h3><span style=\"font-family: arial, helvetica, sans-serif;\">Cripto Dashboard em Javascript<\/span><\/h3>\n<p>&nbsp;<\/p>\n<p><span style=\"font-family: arial, helvetica, sans-serif;\"><strong><span style=\"font-size: 14pt;\">Primeiro passo voc\u00ea dever\u00e1 criar a estrutura da p\u00e1gina, para isso crie um arquivo html contendo\u00a0 o seguinte c\u00f3digo :<\/span><\/strong><\/span><\/p>\n<p>&nbsp;<\/p>\n<div>\n<div><code>&lt;html lang=\"pt-BR\"&gt;<\/code><\/div>\n<div><code>&lt;head&gt;<\/code><\/div>\n<div><code>\u00a0 \u00a0 &lt;meta charset=\"UTF-8\"&gt;<\/code><\/div>\n<div><code>\u00a0 \u00a0 &lt;meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"&gt;<\/code><\/div>\n<div><code>\u00a0 \u00a0 &lt;link rel=\"stylesheet\" href=\"style.css\"&gt;<\/code><\/div>\n<div><code>\u00a0 \u00a0 &lt;title&gt;Cripto DashBoard&lt;\/title&gt;<\/code><\/div>\n<div><code>&lt;\/head&gt;<\/code><\/div>\n<div><code>&lt;body&gt;<\/code><\/div>\n<div><code>\u00a0 \u00a0 &lt;script&gt;<\/code><\/div>\n<div><code>\u00a0 \u00a0 &lt;\/script&gt;<\/code><\/div>\n<div><code>&lt;\/body&gt;<\/code><\/div>\n<div><code>&lt;\/html&gt;<\/code><\/div>\n<\/div>\n<p>&nbsp;<\/p>\n<p><span style=\"font-family: arial, helvetica, sans-serif;\"><strong><span style=\"font-size: 14pt;\">Logo ap\u00f3s crio a estrutura do conversor:<\/span><\/strong><\/span><\/p>\n<p>&nbsp;<\/p>\n<div>\n<div><code>\u00a0&lt;div class=\"container\"&gt;<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 \u00a0 &lt;div class=\"header\"&gt;<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &lt;div class=\"title-container\"&gt;<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &lt;svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" x=\"0px\" y=\"0px\" stroke=\"currentColor\" fill=\"currentColor\"<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 width=\"1em\" height=\"1em\" viewBox=\"0 0 30 30\" alt=\"\u00cdcone de Criptomoeda\" &gt;<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &lt;path<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 d=\"M 15 3 C 8.373 3 3 8.373 3 15 C 3 21.627 8.373 27 15 27 C 21.627 27 27 21.627 27 15 C 27 8.373 21.627 3 15 3 z M 14 8 L 16 8 L 16 10.007812 C 17.86 10.050812 18.970703 10.984141 18.970703 12.494141 C 18.970703 13.554141 18.188109 14.476906 17.162109 14.628906 L 17.162109 14.753906 C 18.486109 14.850906 19.449219 15.849672 19.449219 17.138672 C 19.449219 18.888672 18.129 19.995047 16 19.998047 L 16 22 L 14 22 L 14 20 L 11.5 20 L 11.5 10 L 14 10 L 14 8 z M 13.59375 11.601562 L 13.59375 14.144531 L 15.166016 14.144531 C 16.296016 14.144531 16.912109 13.680953 16.912109 12.876953 C 16.912109 12.079953 16.337844 11.601563 15.339844 11.601562 L 13.59375 11.601562 z M 13.59375 15.558594 L 13.59375 18.398438 L 15.457031 18.398438 C 16.663031 18.398438 17.314453 17.892031 17.314453 16.957031 C 17.314453 16.042031 16.641203 15.558594 15.408203 15.558594 L 13.59375 15.558594 z\"&gt;<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &lt;\/path&gt;<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &lt;\/svg&gt;<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &lt;h2&gt;&lt;span&gt;C&lt;\/span&gt;ripto &lt;span&gt;D&lt;\/span&gt;ashboard&lt;\/h2&gt;<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &lt;\/div&gt;<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &lt;div class=\"search-input\"&gt;<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &lt;input type=\"text\" id=\"filter-input\" placeholder=\"Selecione uma Cripto Moeda. ex: Bitcoin\" \/&gt;<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &lt;div class=\"select-dropdown\"&gt;<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &lt;ul id=\"optionsList\"&gt;<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &lt;li&gt;Bitcoin&lt;\/li&gt;<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &lt;li&gt;Ethereum&lt;\/li&gt;<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &lt;li&gt;Ripple&lt;\/li&gt;<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &lt;\/ul&gt;<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &lt;\/div&gt;<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &lt;button id=\"searchButton\"&gt;<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &lt;svg stroke=\"currentColor\" fill=\"currentColor\" stroke-width=\"0\" viewBox=\"0 0 512 512\" height=\"1em\"<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 width=\"1em\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" alt=\"\u00cdcone de search\"&gt;<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &lt;path<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 d=\"M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z\"&gt;<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &lt;\/path&gt;<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &lt;\/svg&gt;<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &lt;\/button&gt;<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &lt;\/div&gt;<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 \u00a0 &lt;\/div&gt;<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 \u00a0 &lt;div class=\"dashBoard\" id=\"dashBoard\"&gt;<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &lt;div id=\"loading\" style=\"display: none;\"&gt;Carregando...&lt;\/div&gt;<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &lt;div class=\"card\"&gt;<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &lt;div class=\"css-text-mask mask-one\"&gt;Bitcoin&lt;\/div&gt;<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &lt;p&gt;Ativo Selecionado&lt;\/p&gt;<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &lt;\/div&gt;<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &lt;div class=\"card\"&gt;<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &lt;div class=\"css-text-mask mask-two\"&gt;BTC&lt;\/div&gt;<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &lt;p&gt;Ticker&lt;\/p&gt;<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &lt;\/div&gt;<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &lt;div class=\"card\"&gt;<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &lt;div class=\"css-text-mask mask-three\"&gt;385M&lt;\/div&gt;<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &lt;p&gt;\u00daltima cotaca\u00e7\u00e3o em (R$)&lt;\/p&gt;<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &lt;\/div&gt;<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &lt;div class=\"card\"&gt;<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &lt;div class=\"css-text-mask mask-three\"&gt;Cripto&lt;\/div&gt;<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &lt;p&gt;Segmento &lt;\/p&gt;<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &lt;\/div&gt;<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &lt;div class=\"card\"&gt;<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &lt;div class=\"css-text-mask mask-four\"&gt;+0,82%&lt;\/div&gt;<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &lt;p&gt;Varia\u00e7\u00e3o em 24H&lt;\/p&gt;<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &lt;\/div&gt;<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &lt;div class=\"card\"&gt;<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &lt;div class=\"css-text-mask mask-one\"&gt;6,9B&lt;\/div&gt;<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &lt;p&gt;Capitaliza\u00e7\u00e3o de mercado&lt;\/p&gt;<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &lt;\/div&gt;<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 \u00a0 &lt;\/div&gt;<\/code><\/div>\n<div><code>\u00a0 \u00a0 &lt;\/div&gt;<\/code><\/div>\n<div><code>\u00a0 \u00a0 &lt;div id=\"loadingModal\" class=\"modal\"&gt;<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 \u00a0 &lt;div class=\"modal-content\"&gt;<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &lt;div class=\"loader\"&gt;&lt;\/div&gt;<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &lt;p&gt;Carregando...&lt;\/p&gt;<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 \u00a0 &lt;\/div&gt;<\/code><\/div>\n<div><code>\u00a0 \u00a0 &lt;\/div&gt;<\/code><\/div>\n<div><code>\u00a0 \u00a0 &lt;script src=\"main.js\"&gt;&lt;\/script&gt;<\/code><\/div>\n<\/div>\n<p>&nbsp;<\/p>\n<p><span style=\"font-family: arial, helvetica, sans-serif; font-size: 14pt;\">No c\u00f3digo acima crio a interface do DashBoard Cripto.<\/span><br \/>\n<span style=\"font-family: arial, helvetica, sans-serif; font-size: 14pt;\">Adicionei um campo para entrada de um n\u00famero e um bot\u00e3o para executar a consulta a api de cota\u00e7\u00e3o da moeda e por fim adicionei uma \u00e1rea para exibir o resultado retornado pela api. <\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-family: arial, helvetica, sans-serif;\"><strong><span style=\"font-size: 14pt;\">Depois adiciono o css respons\u00e1vel pela estiliza\u00e7\u00e3o da p\u00e1gina :<\/span><\/strong><\/span><\/p>\n<p>&nbsp;<\/p>\n<div>\n<div><code>*,<\/code><\/div>\n<div><code>*:after,<\/code><\/div>\n<div><code>*:before {<\/code><\/div>\n<div><code>\u00a0 margin: 0;<\/code><\/div>\n<div><code>\u00a0 padding: 0;<\/code><\/div>\n<div><code>\u00a0 border: 0;<\/code><\/div>\n<div><code>\u00a0 font-size: 100%;<\/code><\/div>\n<div><code>\u00a0 vertical-align: baseline;<\/code><\/div>\n<div><code>\u00a0 text-decoration: none;<\/code><\/div>\n<div><code>}<\/code><\/div>\n<div><code>:root {<\/code><\/div>\n<div><code>\u00a0 --white: #ffffff;<\/code><\/div>\n<div><code>\u00a0 --dark: rgb(40, 44, 51);<\/code><\/div>\n<div><code>\u00a0 --green: rgb(166, 247, 80);<\/code><\/div>\n<div><code>\u00a0 --green2: rgb(142, 211, 69);<\/code><\/div>\n<div><code>\u00a0 --gray: rgb(85, 89, 95);<\/code><\/div>\n<div><code>\u00a0 --orange: rgb(255, 216, 98);<\/code><\/div>\n<div><code>\u00a0 --red: #f46663;<\/code><\/div>\n<div><code>\u00a0 --contorno: rgba(255, 255, 255, 0.7);<\/code><\/div>\n<div><code>}<\/code><\/div>\n<div><code>body {<\/code><\/div>\n<div><code>\u00a0 height: 100vh;<\/code><\/div>\n<div><code>\u00a0 width: 100vw;<\/code><\/div>\n<div><code>\u00a0 display: flex;<\/code><\/div>\n<div><code>\u00a0 align-items: center;<\/code><\/div>\n<div><code>\u00a0 justify-content: center;<\/code><\/div>\n<div><code>\u00a0 background-color: #121f32;<\/code><\/div>\n<div><code>\u00a0 color: var(--white);<\/code><\/div>\n<div><code>\u00a0 font-family: basic-sans, sans-serif !important;<\/code><\/div>\n<div><code>}<\/code><\/div>\n<div><code>.container {<\/code><\/div>\n<div><code>\u00a0 width: calc(100% - 2rem);<\/code><\/div>\n<div><code>\u00a0 padding: 1rem;<\/code><\/div>\n<div><code>\u00a0 display: flex;<\/code><\/div>\n<div><code>\u00a0 flex-direction: column;<\/code><\/div>\n<div><code>\u00a0 align-items: center;<\/code><\/div>\n<div><code>\u00a0 justify-content: center;<\/code><\/div>\n<div><code>}<\/code><\/div>\n<div><code>.header {<\/code><\/div>\n<div><code>\u00a0 width: calc(80% - 2rem);<\/code><\/div>\n<div><code>\u00a0 padding: 1rem;<\/code><\/div>\n<div><code>\u00a0 display: flex;<\/code><\/div>\n<div><code>\u00a0 flex-direction: row;<\/code><\/div>\n<div><code>\u00a0 align-items: center;<\/code><\/div>\n<div><code>\u00a0 justify-content: space-between;<\/code><\/div>\n<div><code>}<\/code><\/div>\n<div><code>.title-container {<\/code><\/div>\n<div><code>\u00a0 display: flex;<\/code><\/div>\n<div><code>\u00a0 flex-direction: row;<\/code><\/div>\n<div><code>\u00a0 align-items: end;<\/code><\/div>\n<div><code>\u00a0 gap: 0.5rem;<\/code><\/div>\n<div><code>}<\/code><\/div>\n<div><code>.title-container &gt; svg {<\/code><\/div>\n<div><code>\u00a0 width: 5rem;<\/code><\/div>\n<div><code>\u00a0 height: 5rem;<\/code><\/div>\n<div><code>\u00a0 fill: var(--dark);<\/code><\/div>\n<div><code>\u00a0 stroke: var(--green);<\/code><\/div>\n<div><code>}<\/code><\/div>\n<div><code>.title-container h2 {<\/code><\/div>\n<div><code>\u00a0 font-size: 3rem;<\/code><\/div>\n<div><code>\u00a0 line-height: 4rem;<\/code><\/div>\n<div><code>\u00a0 font-weight: 700;<\/code><\/div>\n<div><code>\u00a0 font-style: normal;<\/code><\/div>\n<div><code>\u00a0 color: var(--white);<\/code><\/div>\n<div><code>}<\/code><\/div>\n<div><code>.title-container h2 &gt; span {<\/code><\/div>\n<div><code>\u00a0 font-size: 3.8rem;<\/code><\/div>\n<div><code>\u00a0 line-height: 4rem;<\/code><\/div>\n<div><code>\u00a0 color: var(--green);<\/code><\/div>\n<div><code>}<\/code><\/div>\n<div><code>.search-input {<\/code><\/div>\n<div><code>\u00a0 min-width: 30%;<\/code><\/div>\n<div><code>\u00a0 display: flex;<\/code><\/div>\n<div><code>\u00a0 gap: 0.5rem;<\/code><\/div>\n<div><code>\u00a0 align-items: center;<\/code><\/div>\n<div><code>\u00a0 position: relative;<\/code><\/div>\n<div><code>\u00a0 padding: 0.5rem;<\/code><\/div>\n<div><code>\u00a0 background: var(--dark);<\/code><\/div>\n<div><code>\u00a0 border: 1px solid var(--gray);<\/code><\/div>\n<div><code>\u00a0 border-radius: 4px;<\/code><\/div>\n<div><code>}<\/code><\/div>\n<div><code>.search-input input {<\/code><\/div>\n<div><code>\u00a0 width: 100%;<\/code><\/div>\n<div><code>\u00a0 font-size: 1rem;<\/code><\/div>\n<div><code>\u00a0 color: var(--green);<\/code><\/div>\n<div><code>\u00a0 position: relative;<\/code><\/div>\n<div><code>\u00a0 outline: none;<\/code><\/div>\n<div><code>\u00a0 padding: 0.5rem 1rem;<\/code><\/div>\n<div><code>\u00a0 background: var(--dark);<\/code><\/div>\n<div><code>\u00a0 border: 1px solid transparent;<\/code><\/div>\n<div><code>}<\/code><\/div>\n<div><code>.search-input .select-dropdown {<\/code><\/div>\n<div><code>\u00a0 position: absolute;<\/code><\/div>\n<div><code>\u00a0 top: 50px;<\/code><\/div>\n<div><code>\u00a0 left: 0;<\/code><\/div>\n<div><code>\u00a0 background: var(--dark);<\/code><\/div>\n<div><code>\u00a0 border: 1px solid var(--gray);<\/code><\/div>\n<div><code>\u00a0 color: var(--green);<\/code><\/div>\n<div><code>\u00a0 width: 250px;<\/code><\/div>\n<div><code>\u00a0 z-index: 1;<\/code><\/div>\n<div><code>\u00a0 display: none;<\/code><\/div>\n<div><code>}<\/code><\/div>\n<div><code>.search-input .select-dropdown ul {<\/code><\/div>\n<div><code>\u00a0 list-style-type: none;<\/code><\/div>\n<div><code>\u00a0 padding: 0;<\/code><\/div>\n<div><code>\u00a0 margin: 0;<\/code><\/div>\n<div><code>}<\/code><\/div>\n<div><code>.search-input .select-dropdown li {<\/code><\/div>\n<div><code>\u00a0 padding: 0.5rem;<\/code><\/div>\n<div><code>\u00a0 cursor: pointer;<\/code><\/div>\n<div><code>}<\/code><\/div>\n<div><code>.search-input .select-dropdown li:hover {<\/code><\/div>\n<div><code>\u00a0 background-color: var(--green);<\/code><\/div>\n<div><code>\u00a0 color: var(--dark);<\/code><\/div>\n<div><code>}<\/code><\/div>\n<div><code>.search-input button {<\/code><\/div>\n<div><code>\u00a0 padding: 0.8rem;<\/code><\/div>\n<div><code>\u00a0 display: flex;<\/code><\/div>\n<div><code>\u00a0 align-items: center;<\/code><\/div>\n<div><code>\u00a0 justify-content: center;<\/code><\/div>\n<div><code>\u00a0 border-radius: 4px;<\/code><\/div>\n<div><code>\u00a0 text-decoration: none;<\/code><\/div>\n<div><code>\u00a0 background-color: var(--green);<\/code><\/div>\n<div><code>}<\/code><\/div>\n<div><code>.search-input button:hover {<\/code><\/div>\n<div><code>\u00a0 background-color: var(--green2);<\/code><\/div>\n<div><code>\u00a0 scale: 0.9;<\/code><\/div>\n<div><code>}<\/code><\/div>\n<div><code>.search-input button &gt; svg {<\/code><\/div>\n<div><code>\u00a0 font-size: 1rem;<\/code><\/div>\n<div><code>\u00a0 fill: var(--gray);<\/code><\/div>\n<div><code>}<\/code><\/div>\n<div><code>.dashBoard {<\/code><\/div>\n<div><code>\u00a0 width: calc(80% - 2rem);<\/code><\/div>\n<div><code>\u00a0 padding: 1rem;<\/code><\/div>\n<div><code>\u00a0 display: grid;<\/code><\/div>\n<div><code>\u00a0 grid-template-columns: repeat(3, 1fr);<\/code><\/div>\n<div><code>\u00a0 gap: 1rem;<\/code><\/div>\n<div><code>}<\/code><\/div>\n<div><code>.card {<\/code><\/div>\n<div><code>\u00a0 display: flex;<\/code><\/div>\n<div><code>\u00a0 flex-direction: column;<\/code><\/div>\n<div><code>\u00a0 gap: 0.3rem;<\/code><\/div>\n<div><code>\u00a0 padding: 0.5rem;<\/code><\/div>\n<div><code>}<\/code><\/div>\n<div><code>.card p {<\/code><\/div>\n<div><code>\u00a0 font-size: 0.9rem;<\/code><\/div>\n<div><code>\u00a0 line-height: 1rem;<\/code><\/div>\n<div><code>\u00a0 font-weight: 600;<\/code><\/div>\n<div><code>\u00a0 letter-spacing: 0.0605rem;<\/code><\/div>\n<div><code>\u00a0 color: var(--orange);<\/code><\/div>\n<div><code>}<\/code><\/div>\n<div><code>.css-text-mask {<\/code><\/div>\n<div><code>\u00a0 text-align: left;<\/code><\/div>\n<div><code>\u00a0 font-family: basic-sans, sans-serif;<\/code><\/div>\n<div><code>\u00a0 font-size: 5rem;<\/code><\/div>\n<div><code>\u00a0 line-height: 5rem;<\/code><\/div>\n<div><code>\u00a0 font-weight: 800;<\/code><\/div>\n<div><code>\u00a0 background-position: 0px 0px;<\/code><\/div>\n<div><code>\u00a0 animation: animatedBackground 60s linear infinite normal;<\/code><\/div>\n<div><code>\u00a0 background-clip: text;<\/code><\/div>\n<div><code>\u00a0 -webkit-text-fill-color: #0000;<\/code><\/div>\n<div><code>\u00a0 background-size: 50%;<\/code><\/div>\n<div><code>\u00a0 -webkit-text-stroke-width: 1px;<\/code><\/div>\n<div><code>\u00a0 -webkit-text-stroke-color: #ffffff;<\/code><\/div>\n<div><code>}<\/code><\/div>\n<div><code>.css-text-mask {<\/code><\/div>\n<div><code>\u00a0 white-space: nowrap;<\/code><\/div>\n<div><code>\u00a0 overflow: hidden;<\/code><\/div>\n<div><code>\u00a0 text-overflow: ellipsis;<\/code><\/div>\n<div><code>}<\/code><\/div>\n<div><code>.mask-one {<\/code><\/div>\n<div><code>\u00a0 background-image: url(cripto-azul.jpg);<\/code><\/div>\n<div><code>}<\/code><\/div>\n<div><code>.mask-two {<\/code><\/div>\n<div><code>\u00a0 background-image: url(cripto-dourado.jpg);<\/code><\/div>\n<div><code>}<\/code><\/div>\n<div><code>.mask-three {<\/code><\/div>\n<div><code>\u00a0 background-image: url(cripto-verde.webp);<\/code><\/div>\n<div><code>\u00a0 text-transform: lowercase;<\/code><\/div>\n<div><code>}<\/code><\/div>\n<div><code>.mask-four {<\/code><\/div>\n<div><code>\u00a0 background-image: url(cripto-roxo.webp);<\/code><\/div>\n<div><code>}<\/code><\/div>\n<div><code>.modal {<\/code><\/div>\n<div><code>\u00a0 display: none;<\/code><\/div>\n<div><code>\u00a0 position: fixed;<\/code><\/div>\n<div><code>\u00a0 top: 0;<\/code><\/div>\n<div><code>\u00a0 left: 0;<\/code><\/div>\n<div><code>\u00a0 width: 100%;<\/code><\/div>\n<div><code>\u00a0 height: 100%;<\/code><\/div>\n<div><code>\u00a0 background-color: rgba(0, 0, 0, 0.5);<\/code><\/div>\n<div><code>\u00a0 justify-content: center;<\/code><\/div>\n<div><code>\u00a0 align-items: center;<\/code><\/div>\n<div><code>}<\/code><\/div>\n<div><code>.modal-content {<\/code><\/div>\n<div><code>\u00a0 padding: 1rem;<\/code><\/div>\n<div><code>\u00a0 display: flex;<\/code><\/div>\n<div><code>\u00a0 flex-direction: column;<\/code><\/div>\n<div><code>\u00a0 align-items: center;<\/code><\/div>\n<div><code>\u00a0 gap: 0.4rem;<\/code><\/div>\n<div><code>\u00a0 border: 2px solid var(--gray);<\/code><\/div>\n<div><code>\u00a0 border-radius: 4px;<\/code><\/div>\n<div><code>\u00a0 background: var(--dark);<\/code><\/div>\n<div><code>\u00a0 box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);<\/code><\/div>\n<div><code>\u00a0 color: var(--green);<\/code><\/div>\n<div><code>\u00a0 font-size: 0.8rem;<\/code><\/div>\n<div><code>\u00a0 font-weight: 600;<\/code><\/div>\n<div><code>\u00a0 letter-spacing: 0.125rem;<\/code><\/div>\n<div><code>}<\/code><\/div>\n<div><code>.loader {<\/code><\/div>\n<div><code>\u00a0 border: 8px solid var(--gray);<\/code><\/div>\n<div><code>\u00a0 border-top: 8px solid var(--green);<\/code><\/div>\n<div><code>\u00a0 border-radius: 50%;<\/code><\/div>\n<div><code>\u00a0 width: 3rem;<\/code><\/div>\n<div><code>\u00a0 height: 3rem;<\/code><\/div>\n<div><code>\u00a0 animation: loader-spin 1s linear infinite;<\/code><\/div>\n<div><code>}<\/code><\/div>\n<div><code>@keyframes loader-spin {<\/code><\/div>\n<div><code>\u00a0 0% {<\/code><\/div>\n<div><code>\u00a0 \u00a0 transform: rotate(0deg);<\/code><\/div>\n<div><code>\u00a0 }<\/code><\/div>\n<div><code>\u00a0 100% {<\/code><\/div>\n<div><code>\u00a0 \u00a0 transform: rotate(360deg);<\/code><\/div>\n<div><code>\u00a0 }<\/code><\/div>\n<div><code>}<\/code><\/div>\n<div><code>@keyframes animatedBackground {<\/code><\/div>\n<div><code>\u00a0 0% {<\/code><\/div>\n<div><code>\u00a0 \u00a0 background-position: 0 0;<\/code><\/div>\n<div><code>\u00a0 }<\/code><\/div>\n<div><code>\u00a0 100% {<\/code><\/div>\n<div><code>\u00a0 \u00a0 background-position: 500px 0;<\/code><\/div>\n<div><code>\u00a0 }<\/code><\/div>\n<div><code>}<\/code><\/div>\n<div><code>@keyframes float {<\/code><\/div>\n<div><code>\u00a0 0% {<\/code><\/div>\n<div><code>\u00a0 \u00a0 transform: translateY(0);<\/code><\/div>\n<div><code>\u00a0 }<\/code><\/div>\n<div><code>\u00a0 50% {<\/code><\/div>\n<div><code>\u00a0 \u00a0 transform: translateY(-10px); \/* Move para cima *\/<\/code><\/div>\n<div><code>\u00a0 }<\/code><\/div>\n<div><code>\u00a0 100% {<\/code><\/div>\n<div><code>\u00a0 \u00a0 transform: translateY(0);<\/code><\/div>\n<div><code>\u00a0 }<\/code><\/div>\n<div><code>}<\/code><\/div>\n<div><code>@media (max-width: 1800px) {<\/code><\/div>\n<div><code>\u00a0 .css-text-mask {<\/code><\/div>\n<div><code>\u00a0 \u00a0 font-size: 4.2rem;<\/code><\/div>\n<div><code>\u00a0 }<\/code><\/div>\n<div><code>}<\/code><\/div>\n<div><code>@media (max-width: 1020px) {<\/code><\/div>\n<div><code>\u00a0 .css-text-mask {<\/code><\/div>\n<div><code>\u00a0 \u00a0 font-size: 3rem;<\/code><\/div>\n<div><code>\u00a0 }<\/code><\/div>\n<div><code>}<\/code><\/div>\n<div><code>@media (max-width: 768px) {<\/code><\/div>\n<div><code>\u00a0 .css-text-mask {<\/code><\/div>\n<div><code>\u00a0 \u00a0 font-size: 1.2rem;<\/code><\/div>\n<div><code>\u00a0 }<\/code><\/div>\n<div><code>}<\/code><\/div>\n<div><code>@media (max-width: 480px) {<\/code><\/div>\n<div><code>\u00a0 .css-text-mask {<\/code><\/div>\n<div><code>\u00a0 \u00a0 font-size: 1rem;<\/code><\/div>\n<div><code>\u00a0 }<\/code><\/div>\n<div><code>}<\/code><\/div>\n<\/div>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-family: arial, helvetica, sans-serif;\"><strong><span style=\"font-size: 14pt;\">Por ultimo adiciono o script\u00a0 que ir\u00e1 obter a cota\u00e7\u00e3o da moeda:<\/span><\/strong><\/span><\/p>\n<p>&nbsp;<\/p>\n<div>\n<div><code>const input = document.getElementById(\"filter-input\");<\/code><\/div>\n<div><code>const dropdown = document.querySelector(\".select-dropdown\");<\/code><\/div>\n<div><code>const optionsList = document.getElementById(\"optionsList\");<\/code><\/div>\n<div><code>const searchButton = document.getElementById(\"searchButton\");<\/code><\/div>\n<div><code>const dashBoard = document.getElementById(\"dashBoard\");<\/code><\/div>\n<div><code>const loadingModal = document.getElementById(\"loadingModal\");<\/code><\/div>\n<div><code>let selectedCripto = null;<\/code><\/div>\n<div><code>const optionsCripto = [<\/code><\/div>\n<div><code>\u00a0 { label: \"Bitcoin\", value: \"BTC\" },<\/code><\/div>\n<div><code>\u00a0 { label: \"Ethereum\", value: \"ETH\" },<\/code><\/div>\n<div><code>\u00a0 { label: \"Litecoin\", value: \"LTC\" },<\/code><\/div>\n<div><code>\u00a0 { label: \"Ripple\", value: \"XRP\" },<\/code><\/div>\n<div><code>\u00a0 { label: \"Cardano\", value: \"ADA\" },<\/code><\/div>\n<div><code>];<\/code><\/div>\n<div><code>function filterOptions() {<\/code><\/div>\n<div><code>\u00a0 const filter = input.value.toLowerCase();<\/code><\/div>\n<div><code>\u00a0 const options = optionsList.getElementsByTagName(\"li\");<\/code><\/div>\n<div><code>\u00a0 let hasVisibleOption = false;<\/code><\/div>\n<div><code>\u00a0 Array.from(options).forEach((option) =&gt; {<\/code><\/div>\n<div><code>\u00a0 \u00a0 const optionText = option.textContent || option.innerText;<\/code><\/div>\n<div><code>\u00a0 \u00a0 if (optionText.toLowerCase().includes(filter)) {<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 option.style.display = \"\";<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 hasVisibleOption = true;<\/code><\/div>\n<div><code>\u00a0 \u00a0 } else {<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 option.style.display = \"none\";<\/code><\/div>\n<div><code>\u00a0 \u00a0 }<\/code><\/div>\n<div><code>\u00a0 });<\/code><\/div>\n<div><code>\u00a0 toggleDropdown(hasVisibleOption);<\/code><\/div>\n<div><code>}<\/code><\/div>\n<div><code>function selectOption(optionText, optionValue) {<\/code><\/div>\n<div><code>\u00a0 input.value = optionText;<\/code><\/div>\n<div><code>\u00a0 selectedCripto = optionValue;<\/code><\/div>\n<div><code>\u00a0 toggleDropdown(false);<\/code><\/div>\n<div><code>}<\/code><\/div>\n<div><code>function toggleDropdown(show) {<\/code><\/div>\n<div><code>\u00a0 dropdown.style.display = show ? \"block\" : \"none\";<\/code><\/div>\n<div><code>}<\/code><\/div>\n<div><code>\/\/ Eventos<\/code><\/div>\n<div><code>\/\/ Adiciona o evento global de clique para fechar o dropdown ao clicar fora<\/code><\/div>\n<div><code>document.addEventListener(\"click\", function (event) {<\/code><\/div>\n<div><code>\u00a0 if (!input.contains(event.target) &amp;&amp; !dropdown.contains(event.target)) {<\/code><\/div>\n<div><code>\u00a0 \u00a0 toggleDropdown(false); \/\/ Fecha o dropdown<\/code><\/div>\n<div><code>\u00a0 }<\/code><\/div>\n<div><code>});<\/code><\/div>\n<div><code>\/\/ Adiciona evento para filtrar op\u00e7\u00f5es<\/code><\/div>\n<div><code>input.addEventListener(\"input\", filterOptions);<\/code><\/div>\n<div><code>\/\/ Exibe o dropdown ao focar no input<\/code><\/div>\n<div><code>input.addEventListener(\"focus\", () =&gt; toggleDropdown(true));<\/code><\/div>\n<div><code>\/\/ Adiciona evento de clique para cada op\u00e7\u00e3o da lista<\/code><\/div>\n<div><code>optionsList.addEventListener(\"click\", (event) =&gt; {<\/code><\/div>\n<div><code>\u00a0 if (event.target.tagName === \"LI\") {<\/code><\/div>\n<div><code>\u00a0 \u00a0 const optionText = event.target.textContent || event.target.innerText;<\/code><\/div>\n<div><code>\u00a0 \u00a0 const optionValue = event.target.dataset.value;<\/code><\/div>\n<div><code>\u00a0 \u00a0 selectOption(optionText, optionValue);<\/code><\/div>\n<div><code>\u00a0 }<\/code><\/div>\n<div><code>});<\/code><\/div>\n<div><code>searchButton.addEventListener(\"click\", async () =&gt; {<\/code><\/div>\n<div><code>\u00a0 showLoading();<\/code><\/div>\n<div><code>\u00a0 if (selectedCripto) {<\/code><\/div>\n<div><code>\u00a0 \u00a0 const criptoInfo = await getCotacao(selectedCripto);<\/code><\/div>\n<div><code>\u00a0 \u00a0 updateCards(criptoInfo);<\/code><\/div>\n<div><code>\u00a0 } else {<\/code><\/div>\n<div><code>\u00a0 \u00a0 alert(\"Selecione uma criptomoeda antes de buscar a cota\u00e7\u00e3o.\");<\/code><\/div>\n<div><code>\u00a0 }<\/code><\/div>\n<div><code>\u00a0 hideLoading();<\/code><\/div>\n<div><code>});<\/code><\/div>\n<div><code>async function loadOptions() {<\/code><\/div>\n<div><code>\u00a0 try {<\/code><\/div>\n<div><code>\u00a0 \u00a0 const optionsHTML = optionsCripto<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 .map((option) =&gt; `&lt;li data-value=\"${option.value}\"&gt;${option.label}&lt;\/li&gt;`)<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 .join(\"\");<\/code><\/div>\n<div><code>\u00a0 \u00a0 optionsList.innerHTML = optionsHTML;<\/code><\/div>\n<div><code>\u00a0 } catch (error) {<\/code><\/div>\n<div><code>\u00a0 \u00a0 console.error(\"Erro ao carregar op\u00e7\u00f5es:\", error);<\/code><\/div>\n<div><code>\u00a0 }<\/code><\/div>\n<div><code>}<\/code><\/div>\n<div><code>loadOptions();<\/code><\/div>\n<div><code>async function fetchData(url) {<\/code><\/div>\n<div><code>\u00a0 const response = await fetch(url);<\/code><\/div>\n<div><code>\u00a0 if (!response.ok) {<\/code><\/div>\n<div><code>\u00a0 \u00a0 throw new Error(`Erro ao buscar dados: ${response.status}`);<\/code><\/div>\n<div><code>\u00a0 }<\/code><\/div>\n<div><code>\u00a0 return await response.json();<\/code><\/div>\n<div><code>}<\/code><\/div>\n<div><code>async function getCotacao(cripto) {<\/code><\/div>\n<div><code>\u00a0 try {<\/code><\/div>\n<div><code>\u00a0 \u00a0 const [criptoInfoData, criptoCotacaoData] = await Promise.all([<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 fetchData(<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 \u00a0 `https:\/\/api.mercadobitcoin.net\/api\/v4\/symbols?symbols=${cripto}-BRL`<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 ),<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 fetchData(<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 \u00a0 `https:\/\/api.mercadobitcoin.net\/api\/v4\/tickers?symbols=${cripto}-BRL`<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 ),<\/code><\/div>\n<div><code>\u00a0 \u00a0 ]);<\/code><\/div>\n<div><code>\u00a0 \u00a0 \/\/ Extra\u00e7\u00e3o e formata\u00e7\u00e3o dos dados<\/code><\/div>\n<div><code>\u00a0 \u00a0 const { \"base-currency\": symbol, description, type } = criptoInfoData;<\/code><\/div>\n<div><code>\u00a0 \u00a0 const { open, last, vol } = criptoCotacaoData[0];<\/code><\/div>\n<div><code>\u00a0 \u00a0 const variation =<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 ((parseFloat(last) - parseFloat(open)) \/ parseFloat(open)) * 100; \u00a0<\/code><\/div>\n<div><code>\u00a0 \u00a0 const criptoInfo = {<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 symbol: symbol[0],<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 description: description[0],<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 type: type[0],<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 lastValue: last,<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 variation: variation,<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 volume: vol,<\/code><\/div>\n<div><code>\u00a0 \u00a0 };<\/code><\/div>\n<div><code><\/code><\/div>\n<div><code>\u00a0 \u00a0 \/\/ Exibe o resultado no console<\/code><\/div>\n<div><code>\u00a0 \u00a0 console.log(\"Informa\u00e7\u00f5es da Criptomoeda:\", criptoInfo);<\/code><\/div>\n<div><code>\u00a0 \u00a0 return criptoInfo;<\/code><\/div>\n<div><code>\u00a0 } catch (error) {<\/code><\/div>\n<div><code>\u00a0 \u00a0 console.error(\"Erro ao buscar dados da criptomoeda:\", error);<\/code><\/div>\n<div><code>\u00a0 \u00a0 return null;<\/code><\/div>\n<div><code>\u00a0 }<\/code><\/div>\n<div><code>}<\/code><\/div>\n<div><code>const updateCards = (criptoInfo) =&gt; {<\/code><\/div>\n<div><code>\u00a0 const cardData = [<\/code><\/div>\n<div><code>\u00a0 \u00a0 {<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 label: \"Ativo Selecionado\",<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 value: criptoInfo.description,<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 maskClass: \"mask-one\",<\/code><\/div>\n<div><code>\u00a0 \u00a0 },<\/code><\/div>\n<div><code>\u00a0 \u00a0 { label: \"Ticker\", value: criptoInfo.symbol, maskClass: \"mask-two\" },<\/code><\/div>\n<div><code>\u00a0 \u00a0 {<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 label: \"\u00daltima cota\u00e7\u00e3o em (R$)\",<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 value: formatNumber(criptoInfo.lastValue),<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 maskClass: \"mask-three\",<\/code><\/div>\n<div><code>\u00a0 \u00a0 },<\/code><\/div>\n<div><code>\u00a0 \u00a0 { label: \"Segmento\", value: criptoInfo.type, maskClass: \"mask-three\" },<\/code><\/div>\n<div><code>\u00a0 \u00a0 {<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 label: \"Varia\u00e7\u00e3o em 24H\",<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 value: formatPercent(criptoInfo.variation),<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 maskClass: \"mask-four\",<\/code><\/div>\n<div><code>\u00a0 \u00a0 },<\/code><\/div>\n<div><code>\u00a0 \u00a0 {<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 label: \"Volume Movimentado\",<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 value: formatNumber(criptoInfo.volume),<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 maskClass: \"mask-one\",<\/code><\/div>\n<div><code>\u00a0 \u00a0 },<\/code><\/div>\n<div><code>\u00a0 ];<\/code><\/div>\n<div><code>\u00a0 const dashBoardCards = cardData<\/code><\/div>\n<div><code>\u00a0 \u00a0 .map((data) =&gt; createCard(data.label, data.value, data.maskClass))<\/code><\/div>\n<div><code>\u00a0 \u00a0 .join(\"\");<\/code><\/div>\n<div><code>\u00a0 dashBoard.innerHTML = dashBoardCards;<\/code><\/div>\n<div><code>};<\/code><\/div>\n<div><code>const formatNumber = (number) =&gt; {<\/code><\/div>\n<div><code>\u00a0 number = Number(number);<\/code><\/div>\n<div><code>\u00a0 if (number &gt;= 1e9) {<\/code><\/div>\n<div><code>\u00a0 \u00a0 return (number \/ 1e9).toFixed(0) + \"B\"; \/\/ Bilh\u00f5es<\/code><\/div>\n<div><code>\u00a0 } else if (number &gt;= 1e6) {<\/code><\/div>\n<div><code>\u00a0 \u00a0 return (number \/ 1e6).toFixed(0) + \"M\"; \/\/ Milh\u00f5es<\/code><\/div>\n<div><code>\u00a0 } else if (number &gt;= 1e3) {<\/code><\/div>\n<div><code>\u00a0 \u00a0 return (number \/ 1e3).toFixed(0) + \"K\"; \/\/ Milhar<\/code><\/div>\n<div><code>\u00a0 }<\/code><\/div>\n<div><code>\u00a0 return formatNumberPTBR(number);<\/code><\/div>\n<div><code>};<\/code><\/div>\n<div><code>const formatPercent = (number) =&gt; {<\/code><\/div>\n<div><code>\u00a0 return `${formatNumberPTBR(number)}%`;<\/code><\/div>\n<div><code>};<\/code><\/div>\n<div><code>const formatNumberPTBR = (number) =&gt; {<\/code><\/div>\n<div><code>\u00a0 const formatter = new Intl.NumberFormat(\"pt-BR\", {<\/code><\/div>\n<div><code>\u00a0 \u00a0 minimumFractionDigits: 2,<\/code><\/div>\n<div><code>\u00a0 \u00a0 maximumFractionDigits: 2,<\/code><\/div>\n<div><code>\u00a0 });<\/code><\/div>\n<div><code>\u00a0 return formatter.format(number);<\/code><\/div>\n<div><code>};<\/code><\/div>\n<div><code>const createCard = (label, value, maskClass) =&gt; {<\/code><\/div>\n<div><code>\u00a0 return `<\/code><\/div>\n<div><code>\u00a0 \u00a0 &lt;div class=\"card\"&gt;<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 \u00a0 &lt;div class=\"css-text-mask ${maskClass}\"&gt;${value}&lt;\/div&gt;<\/code><\/div>\n<div><code>\u00a0 \u00a0 \u00a0 \u00a0 &lt;p&gt;${label}&lt;\/p&gt;<\/code><\/div>\n<div><code>\u00a0 \u00a0 &lt;\/div&gt;<\/code><\/div>\n<div><code>\u00a0 `;<\/code><\/div>\n<div><code>};<\/code><\/div>\n<div><code>const showLoading = () =&gt; {<\/code><\/div>\n<div><code>\u00a0 loadingModal.style.display = \"flex\";<\/code><\/div>\n<div><code>};<\/code><\/div>\n<div><code>const hideLoading = () =&gt; {<\/code><\/div>\n<div><code>\u00a0 loadingModal.style.display = \"none\";<\/code><\/div>\n<div><code>};<\/code><\/div>\n<\/div>\n<p>&nbsp;<\/p>\n<p><span style=\"font-family: arial, helvetica, sans-serif;\"><strong><span style=\"font-size: 14pt;\">Voc\u00ea pode visualizar o componente no link abaixo:<\/span><\/strong><\/span><\/p>\n<p><strong><span style=\"font-family: arial, helvetica, sans-serif; font-size: 12pt;\"><a href=\"https:\/\/urutaudev.com.br\/aplicativos\/cripto-dasboard\/\">DashBoard Cripto<\/a>\u00a0<\/span><\/strong><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-family: arial, helvetica, sans-serif;\"><strong><span style=\"font-size: 14pt;\">Deixo aqui um v\u00eddeo curto do processo de cria\u00e7\u00e3o do DashBoard:<\/span><\/strong><\/span><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><iframe loading=\"lazy\" title=\"Create Cripto Dashboard - Example in Javascript\" width=\"800\" height=\"450\" src=\"https:\/\/www.youtube.com\/embed\/GmHEtLKOPhU?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/p>\n<h2><\/h2>\n<h2><\/h2>\n<h2><span style=\"font-family: arial, helvetica, sans-serif;\">Conclus\u00e3o<\/span><\/h2>\n<p><span style=\"font-size: 14pt; font-family: arial, helvetica, sans-serif;\">Com esses simples\u00a0 passos, voc\u00ea consegue de forma r\u00e1pida criar um Cripto Dashboard, usando apenas HTML e CSS.\u00a0 Caso necessite voc\u00ea pode personalizar estilizar conforme a sua necessidade.<\/span><\/p>\n<p>&nbsp;<\/p>\n<h3><span style=\"font-family: arial, helvetica, sans-serif; font-size: 12pt;\">C\u00f3digo fonte do <a href=\"https:\/\/urutaudev.com.br\/index.php\/category\/tutorias\/\">tutorial <\/a>\u00a0do Dashboard em Javascript:<\/span><\/h3>\n<p><span style=\"font-family: arial, helvetica, sans-serif; font-size: 12pt;\"><strong><a href=\"https:\/\/github.com\/JrDevCJ\/javascript-apps\/tree\/main\/cripto-dasboard\" target=\"_blank\" rel=\"noopener\">C\u00f3digo Fonte<\/a><\/strong><\/span><\/p>\n<p><span style=\"font-family: arial, helvetica, sans-serif; font-size: 18pt;\">Refer\u00eancias<\/span><\/p>\n<h3><a href=\"https:\/\/api.mercadobitcoin.net\/api\/v4\/docs\">Api Mercado Bitcoin<\/a><\/h3>\n","protected":false},"excerpt":{"rendered":"<p>&nbsp; &nbsp; Introdu\u00e7\u00e3o Neste tutorial, voc\u00ea aprender\u00e1 a criar um Cripto Dashboard utilizando apenas HTML, CSS e JavaScript, sem a<\/p>\n","protected":false},"author":1,"featured_media":731,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"colormag_page_container_layout":"default_layout","colormag_page_sidebar_layout":"default_layout","footnotes":""},"categories":[14,5],"tags":[],"class_list":["post-729","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-javascript","category-tutorias"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Cripto Dashboard em Javascript - UrutauDev<\/title>\n<meta name=\"description\" content=\"Neste tutorial, vou mostrar como implementar um Cripto Dashboard em Javascript,\u00a0 utilizando apenas html, css e Javascritpt.\u00a0\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/urutaudev.com.br\/index.php\/2024\/11\/28\/cripto-dashboard-em-javascript\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Cripto Dashboard em Javascript - UrutauDev\" \/>\n<meta property=\"og:description\" content=\"Neste tutorial, vou mostrar como implementar um Cripto Dashboard em Javascript,\u00a0 utilizando apenas html, css e Javascritpt.\u00a0\" \/>\n<meta property=\"og:url\" content=\"https:\/\/urutaudev.com.br\/index.php\/2024\/11\/28\/cripto-dashboard-em-javascript\/\" \/>\n<meta property=\"og:site_name\" content=\"UrutauDev\" \/>\n<meta property=\"article:published_time\" content=\"2024-11-28T23:20:28+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-11-28T23:28:44+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/urutaudev.com.br\/wp-content\/uploads\/2024\/11\/dash.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1166\" \/>\n\t<meta property=\"og:image:height\" content=\"552\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"C. Junior\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"C. Junior\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/urutaudev.com.br\\\/index.php\\\/2024\\\/11\\\/28\\\/cripto-dashboard-em-javascript\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/urutaudev.com.br\\\/index.php\\\/2024\\\/11\\\/28\\\/cripto-dashboard-em-javascript\\\/\"},\"author\":{\"name\":\"C. Junior\",\"@id\":\"https:\\\/\\\/urutaudev.com.br\\\/#\\\/schema\\\/person\\\/7e321618d23a158d5a42d5cfbdd99dd6\"},\"headline\":\"Cripto Dashboard em Javascript\",\"datePublished\":\"2024-11-28T23:20:28+00:00\",\"dateModified\":\"2024-11-28T23:28:44+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/urutaudev.com.br\\\/index.php\\\/2024\\\/11\\\/28\\\/cripto-dashboard-em-javascript\\\/\"},\"wordCount\":270,\"commentCount\":2,\"publisher\":{\"@id\":\"https:\\\/\\\/urutaudev.com.br\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/urutaudev.com.br\\\/index.php\\\/2024\\\/11\\\/28\\\/cripto-dashboard-em-javascript\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/urutaudev.com.br\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/dash.jpg\",\"articleSection\":[\"Javascript\",\"Tutorias\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/urutaudev.com.br\\\/index.php\\\/2024\\\/11\\\/28\\\/cripto-dashboard-em-javascript\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/urutaudev.com.br\\\/index.php\\\/2024\\\/11\\\/28\\\/cripto-dashboard-em-javascript\\\/\",\"url\":\"https:\\\/\\\/urutaudev.com.br\\\/index.php\\\/2024\\\/11\\\/28\\\/cripto-dashboard-em-javascript\\\/\",\"name\":\"Cripto Dashboard em Javascript - UrutauDev\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/urutaudev.com.br\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/urutaudev.com.br\\\/index.php\\\/2024\\\/11\\\/28\\\/cripto-dashboard-em-javascript\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/urutaudev.com.br\\\/index.php\\\/2024\\\/11\\\/28\\\/cripto-dashboard-em-javascript\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/urutaudev.com.br\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/dash.jpg\",\"datePublished\":\"2024-11-28T23:20:28+00:00\",\"dateModified\":\"2024-11-28T23:28:44+00:00\",\"description\":\"Neste tutorial, vou mostrar como implementar um Cripto Dashboard em Javascript,\u00a0 utilizando apenas html, css e Javascritpt.\u00a0\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/urutaudev.com.br\\\/index.php\\\/2024\\\/11\\\/28\\\/cripto-dashboard-em-javascript\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/urutaudev.com.br\\\/index.php\\\/2024\\\/11\\\/28\\\/cripto-dashboard-em-javascript\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/urutaudev.com.br\\\/index.php\\\/2024\\\/11\\\/28\\\/cripto-dashboard-em-javascript\\\/#primaryimage\",\"url\":\"https:\\\/\\\/urutaudev.com.br\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/dash.jpg\",\"contentUrl\":\"https:\\\/\\\/urutaudev.com.br\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/dash.jpg\",\"width\":1166,\"height\":552,\"caption\":\"Cripto Dashboard em Javascript\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/urutaudev.com.br\\\/index.php\\\/2024\\\/11\\\/28\\\/cripto-dashboard-em-javascript\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"In\u00edcio\",\"item\":\"https:\\\/\\\/urutaudev.com.br\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Cripto Dashboard em Javascript\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/urutaudev.com.br\\\/#website\",\"url\":\"https:\\\/\\\/urutaudev.com.br\\\/\",\"name\":\"UrutauDev\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/urutaudev.com.br\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/urutaudev.com.br\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/urutaudev.com.br\\\/#organization\",\"name\":\"UrutauDev\",\"url\":\"https:\\\/\\\/urutaudev.com.br\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/urutaudev.com.br\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/urutaudev.com.br\\\/wp-content\\\/uploads\\\/2023\\\/08\\\/cropped-urutau-dev-logo.png\",\"contentUrl\":\"https:\\\/\\\/urutaudev.com.br\\\/wp-content\\\/uploads\\\/2023\\\/08\\\/cropped-urutau-dev-logo.png\",\"width\":100,\"height\":84,\"caption\":\"UrutauDev\"},\"image\":{\"@id\":\"https:\\\/\\\/urutaudev.com.br\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/urutaudev.com.br\\\/#\\\/schema\\\/person\\\/7e321618d23a158d5a42d5cfbdd99dd6\",\"name\":\"C. Junior\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/e7df4c63012e2f6991311d4037bdc57752b996058cf1396747a7ab74e8ac032e?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/e7df4c63012e2f6991311d4037bdc57752b996058cf1396747a7ab74e8ac032e?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/e7df4c63012e2f6991311d4037bdc57752b996058cf1396747a7ab74e8ac032e?s=96&d=mm&r=g\",\"caption\":\"C. Junior\"},\"sameAs\":[\"http:\\\/\\\/urutaudev.com.br\",\"instagram.com\\\/urutautec\",\"https:\\\/\\\/www.youtube.com\\\/channel\\\/UC8pDLb5GaYBAoWwQkIzrhRw\"],\"url\":\"https:\\\/\\\/urutaudev.com.br\\\/index.php\\\/author\\\/urutaudev-com-br\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Cripto Dashboard em Javascript - UrutauDev","description":"Neste tutorial, vou mostrar como implementar um Cripto Dashboard em Javascript,\u00a0 utilizando apenas html, css e Javascritpt.\u00a0","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/urutaudev.com.br\/index.php\/2024\/11\/28\/cripto-dashboard-em-javascript\/","og_locale":"en_US","og_type":"article","og_title":"Cripto Dashboard em Javascript - UrutauDev","og_description":"Neste tutorial, vou mostrar como implementar um Cripto Dashboard em Javascript,\u00a0 utilizando apenas html, css e Javascritpt.\u00a0","og_url":"https:\/\/urutaudev.com.br\/index.php\/2024\/11\/28\/cripto-dashboard-em-javascript\/","og_site_name":"UrutauDev","article_published_time":"2024-11-28T23:20:28+00:00","article_modified_time":"2024-11-28T23:28:44+00:00","og_image":[{"width":1166,"height":552,"url":"https:\/\/urutaudev.com.br\/wp-content\/uploads\/2024\/11\/dash.jpg","type":"image\/jpeg"}],"author":"C. Junior","twitter_card":"summary_large_image","twitter_misc":{"Written by":"C. Junior","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/urutaudev.com.br\/index.php\/2024\/11\/28\/cripto-dashboard-em-javascript\/#article","isPartOf":{"@id":"https:\/\/urutaudev.com.br\/index.php\/2024\/11\/28\/cripto-dashboard-em-javascript\/"},"author":{"name":"C. Junior","@id":"https:\/\/urutaudev.com.br\/#\/schema\/person\/7e321618d23a158d5a42d5cfbdd99dd6"},"headline":"Cripto Dashboard em Javascript","datePublished":"2024-11-28T23:20:28+00:00","dateModified":"2024-11-28T23:28:44+00:00","mainEntityOfPage":{"@id":"https:\/\/urutaudev.com.br\/index.php\/2024\/11\/28\/cripto-dashboard-em-javascript\/"},"wordCount":270,"commentCount":2,"publisher":{"@id":"https:\/\/urutaudev.com.br\/#organization"},"image":{"@id":"https:\/\/urutaudev.com.br\/index.php\/2024\/11\/28\/cripto-dashboard-em-javascript\/#primaryimage"},"thumbnailUrl":"https:\/\/urutaudev.com.br\/wp-content\/uploads\/2024\/11\/dash.jpg","articleSection":["Javascript","Tutorias"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/urutaudev.com.br\/index.php\/2024\/11\/28\/cripto-dashboard-em-javascript\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/urutaudev.com.br\/index.php\/2024\/11\/28\/cripto-dashboard-em-javascript\/","url":"https:\/\/urutaudev.com.br\/index.php\/2024\/11\/28\/cripto-dashboard-em-javascript\/","name":"Cripto Dashboard em Javascript - UrutauDev","isPartOf":{"@id":"https:\/\/urutaudev.com.br\/#website"},"primaryImageOfPage":{"@id":"https:\/\/urutaudev.com.br\/index.php\/2024\/11\/28\/cripto-dashboard-em-javascript\/#primaryimage"},"image":{"@id":"https:\/\/urutaudev.com.br\/index.php\/2024\/11\/28\/cripto-dashboard-em-javascript\/#primaryimage"},"thumbnailUrl":"https:\/\/urutaudev.com.br\/wp-content\/uploads\/2024\/11\/dash.jpg","datePublished":"2024-11-28T23:20:28+00:00","dateModified":"2024-11-28T23:28:44+00:00","description":"Neste tutorial, vou mostrar como implementar um Cripto Dashboard em Javascript,\u00a0 utilizando apenas html, css e Javascritpt.\u00a0","breadcrumb":{"@id":"https:\/\/urutaudev.com.br\/index.php\/2024\/11\/28\/cripto-dashboard-em-javascript\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/urutaudev.com.br\/index.php\/2024\/11\/28\/cripto-dashboard-em-javascript\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/urutaudev.com.br\/index.php\/2024\/11\/28\/cripto-dashboard-em-javascript\/#primaryimage","url":"https:\/\/urutaudev.com.br\/wp-content\/uploads\/2024\/11\/dash.jpg","contentUrl":"https:\/\/urutaudev.com.br\/wp-content\/uploads\/2024\/11\/dash.jpg","width":1166,"height":552,"caption":"Cripto Dashboard em Javascript"},{"@type":"BreadcrumbList","@id":"https:\/\/urutaudev.com.br\/index.php\/2024\/11\/28\/cripto-dashboard-em-javascript\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"In\u00edcio","item":"https:\/\/urutaudev.com.br\/"},{"@type":"ListItem","position":2,"name":"Cripto Dashboard em Javascript"}]},{"@type":"WebSite","@id":"https:\/\/urutaudev.com.br\/#website","url":"https:\/\/urutaudev.com.br\/","name":"UrutauDev","description":"","publisher":{"@id":"https:\/\/urutaudev.com.br\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/urutaudev.com.br\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/urutaudev.com.br\/#organization","name":"UrutauDev","url":"https:\/\/urutaudev.com.br\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/urutaudev.com.br\/#\/schema\/logo\/image\/","url":"https:\/\/urutaudev.com.br\/wp-content\/uploads\/2023\/08\/cropped-urutau-dev-logo.png","contentUrl":"https:\/\/urutaudev.com.br\/wp-content\/uploads\/2023\/08\/cropped-urutau-dev-logo.png","width":100,"height":84,"caption":"UrutauDev"},"image":{"@id":"https:\/\/urutaudev.com.br\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/urutaudev.com.br\/#\/schema\/person\/7e321618d23a158d5a42d5cfbdd99dd6","name":"C. Junior","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/e7df4c63012e2f6991311d4037bdc57752b996058cf1396747a7ab74e8ac032e?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/e7df4c63012e2f6991311d4037bdc57752b996058cf1396747a7ab74e8ac032e?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/e7df4c63012e2f6991311d4037bdc57752b996058cf1396747a7ab74e8ac032e?s=96&d=mm&r=g","caption":"C. Junior"},"sameAs":["http:\/\/urutaudev.com.br","instagram.com\/urutautec","https:\/\/www.youtube.com\/channel\/UC8pDLb5GaYBAoWwQkIzrhRw"],"url":"https:\/\/urutaudev.com.br\/index.php\/author\/urutaudev-com-br\/"}]}},"_links":{"self":[{"href":"https:\/\/urutaudev.com.br\/index.php\/wp-json\/wp\/v2\/posts\/729","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/urutaudev.com.br\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/urutaudev.com.br\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/urutaudev.com.br\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/urutaudev.com.br\/index.php\/wp-json\/wp\/v2\/comments?post=729"}],"version-history":[{"count":4,"href":"https:\/\/urutaudev.com.br\/index.php\/wp-json\/wp\/v2\/posts\/729\/revisions"}],"predecessor-version":[{"id":737,"href":"https:\/\/urutaudev.com.br\/index.php\/wp-json\/wp\/v2\/posts\/729\/revisions\/737"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/urutaudev.com.br\/index.php\/wp-json\/wp\/v2\/media\/731"}],"wp:attachment":[{"href":"https:\/\/urutaudev.com.br\/index.php\/wp-json\/wp\/v2\/media?parent=729"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/urutaudev.com.br\/index.php\/wp-json\/wp\/v2\/categories?post=729"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/urutaudev.com.br\/index.php\/wp-json\/wp\/v2\/tags?post=729"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}