server
This commit is contained in:
commit
2d4ab00b8f
99 changed files with 7627 additions and 7940 deletions
7
charts/forms.py
Normal file
7
charts/forms.py
Normal file
|
@ -0,0 +1,7 @@
|
|||
from .models import *
|
||||
from django import forms
|
||||
|
||||
class CoinForm(forms.ModelForm):
|
||||
class Meta:
|
||||
model = Coin
|
||||
fields = ['name', 'date', 'priceusd', 'pricebtc', 'inflation', 'transactions', 'hashrate', 'supply', 'fee', 'revenue', 'blocksize', 'difficulty']
|
|
@ -2,15 +2,16 @@ from __future__ import unicode_literals
|
|||
from django.contrib.postgres.fields import ArrayField
|
||||
from django.contrib.auth.models import User
|
||||
from django.db import models
|
||||
from django.forms import BooleanField
|
||||
|
||||
# Create your models here.
|
||||
class Coin(models.Model):
|
||||
name = models.CharField(max_length=4)
|
||||
date = models.DateField()
|
||||
priceusd = models.FloatField()
|
||||
pricebtc = models.FloatField()
|
||||
inflation = models.FloatField()
|
||||
transactions = models.FloatField()
|
||||
name = models.CharField(max_length=4, default="0")
|
||||
date = models.DateField(default="0")
|
||||
priceusd = models.FloatField(default="0")
|
||||
pricebtc = models.FloatField(default="0")
|
||||
inflation = models.FloatField(default="0")
|
||||
transactions = models.FloatField(default="0")
|
||||
hashrate = models.FloatField(default="0")
|
||||
stocktoflow = models.FloatField(default="0")
|
||||
supply = models.FloatField(default="0")
|
||||
|
@ -18,6 +19,7 @@ class Coin(models.Model):
|
|||
revenue = models.FloatField(default="0")
|
||||
blocksize = models.FloatField(default="0")
|
||||
difficulty = models.FloatField(default="0")
|
||||
|
||||
def __str__(self):
|
||||
return self.priceusd
|
||||
|
||||
|
@ -135,4 +137,16 @@ class DailyData(models.Model):
|
|||
crypto_postsPerHour = models.FloatField()
|
||||
|
||||
def __str__(self):
|
||||
return self.date
|
||||
return self.date
|
||||
|
||||
class P2Pool(models.Model):
|
||||
date = models.DateField()
|
||||
mini = models.BooleanField()
|
||||
hashrate = models.IntegerField()
|
||||
percentage = models.FloatField()
|
||||
miners = models.IntegerField()
|
||||
totalhashes = models.IntegerField()
|
||||
totalblocksfound = models.IntegerField()
|
||||
|
||||
def __str__(self):
|
||||
return self.date
|
||||
|
|
204
charts/templates/charts/add_coin.html
Normal file
204
charts/templates/charts/add_coin.html
Normal file
|
@ -0,0 +1,204 @@
|
|||
{% extends "users/base.html" %}
|
||||
{% block header %}
|
||||
|
||||
<title>Moneroj.net - New Article</title>
|
||||
|
||||
<style>
|
||||
.form button {
|
||||
font-family: "Roboto", Sans-serif;
|
||||
outline: 0;
|
||||
background: #ff4d21;
|
||||
width: 100%;
|
||||
border: 0;
|
||||
border-radius: 5px;
|
||||
padding: 5px;
|
||||
color: #ffffff;
|
||||
font-size: 14px;
|
||||
cursor: pointer
|
||||
}
|
||||
|
||||
.form button:hover {
|
||||
background: #d53b14;
|
||||
}
|
||||
</style>
|
||||
|
||||
{% endblock %}
|
||||
{% block content %}
|
||||
|
||||
<br><br><br>
|
||||
<div class="container">
|
||||
|
||||
{% if message %}
|
||||
<div class="alert alert-warning">
|
||||
<strong>
|
||||
<center>{{ message }}</center>
|
||||
</strong>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<h2>Add a new coin:</h2><br>
|
||||
<form class="needs-validation form" action="{% url 'charts:add_coin' %}" method='POST' novalidate>
|
||||
{% csrf_token %}
|
||||
<div class="form-row">
|
||||
<div class="col-md-4 mb-3">
|
||||
<label for="name">Name:</label>
|
||||
<input type="text" class="form-control" name="name" id="id_name" placeholder="Example: xmr" required>
|
||||
<div class="valid-tooltip">
|
||||
OK
|
||||
</div>
|
||||
<div class="invalid-tooltip">
|
||||
This field is required
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-4 mb-3">
|
||||
<label for="date">Date:</label>
|
||||
<input type="date" class="form-control" name="date" id="id_date" placeholder="Example: 2022-01-01" required>
|
||||
<div class="valid-tooltip">
|
||||
OK
|
||||
</div>
|
||||
<div class="invalid-tooltip">
|
||||
This field is required
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-4 mb-3">
|
||||
<label for="priceusd">Price USD:</label>
|
||||
<input type="number" class="form-control" name="priceusd" id="id_priceusd" placeholder="Example: 200,00"
|
||||
required>
|
||||
<div class="valid-tooltip">
|
||||
OK
|
||||
</div>
|
||||
<div class="invalid-tooltip">
|
||||
This field is required
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-row">
|
||||
<div class="col-md-4 mb-3">
|
||||
<label for="pricebtc">Price BTC:</label>
|
||||
<input type="number" class="form-control" name="pricebtc" id="id_pricebtc" placeholder="Example: 0,016"
|
||||
required>
|
||||
<div class="valid-tooltip">
|
||||
OK
|
||||
</div>
|
||||
<div class="invalid-tooltip">
|
||||
This field is required
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-4 mb-3">
|
||||
<label for="inflation">Inflation:</label>
|
||||
<input type="number" class="form-control" name="inflation" id="id_inflation" placeholder="Example: 0,86%"
|
||||
required>
|
||||
<div class="valid-tooltip">
|
||||
OK
|
||||
</div>
|
||||
<div class="invalid-tooltip">
|
||||
This field is required
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-4 mb-3">
|
||||
<label for="transactions">Transactions:</label>
|
||||
<input type="number" class="form-control" name="transactions" id="id_transactions" placeholder="Example: 40000"
|
||||
required>
|
||||
<div class="valid-tooltip">
|
||||
OK
|
||||
</div>
|
||||
<div class="invalid-tooltip">
|
||||
This field is required
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-row">
|
||||
<div class="col-md-4 mb-3">
|
||||
<label for="hashrate">Hashrate:</label>
|
||||
<input type="number" class="form-control" name="hashrate" id="id_hashrate" placeholder="Example: 150000000"
|
||||
required>
|
||||
<div class="valid-tooltip">
|
||||
OK
|
||||
</div>
|
||||
<div class="invalid-tooltip">
|
||||
This field is required
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-4 mb-3">
|
||||
<label for="supply">Supply:</label>
|
||||
<input type="number" class="form-control" name="supply" id="id_supply" placeholder="Example: 21000000" required>
|
||||
<div class="valid-tooltip">
|
||||
OK
|
||||
</div>
|
||||
<div class="invalid-tooltip">
|
||||
This field is required
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-4 mb-3">
|
||||
<label for="difficulty">Difficulty:</label>
|
||||
<input type="text" class="form-control" name="difficulty" id="id_difficulty" placeholder="Example: 00000000"
|
||||
required>
|
||||
<div class="valid-tooltip">
|
||||
OK
|
||||
</div>
|
||||
<div class="invalid-tooltip">
|
||||
This field is required
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-row">
|
||||
<div class="col-md-4 mb-3">
|
||||
<label for="fee">Fee:</label>
|
||||
<input type="number" class="form-control" name="fee" id="id_fee" placeholder="Example: 150 xmr" required>
|
||||
<div class="valid-tooltip">
|
||||
OK
|
||||
</div>
|
||||
<div class="invalid-tooltip">
|
||||
This field is required
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-4 mb-3">
|
||||
<label for="revenue">Revenue:</label>
|
||||
<input type="number" class="form-control" name="revenue" id="id_revenue" placeholder="Example: 150 xmr"
|
||||
required>
|
||||
<div class="valid-tooltip">
|
||||
OK
|
||||
</div>
|
||||
<div class="invalid-tooltip">
|
||||
This field is required
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-4 mb-3">
|
||||
<label for="blocksize">Blocksize:</label>
|
||||
<input type="number" class="form-control" name="blocksize" id="id_blocksize" placeholder="Example: 15 kb"
|
||||
required>
|
||||
<div class="valid-tooltip">
|
||||
OK
|
||||
</div>
|
||||
<div class="invalid-tooltip">
|
||||
This field is required
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-row">
|
||||
<div class="col-md-4 mb-3">
|
||||
<label for="text">Save:</label>
|
||||
<button class="" type="submit">Add</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
<br><br>
|
||||
</div>
|
||||
|
||||
|
||||
<br><br><br>
|
||||
|
||||
{% endblock %}
|
|
@ -1,152 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
{% load static %}
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta content="width=device-width, initial-scale=1.0" name="viewport">
|
||||
|
||||
<title>Moneroj.net</title>
|
||||
<meta content="" name="description">
|
||||
<meta content="" name="keywords">
|
||||
|
||||
<link href="{% static 'css/style.css' %}" rel="stylesheet">
|
||||
<link href="{% static 'img/favicon.png' %}" rel="icon">
|
||||
<link href="{% static 'img/apple-touch-icon.png' %}" rel="apple-touch-icon">
|
||||
<link href="{% static 'vendor/bootstrap/css/bootstrap.min.css' %}" rel="stylesheet">
|
||||
<link href="{% static 'vendor/boxicons/css/boxicons.min.css' %}" rel="stylesheet">
|
||||
|
||||
<style>
|
||||
div.a {
|
||||
word-break: break-all;
|
||||
}
|
||||
|
||||
.color-orange {
|
||||
color: #ff4d21;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<nav class="navbar navbar-expand-lg navbar-light">
|
||||
<div class="container">
|
||||
<a class="navbar-brand" href="{% url 'charts:index' %}"><text class="color-orange">Gazeto</text> Monero<text class="color-orange">j</text> </a>
|
||||
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<span class="navbar-toggler-icon"></span>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse justify-content-end" id="navbarSupportedContent">
|
||||
<ul class="navbar-nav">
|
||||
<li class="nav-item active">
|
||||
<a class="nav-link" href="{% url 'charts:index' %}">Home <span class="sr-only">(current)</span></a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="{% url 'charts:sfmodel' %}">Charts</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="{% url 'charts:articles' %}">Articles</a>
|
||||
</li>
|
||||
<li class="nav-item dropdown" >
|
||||
{% if user.is_authenticated %}
|
||||
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||
Hi, {{ user.username }}.
|
||||
</a>
|
||||
{% else %}
|
||||
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||
Settings
|
||||
</a>
|
||||
{% endif %}
|
||||
<div class="dropdown-menu" aria-labelledby="navbarDropdown">
|
||||
{% if user.is_authenticated %}
|
||||
<a class="nav-link" href="{% url 'users:logout' %}">Logout</a>
|
||||
{% else %}
|
||||
<a class="nav-link" href="{% url 'users:login' %}">Login</a>
|
||||
<a class="nav-link" href="{% url 'users:register' %}">Register</a>
|
||||
{% endif %}
|
||||
<a class="nav-link" href="{% url 'charts:about' %}">About</a>
|
||||
<div class="dropdown-divider"></div>
|
||||
<a class="nav-link" href="{% url 'charts:index' %}">English</a>
|
||||
<a class="nav-link" href="{% url 'charts:fr' %}">French</a>
|
||||
<a class="nav-link" href="{% url 'charts:pt' %}">Portuguese</a>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<!-- ======= Hero Section ======= -->
|
||||
<section id="hero" class="d-flex flex-column justify-content-center align-items-center">
|
||||
<div class="container">
|
||||
<h1>Articles section is not ready yet!
|
||||
</h1>
|
||||
<h2>It's on our plan to build it, but we lack time for now. Check back later.</h2>
|
||||
</div>
|
||||
</section>
|
||||
<!-- End Hero -->
|
||||
|
||||
|
||||
<br><br><br><br><br>
|
||||
<!-- ======= Footer ======= -->
|
||||
<footer id="footer">
|
||||
|
||||
<div class="footer-top">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-6 col-md-6 footer-contact">
|
||||
<h3>Moneroj.net</h3>
|
||||
<p>
|
||||
Developed by <br>
|
||||
Morpheus<br>
|
||||
<strong>Email:</strong> morpheus.anonymous@protonmail.com<br>
|
||||
<strong>Twitter:</strong> CryptoMorpheus_<br>
|
||||
<strong>Github:</strong> cryptomorpheuss<br>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-3 col-md-6 footer-links">
|
||||
<h4>Useful Links</h4>
|
||||
<ul>
|
||||
<li><i class="bx bx-chevron-right"></i> <a href="{% url 'charts:index' %}">Home</a></li>
|
||||
<li><i class="bx bx-chevron-right"></i> <a href="{% url 'charts:sfmodel' %}">Charts</a></li>
|
||||
<li><i class="bx bx-chevron-right"></i> <a href="{% url 'charts:about' %}">About</a></li>
|
||||
<li><i class="bx bx-chevron-right"></i> <a href="https://www.getmonero.org/">Getmonero.org</a></li>
|
||||
<li><i class="bx bx-chevron-right"></i> <a href="https://www.reddit.com/r/Monero/">Reddit/Monero</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="container d-lg-flex py-4">
|
||||
<div class="mr-lg-auto text-center text-lg-left">
|
||||
<div class="copyright a">
|
||||
<strong>© Copyright <span>Moneroj.net</span></strong>
|
||||
</div>
|
||||
</div>
|
||||
<div class="social-links text-center text-lg-right pt-3 pt-lg-0">
|
||||
<a href="http://ilt7jgmfro76wgrtt6752lvfnhcz6wk5sjqhyvntjixygp3cwpvr4nad.onion" class="onion" alt="Tor Version"><i class="bx bx-hide"></i></a>
|
||||
<a href="https://twitter.com/CryptoMorpheus_" class="twitter" alt="Twitter Profile"><i class="bx bxl-twitter"></i></a>
|
||||
<a href="https://github.com/cryptomorpheuss/moneropro" class="github" alt="Github"><i class="bx bxl-github"></i></a>
|
||||
<a href="mailto:morpheus.anonymous@protonmail.com" class="email" alt="Send E-mail"><i class="bx bx-mail-send"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</footer>
|
||||
<!-- End Footer -->
|
||||
|
||||
<!-- Vendor JS Files -->
|
||||
<script src="{% static 'vendor/jquery/jquery2.min.js' %}"></script>
|
||||
<script src="{% static 'vendor/bootstrap/js/bootstrap.bundle.min.js' %}"></script>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,140 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
{% load static %}
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta content="width=device-width, initial-scale=1.0" name="viewport">
|
||||
|
||||
<title>Moneroj.net</title>
|
||||
<meta content="" name="description">
|
||||
<meta content="" name="keywords">
|
||||
|
||||
<link href="{% static 'css/style.css' %}" rel="stylesheet">
|
||||
<link href="{% static 'img/favicon.png' %}" rel="icon">
|
||||
<link href="{% static 'img/apple-touch-icon.png' %}" rel="apple-touch-icon">
|
||||
<link href="{% static 'vendor/bootstrap/css/bootstrap.min.css' %}" rel="stylesheet">
|
||||
<link href="{% static 'vendor/boxicons/css/boxicons.min.css' %}" rel="stylesheet">
|
||||
|
||||
<style>
|
||||
div.a {
|
||||
word-break: break-all;
|
||||
}
|
||||
|
||||
.color-orange {
|
||||
color: #ff6b3b;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<nav class="navbar navbar-expand-lg navbar-light">
|
||||
<div class="container">
|
||||
<a class="navbar-brand" href="{% url 'charts:pt' %}"><text class="color-orange">Gazeto</text> Monero<text class="color-orange">j</text> </a>
|
||||
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<span class="navbar-toggler-icon"></span>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse justify-content-end" id="navbarSupportedContent">
|
||||
<ul class="navbar-nav">
|
||||
<li class="nav-item active">
|
||||
<a class="nav-link" href="{% url 'charts:index' %}">Inicial <span class="sr-only">(current)</span></a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="{% url 'charts:sfmodel' %}">Gráficos</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="{% url 'charts:artigos' %}">Artigos</a>
|
||||
</li>
|
||||
<li class="nav-item dropdown" >
|
||||
{% if user.is_authenticated %}
|
||||
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||
Olá, {{ user.username }}.
|
||||
</a>
|
||||
{% else %}
|
||||
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||
Configurações
|
||||
</a>
|
||||
{% endif %}
|
||||
<div class="dropdown-menu" aria-labelledby="navbarDropdown">
|
||||
{% if user.is_authenticated %}
|
||||
<a class="nav-link" href="{% url 'users:logout' %}">Sair</a>
|
||||
{% else %}
|
||||
<a class="nav-link" href="{% url 'users:login' %}">Entrar</a>
|
||||
<a class="nav-link" href="{% url 'users:register' %}">Registrar</a>
|
||||
{% endif %}
|
||||
<a class="nav-link" href="{% url 'charts:about' %}">Sobre</a>
|
||||
<div class="dropdown-divider"></div>
|
||||
<a class="nav-link" href="{% url 'charts:index' %}">Inglês</a>
|
||||
<a class="nav-link" href="{% url 'charts:fr' %}">Francês</a>
|
||||
<a class="nav-link" href="{% url 'charts:pt' %}">Português</a>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<!-- ======= Hero Section ======= -->
|
||||
<section id="hero" class="d-flex flex-column justify-content-center align-items-center">
|
||||
<div class="container">
|
||||
<h1>A seção de artigos ainda não está pronta.</h1>
|
||||
<h2>Volte novamente mais tarde.</h2>
|
||||
</div>
|
||||
</section>
|
||||
<!-- End Hero -->
|
||||
<br><br><br><br><br>
|
||||
<!-- ======= Footer ======= -->
|
||||
<footer id="footer">
|
||||
|
||||
<div class="footer-top">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-6 col-md-6 footer-contact">
|
||||
<h3>Moneroj.net</h3>
|
||||
<p>
|
||||
Desenvolvido por<br>
|
||||
Morpheus<br>
|
||||
<strong>Email:</strong> morpheus.anonymous@protonmail.com<br>
|
||||
<strong>Twitter:</strong> CryptoMorpheus_<br>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-3 col-md-6 footer-links">
|
||||
<h4>Links úteis</h4>
|
||||
<ul>
|
||||
<li><i class="bx bx-chevron-right"></i> <a href="{% url 'charts:pt' %}">Página Inicial</a></li>
|
||||
<li><i class="bx bx-chevron-right"></i> <a href="{% url 'charts:sfmodel' %}">Gráficos</a></li>
|
||||
<li><i class="bx bx-chevron-right"></i> <a href="{% url 'charts:about' %}">Sobre</a></li>
|
||||
<li><i class="bx bx-chevron-right"></i> <a href="https://www.getmonero.org/">Getmonero.org</a></li>
|
||||
<li><i class="bx bx-chevron-right"></i> <a href="https://www.reddit.com/r/Monero/">Reddit/Monero</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="container d-lg-flex py-4">
|
||||
|
||||
<div class="mr-lg-auto text-center text-lg-left">
|
||||
<div class="copyright a">
|
||||
<strong>© Copyright <span>Moneroj.net</span></strong>
|
||||
</div>
|
||||
</div>
|
||||
<div class="social-links text-center text-lg-right pt-3 pt-lg-0">
|
||||
<a href="http://ilt7jgmfro76wgrtt6752lvfnhcz6wk5sjqhyvntjixygp3cwpvr4nad.onion" class="onion" alt="Tor Version"><i class="bx bx-hide"></i></a>
|
||||
<a href="https://twitter.com/CryptoMorpheus_" class="twitter" alt="Twitter Profile"><i class="bx bxl-twitter"></i></a>
|
||||
<a href="https://github.com/cryptomorpheuss/moneropro" class="github" alt="Github"><i class="bx bxl-github"></i></a>
|
||||
<a href="mailto:morpheus.anonymous@protonmail.com" class="email" alt="Send E-mail"><i class="bx bx-mail-send"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
<!-- End Footer -->
|
||||
|
||||
<!-- Vendor JS Files -->
|
||||
<script src="{% static 'vendor/jquery/jquery2.min.js' %}"></script>
|
||||
<script src="{% static 'vendor/bootstrap/js/bootstrap.bundle.min.js' %}"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -61,12 +61,6 @@
|
|||
padding-right: 12px;
|
||||
}
|
||||
|
||||
html,
|
||||
body {
|
||||
height: 100%;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
#graph1.fullscreen {
|
||||
z-index: 9999;
|
||||
width: 100%;
|
||||
|
@ -80,16 +74,14 @@
|
|||
min-height: 100%;
|
||||
}
|
||||
|
||||
#graph1 {
|
||||
height: 650px;
|
||||
.link_graph {
|
||||
color: #ff4d21;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
#link_graph {
|
||||
color: #FF0000;
|
||||
}
|
||||
|
||||
#link_graph:hover {
|
||||
color: #00FF00;
|
||||
.link_graph:hover {
|
||||
color: #af3517;
|
||||
text-decoration: none;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
@ -113,6 +105,7 @@
|
|||
href="{% url 'charts:index' %}">
|
||||
<div class="sidebar-brand-text mx-3">Moneroj</div>
|
||||
</a>
|
||||
|
||||
<!-- Heading -->
|
||||
<div class="sidebar-heading">
|
||||
<br>
|
||||
|
@ -123,7 +116,7 @@
|
|||
<a class="nav-link collapsed" href="#" data-toggle="collapse" data-target="#collapsePrice"
|
||||
aria-expanded="true" aria-controls="collapsePrice">
|
||||
<i class="bx bx-dollar"></i>
|
||||
<span>Price (16)</span>
|
||||
<span>Price (18)</span>
|
||||
</a>
|
||||
<div id="collapsePrice" class="collapse" aria-labelledby="headingPrice"
|
||||
data-parent="#accordionSidebar">
|
||||
|
@ -132,9 +125,9 @@
|
|||
<a class="collapse-item" href="{% url 'charts:pricelog' %}">Price in Dollars (Log.)</a>
|
||||
<a class="collapse-item" href="{% url 'charts:pricelin' %}">Price in Dollars (Lin.)</a>
|
||||
<a class="collapse-item" href="{% url 'charts:pricesats' %}">Price in Sats (Lin.)</a>
|
||||
<a class="collapse-item" href="{% url 'charts:pricesatslog' %}">Price in Sats (Log.) <span class="badge badge-pill badge-danger">New</span></a>
|
||||
<a class="collapse-item" href="{% url 'charts:fractal' %}">Fractal Multiple</a>
|
||||
<a class="collapse-item" href="{% url 'charts:inflationfractal' %}">Inflation-Adjusted
|
||||
Fractal</a>
|
||||
<a class="collapse-item" href="{% url 'charts:inflationfractal' %}">Inflation-Adjusted Fractal</a>
|
||||
<a class="collapse-item" href="{% url 'charts:golden' %}">Golden Ratio Multiplier</a>
|
||||
<a class="collapse-item" href="{% url 'charts:competitors' %}">Performance ($, Log.)</a>
|
||||
<a class="collapse-item" href="{% url 'charts:competitorslin' %}">Performance ($, Lin.)</a>
|
||||
|
@ -145,7 +138,8 @@
|
|||
<a class="collapse-item" href="{% url 'charts:powerlaw' %}">Power Law</a>
|
||||
<a class="collapse-item" href="{% url 'charts:thermocap' %}">Thermocap Multiple</a>
|
||||
<a class="collapse-item" href="{% url 'charts:sharpe' %}">Sharpe Ratio</a>
|
||||
<a class="collapse-item" href="{% url 'charts:deviation' %}">Price Deviation</a>
|
||||
<a class="collapse-item" href="{% url 'charts:deviation' %}">Price Deviation <span class="badge badge-pill badge-secondary">New</span</a>
|
||||
<a class="collapse-item" href="{% url 'charts:marketcycle' %}">Market Cycle <span class="badge badge-pill badge-danger">New</span></a>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
|
@ -174,7 +168,7 @@
|
|||
<a class="nav-link collapsed" href="#" data-toggle="collapse" data-target="#collapseTransactions"
|
||||
aria-expanded="true" aria-controls="collapseTransactions">
|
||||
<i class="bx bx-transfer"></i>
|
||||
<span>Transactions (11)</span>
|
||||
<span>Transactions (15)</span>
|
||||
</a>
|
||||
<div id="collapseTransactions" class="collapse" aria-labelledby="headingTransactions"
|
||||
data-parent="#accordionSidebar">
|
||||
|
@ -189,8 +183,12 @@
|
|||
<a class="collapse-item" href="{% url 'charts:percentmonth' %}">Monthly Percentage (Lin.)</a>
|
||||
<a class="collapse-item" href="{% url 'charts:metcalfesats' %}">Metcalfe's Law (Sats)</a>
|
||||
<a class="collapse-item" href="{% url 'charts:metcalfeusd' %}">Metcalfe's Law ($)</a>
|
||||
<a class="collapse-item" href="{% url 'charts:deviation_tx' %}">Transacted Price Deviation</a>
|
||||
<a class="collapse-item" href="{% url 'charts:transactiondominance' %}">Transaction Dominance</a>
|
||||
<a class="collapse-item" href="{% url 'charts:metcalfesats_deviation' %}">Metc. Deviation (Sats) <span class="badge badge-pill badge-danger">New</span></a>
|
||||
<a class="collapse-item" href="{% url 'charts:metcalfe_deviation' %}">Metcalfe Deviation ($) <span class="badge badge-pill badge-danger">New</span></a>
|
||||
<a class="collapse-item" href="{% url 'charts:deviation_tx' %}">Transac. Price Dev. <span class="badge badge-pill badge-secondary">New</span</a>
|
||||
<a class="collapse-item" href="{% url 'charts:transactiondominance' %}">Transac. Dominance <span class="badge badge-pill badge-secondary">New</span</a>
|
||||
<a class="collapse-item" href="{% url 'charts:shielded' %}">Shielded Transactions <span class="badge badge-pill badge-danger">New</span></a>
|
||||
<a class="collapse-item" href="{% url 'charts:comptransactions' %}">Competitors' Transac. <span class="badge badge-pill badge-danger">New</span></a></a>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
|
@ -238,7 +236,7 @@
|
|||
<a class="nav-link collapsed" href="#" data-toggle="collapse" data-target="#collapseMining"
|
||||
aria-expanded="true" aria-controls="collapseMining">
|
||||
<i class="bx bx-calculator"></i>
|
||||
<span>Mining (16)</span>
|
||||
<span>Mining (22)</span>
|
||||
</a>
|
||||
<div id="collapseMining" class="collapse" aria-labelledby="headingMining"
|
||||
data-parent="#accordionSidebar">
|
||||
|
@ -251,6 +249,7 @@
|
|||
<a class="collapse-item" href="{% url 'charts:minerrevntv' %}">Miner Revenue (Ntv.)</a>
|
||||
<a class="collapse-item" href="{% url 'charts:minerfees' %}">Miner Fees ($)</a>
|
||||
<a class="collapse-item" href="{% url 'charts:minerfeesntv' %}">Miner Fees (Ntv.)</a>
|
||||
<a class="collapse-item" href="{% url 'charts:miningprofitability' %}">Mining Profitability <span class="badge badge-pill badge-danger">New</span></a>
|
||||
<a class="collapse-item" href="{% url 'charts:minerrevcap' %}">Revenue / Marketcap (%)</a>
|
||||
<a class="collapse-item" href="{% url 'charts:commit' %}">Miner Commitment ($)</a>
|
||||
<a class="collapse-item" href="{% url 'charts:commitntv' %}">Miner Commitment (Ntv.)</a>
|
||||
|
@ -258,8 +257,13 @@
|
|||
<a class="collapse-item" href="{% url 'charts:blockchainsize' %}">Blockchain Size (Bytes)</a>
|
||||
<a class="collapse-item" href="{% url 'charts:transactionsize' %}">Transaction Size (Bytes)</a>
|
||||
<a class="collapse-item" href="{% url 'charts:difficulty' %}">Mining Difficulty</a>
|
||||
<a class="collapse-item" href="{% url 'charts:securitybudget' %}">Security Budget</a>
|
||||
<a class="collapse-item" href="{% url 'charts:efficiency' %}">Breakeven Efficiency</a>
|
||||
<a class="collapse-item" href="{% url 'charts:securitybudget' %}">Security Budget <span class="badge badge-pill badge-secondary">New</span></a>
|
||||
<a class="collapse-item" href="{% url 'charts:efficiency' %}">Breakeven Efficiency <span class="badge badge-pill badge-secondary">New</span></a>
|
||||
<a class="collapse-item" href="{% url 'charts:p2pool_hashrate' %}">P2Pool Hashrate <span class="badge badge-pill badge-danger">New</span></a>
|
||||
<a class="collapse-item" href="{% url 'charts:p2pool_dominance' %}">P2Pool Dominance <span class="badge badge-pill badge-danger">New</span></a>
|
||||
<a class="collapse-item" href="{% url 'charts:p2pool_miners' %}">P2Pool Miners <span class="badge badge-pill badge-danger">New</span></a>
|
||||
<a class="collapse-item" href="{% url 'charts:p2pool_totalblocks' %}">P2Pool Blocks Found <span class="badge badge-pill badge-danger">New</span></a>
|
||||
<a class="collapse-item" href="{% url 'charts:p2pool_totalhashes' %}">P2Pool Hashes Found <span class="badge badge-pill badge-danger">New</span></a>
|
||||
<!--
|
||||
<a class="collapse-item" href="{% url 'charts:difficulty' %}">Reward / Hashrate</a>
|
||||
-->
|
||||
|
@ -362,14 +366,13 @@
|
|||
data-parent="#accordionSidebar">
|
||||
<div class="py-2 collapse-inner rounded">
|
||||
<h6 class="collapse-header text-dark">Info:</h6>
|
||||
<a class="collapse-item" href="{% url 'charts:pageviews' %}">Pageviews <span class="badge badge-pill badge-secondary">New</span></a>
|
||||
<a class="collapse-item" href="{% url 'charts:about' %}">About Us</a>
|
||||
<a class="collapse-item" href="{% url 'charts:pageviews' %}">Pageviews</a>
|
||||
<a class="collapse-item" href="https://twitter.com/CryptoMorpheus_" target="_blank">Twitter</a>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
<!-- End of Sidebar -->
|
||||
|
||||
|
|
|
@ -286,7 +286,7 @@
|
|||
,size: 13
|
||||
}
|
||||
,gridcolor: "#333333"
|
||||
,range: ['2011-01-01', '2023-01-01']
|
||||
,range: ['2011-01-01', '']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
|
@ -420,7 +420,7 @@
|
|||
,size: 7
|
||||
}
|
||||
,gridcolor: "#444444"
|
||||
,range: ['2009-01-01', '2023-06-01']
|
||||
,range: ['2009-01-01', '']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
|
|
|
@ -9,81 +9,29 @@
|
|||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" style="background-color:rgb(48, 44, 41)">
|
||||
|
||||
<!-- Main Content -->
|
||||
<div id="content">
|
||||
|
||||
<!-- Begin Page Content -->
|
||||
<div class="container-fluid"><br>
|
||||
<div class="row">
|
||||
<div class="col-xl-12 col-lg-12">
|
||||
<div class="card" id="graph1">
|
||||
<div
|
||||
class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">Total Blockchain Size for Monero and Bitcoin (Bytes)</h6>
|
||||
<div class="dropdown no-arrow">
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body pb-0 pt-0 pl-0 pr-0" style="height: 100px;">
|
||||
<div id="graph" style="height: 100%; width:100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph1" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
Total Blockchain Size for Monero and Bitcoin (Bytes)
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-6 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Current Monero Blockchain Size</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_xmr }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-6 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Current Bitcoin Blockchain Size</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_btc }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
<div class="col-xl-11 col-md-6 mb-4">
|
||||
<div class="alert alert-dark" role="alert">
|
||||
Not financial advice.
|
||||
For information about the chart, click the button >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-1">
|
||||
<button type="button" class="btn btn-dark btn-block" data-toggle="modal" href="#"
|
||||
data-target="#id_Modal">
|
||||
<div class="col-auto">
|
||||
+
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- /.container-fluid -->
|
||||
|
||||
</div>
|
||||
<!-- End of Main Content -->
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
@ -235,11 +183,11 @@
|
|||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 120,
|
||||
r: 60,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 4
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -289,11 +237,11 @@
|
|||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 40,
|
||||
r: 0,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 0
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -320,11 +268,9 @@
|
|||
}
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
document.getElementById("graph1").style.height="350px";
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
else {
|
||||
document.getElementById("graph1").style.height="700px";
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -9,81 +9,29 @@
|
|||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" style="background-color:rgb(48, 44, 41)">
|
||||
|
||||
<!-- Main Content -->
|
||||
<div id="content">
|
||||
|
||||
<!-- Begin Page Content -->
|
||||
<div class="container-fluid"><br>
|
||||
<div class="row">
|
||||
<div class="col-xl-12 col-lg-12">
|
||||
<div class="card" id="graph1">
|
||||
<div
|
||||
class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">Average Block Size for both Monero and Bitcoin (Bytes)</h6>
|
||||
<div class="dropdown no-arrow">
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body pb-0 pt-0 pl-0 pr-0" style="height: 100px;">
|
||||
<div id="graph" style="height: 100%; width:100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph1" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
Average Block Size for both Monero and Bitcoin (Bytes)
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-6 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Current Monero Average Block Size</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_xmr }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-6 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Current Bitcoin Average Block Size</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_btc }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
<div class="col-xl-11 col-md-6 mb-4">
|
||||
<div class="alert alert-dark" role="alert">
|
||||
Not financial advice.
|
||||
For information about the chart, click the button >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-1">
|
||||
<button type="button" class="btn btn-dark btn-block" data-toggle="modal" href="#"
|
||||
data-target="#id_Modal">
|
||||
<div class="col-auto">
|
||||
+
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- /.container-fluid -->
|
||||
|
||||
</div>
|
||||
<!-- End of Main Content -->
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
@ -173,7 +121,7 @@
|
|||
yref: 'paper',
|
||||
x: 1,
|
||||
xanchor: 'auto',
|
||||
y: 0.6,
|
||||
y: 0.2,
|
||||
yanchor: 'auto',
|
||||
text: 'Moneroj<br>https://www.moneroj.net',
|
||||
showarrow: false,
|
||||
|
@ -190,7 +138,7 @@
|
|||
separators: ",.",
|
||||
legend: {
|
||||
x: 1,
|
||||
y: 0.95,
|
||||
y: 0.05,
|
||||
bgcolor: '#333333',
|
||||
bordercolor: '#5f5f5f',
|
||||
borderwidth: 1,
|
||||
|
@ -232,15 +180,14 @@
|
|||
,size: 13
|
||||
}
|
||||
,gridcolor: "#333333"
|
||||
,range: ['2009-01-01', '2026-01-01']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 120,
|
||||
r: 60,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 4
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -286,15 +233,14 @@
|
|||
,size: 7
|
||||
}
|
||||
,gridcolor: "#444444"
|
||||
,range: ['2009-01-01', '2026-01-01']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 40,
|
||||
r: 0,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 0
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -321,11 +267,9 @@
|
|||
}
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
document.getElementById("graph1").style.height="350px";
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
else {
|
||||
document.getElementById("graph1").style.height="700px";
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -9,101 +9,29 @@
|
|||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" style="background-color:rgb(48, 44, 41)">
|
||||
|
||||
<!-- Main Content -->
|
||||
<div id="content">
|
||||
|
||||
<!-- Begin Page Content -->
|
||||
<div class="container-fluid"><br>
|
||||
<div class="row">
|
||||
<div class="col-xl-12 col-lg-12">
|
||||
<div class="card" id="graph1">
|
||||
<div
|
||||
class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">Coincards Usage (%)</h6>
|
||||
<div class="dropdown no-arrow">
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body pb-0 pt-0 pl-0 pr-0" style="height: 100px;">
|
||||
<div id="graph" style="height: 100%; width:100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph1" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
Coincards Usage (%)
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
|
||||
<!-- Card -->
|
||||
<div class="col-xl-3 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Monero</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_xmr }}%</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Card -->
|
||||
<div class="col-xl-3 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Bitcoin</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_btc }}%</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Card -->
|
||||
<div class="col-xl-3 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Ethereum</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_eth }}%</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Card -->
|
||||
<div class="col-xl-3 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Others</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_others }}%</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
<div class="col-xl-11 col-md-6 mb-4">
|
||||
<div class="alert alert-dark" role="alert">
|
||||
Not financial advice.
|
||||
For information about the chart, click the button >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-1">
|
||||
<button type="button" class="btn btn-dark btn-block" data-toggle="modal" href="#"
|
||||
data-target="#id_Modal">
|
||||
<div class="col-auto">
|
||||
+
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- /.container-fluid -->
|
||||
|
||||
</div>
|
||||
<!-- End of Main Content -->
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
@ -299,16 +227,15 @@
|
|||
,size: 13
|
||||
}
|
||||
,gridcolor: "#333333"
|
||||
,range: ['2021-03-01', '2022-08-01']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 120,
|
||||
r: 60,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 4
|
||||
}
|
||||
margin: {
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
var layout_mobile = {
|
||||
|
@ -353,16 +280,15 @@
|
|||
,size: 13
|
||||
}
|
||||
,gridcolor: "#333333"
|
||||
,range: ['2021-03-01', '2022-08-01']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 40,
|
||||
r: 0,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 0
|
||||
}
|
||||
margin: {
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
function findBootstrapEnvironment() {
|
||||
|
@ -388,11 +314,9 @@
|
|||
}
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
document.getElementById("graph1").style.height="350px";
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
else {
|
||||
document.getElementById("graph1").style.height="700px";
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -9,82 +9,30 @@
|
|||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" style="background-color:rgb(48, 44, 41)">
|
||||
|
||||
<!-- Main Content -->
|
||||
<div id="content">
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph1" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
Coins in Circulation
|
||||
|
||||
<!-- Begin Page Content -->
|
||||
<div class="container-fluid"><br>
|
||||
<div class="row">
|
||||
<div class="col-xl-12 col-lg-12">
|
||||
<div class="card" id="graph1">
|
||||
<div
|
||||
class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">Coins in Circulation
|
||||
</h6>
|
||||
<div class="dropdown no-arrow">
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body" style="height: 100px;">
|
||||
<div id="graph" style="height: 100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-6 col-md-6 mb-4">
|
||||
<div class="card border-left-new">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Monero's Supply</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_xmr }} XMR</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-6 col-md-6 mb-4">
|
||||
<div class="card border-left-new">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Bitcoin's Supply</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_btc }} BTC</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
<div class="col-xl-11 col-md-6 mb-4">
|
||||
<div class="alert alert-dark" role="alert">
|
||||
Not financial advice.
|
||||
For information about the chart, click the button >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-1">
|
||||
<button type="button" class="btn btn-dark btn-block" data-toggle="modal" href="#"
|
||||
data-target="#id_Modal">
|
||||
<div class="col-auto">
|
||||
+
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- /.container-fluid -->
|
||||
|
||||
</div>
|
||||
<!-- End of Main Content -->
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
@ -282,16 +230,15 @@
|
|||
,size: 13
|
||||
}
|
||||
,gridcolor: "#333333"
|
||||
,range: ['2009-01-01', '2045-01-01']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 120,
|
||||
r: 60,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 4
|
||||
}
|
||||
margin: {
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
var layout_mobile = {
|
||||
|
@ -336,16 +283,15 @@
|
|||
,size: 7
|
||||
}
|
||||
,gridcolor: "#444444"
|
||||
,range: ['2009-01-01', '2045-01-01']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 40,
|
||||
r: 0,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 0
|
||||
}
|
||||
margin: {
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
function findBootstrapEnvironment() {
|
||||
|
@ -371,11 +317,9 @@
|
|||
}
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
document.getElementById("graph1").style.height="350px";
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
else {
|
||||
document.getElementById("graph1").style.height="700px";
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -9,82 +9,29 @@
|
|||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" style="background-color:rgb(48, 44, 41)">
|
||||
|
||||
<!-- Main Content -->
|
||||
<div id="content">
|
||||
|
||||
<!-- Begin Page Content -->
|
||||
<div class="container-fluid"><br>
|
||||
<div class="row">
|
||||
<div class="col-xl-12 col-lg-12">
|
||||
<div class="card" id="graph1">
|
||||
<div
|
||||
class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">Miner Commitment (Hashrate divided by revenue, hashs/dollar) -
|
||||
WARNING: DON'T COMPARE DIRECTLY BOTH COINS</h6>
|
||||
<div class="dropdown no-arrow">
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body pb-0 pt-0 pl-0 pr-0" style="height: 100px;">
|
||||
<div id="graph" style="height: 100%; width:100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph1" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
Miner Commitment (Hashrate divided by revenue, hashs/dollar) - WARNING: DON'T COMPARE DIRECTLY BOTH COINS
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-6 col-md-6 mb-4">
|
||||
<div class="card border-left-new">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Monero Miner Commitment</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_xmr }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-6 col-md-6 mb-4">
|
||||
<div class="card border-left-new">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Bitcoin Miner Commitment</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_btc }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
<div class="col-xl-11 col-md-6 mb-4">
|
||||
<div class="alert alert-dark" role="alert">
|
||||
Not financial advice.
|
||||
For information about the chart, click the button >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-1">
|
||||
<button type="button" class="btn btn-dark btn-block" data-toggle="modal" href="#"
|
||||
data-target="#id_Modal">
|
||||
<div class="col-auto">
|
||||
+
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- /.container-fluid -->
|
||||
|
||||
</div>
|
||||
<!-- End of Main Content -->
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
@ -240,10 +187,10 @@
|
|||
},
|
||||
margin: {
|
||||
l: 120,
|
||||
r: 60,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 4
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -293,11 +240,11 @@
|
|||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 40,
|
||||
r: 0,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 0
|
||||
l: 120,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -324,11 +271,9 @@
|
|||
}
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
document.getElementById("graph1").style.height="350px";
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
else {
|
||||
document.getElementById("graph1").style.height="700px";
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -9,82 +9,29 @@
|
|||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" style="background-color:rgb(48, 44, 41)">
|
||||
|
||||
<!-- Main Content -->
|
||||
<div id="content">
|
||||
|
||||
<!-- Begin Page Content -->
|
||||
<div class="container-fluid"><br>
|
||||
<div class="row">
|
||||
<div class="col-xl-12 col-lg-12">
|
||||
<div class="card" id="graph1">
|
||||
<div
|
||||
class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">Miner Commitment (Hashrate divided by revenue, hashs/coin) -
|
||||
WARNING: DON'T COMPARE DIRECTLY BOTH COINS</h6>
|
||||
<div class="dropdown no-arrow">
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body pb-0 pt-0 pl-0 pr-0" style="height: 100px;">
|
||||
<div id="graph" style="height: 100%; width:100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph1" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
Miner Commitment (Hashrate divided by revenue, hashs/coin) - WARNING: DON'T COMPARE DIRECTLY BOTH COINS
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-6 col-md-6 mb-4">
|
||||
<div class="card border-left-new">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Monero Miner Commitment</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_xmr }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-6 col-md-6 mb-4">
|
||||
<div class="card border-left-new">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Bitcoin Miner Commitment</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_btc }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
<div class="col-xl-11 col-md-6 mb-4">
|
||||
<div class="alert alert-dark" role="alert">
|
||||
Not financial advice.
|
||||
For information about the chart, click the button >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-1">
|
||||
<button type="button" class="btn btn-dark btn-block" data-toggle="modal" href="#"
|
||||
data-target="#id_Modal">
|
||||
<div class="col-auto">
|
||||
+
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- /.container-fluid -->
|
||||
|
||||
</div>
|
||||
<!-- End of Main Content -->
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
@ -240,11 +187,11 @@
|
|||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 120,
|
||||
r: 60,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 4
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -294,11 +241,11 @@
|
|||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 40,
|
||||
r: 0,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 0
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -325,11 +272,9 @@
|
|||
}
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
document.getElementById("graph1").style.height="350px";
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
else {
|
||||
document.getElementById("graph1").style.height="700px";
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -9,99 +9,29 @@
|
|||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" style="background-color:rgb(48, 44, 41)">
|
||||
|
||||
<!-- Main Content -->
|
||||
<div id="content">
|
||||
|
||||
<!-- Begin Page Content -->
|
||||
<div class="container-fluid"><br>
|
||||
<div class="row">
|
||||
<div class="col-xl-12 col-lg-12">
|
||||
<div class="card" id="graph1">
|
||||
<div
|
||||
class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">Competitor Performance (Log Scale)</h6>
|
||||
<div class="dropdown no-arrow">
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body pb-0 pt-0 pl-0 pr-0" style="height: 100px;">
|
||||
<div id="graph" style="height: 100%; width:100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph1" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
Competitor Performance (Log Scale)
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-3 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Monero's Return on Capital</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_xmr }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-3 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Dash's Return on Capital</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_dash }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-3 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Grin's Return on Capital</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_grin }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-3 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Zcash's Return on Capital</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_zcash }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
<div class="col-xl-11 col-md-6 mb-4">
|
||||
<div class="alert alert-dark" role="alert">
|
||||
Not financial advice.
|
||||
For information about the chart, click the button >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-1">
|
||||
<button type="button" class="btn btn-dark btn-block" data-toggle="modal" href="#"
|
||||
data-target="#id_Modal">
|
||||
<div class="col-auto">
|
||||
+
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- /.container-fluid -->
|
||||
|
||||
</div>
|
||||
<!-- End of Main Content -->
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
@ -302,15 +232,14 @@
|
|||
,size: 13
|
||||
}
|
||||
,gridcolor: "#333333"
|
||||
,range: ['1', '3200']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 120,
|
||||
r: 60,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 4
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -356,15 +285,14 @@
|
|||
,size: 7
|
||||
}
|
||||
,gridcolor: "#444444"
|
||||
,range: ['1', '3200']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 40,
|
||||
r: 0,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 0
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -391,11 +319,9 @@
|
|||
}
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
document.getElementById("graph1").style.height="350px";
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
else {
|
||||
document.getElementById("graph1").style.height="700px";
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -9,100 +9,29 @@
|
|||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" style="background-color:rgb(48, 44, 41)">
|
||||
|
||||
<!-- Main Content -->
|
||||
<div id="content">
|
||||
|
||||
<!-- Begin Page Content -->
|
||||
<div class="container-fluid"><br>
|
||||
<div class="row">
|
||||
<div class="col-xl-12 col-lg-12">
|
||||
<div class="card" id="graph1">
|
||||
<div
|
||||
class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">Competitor Performance (Linear Scale)</h6>
|
||||
<div class="dropdown no-arrow">
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body pb-0 pt-0 pl-0 pr-0" style="height: 100px;">
|
||||
<div id="graph" style="height: 100%; width:100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph1" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
Competitor Performance (Linear Scale)
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-3 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Monero's Return on Capital</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_xmr }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-3 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Dash's Return on Capital</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_dash }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-3 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Grin's Return on Capital</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_grin }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-3 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Zcash's Return on Capital</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_zcash }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
<div class="col-xl-11 col-md-6 mb-4">
|
||||
<div class="alert alert-dark" role="alert">
|
||||
Not financial advice.
|
||||
For information about the chart, click the button >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-1">
|
||||
<button type="button" class="btn btn-dark btn-block" data-toggle="modal" href="#"
|
||||
data-target="#id_Modal">
|
||||
<div class="col-auto">
|
||||
+
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- /.container-fluid -->
|
||||
|
||||
</div>
|
||||
<!-- End of Main Content -->
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
@ -244,7 +173,7 @@
|
|||
yref: 'paper',
|
||||
x: 0.02,
|
||||
xanchor: 'auto',
|
||||
y: 0.50,
|
||||
y: 0.80,
|
||||
yanchor: 'auto',
|
||||
text: 'Moneroj<br>https://www.moneroj.net',
|
||||
showarrow: false,
|
||||
|
@ -303,15 +232,14 @@
|
|||
,size: 13
|
||||
}
|
||||
,gridcolor: "#333333"
|
||||
,range: ['1', '3200']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 120,
|
||||
r: 60,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 4
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -323,8 +251,8 @@
|
|||
namelength: -1
|
||||
},
|
||||
legend: {
|
||||
x: 0.02,
|
||||
y: 0.98,
|
||||
x: 0.98,
|
||||
y: 0.05,
|
||||
bgcolor: '#000000',
|
||||
bordercolor: '#5f5f5f',
|
||||
borderwidth: 1,
|
||||
|
@ -357,15 +285,14 @@
|
|||
,size: 7
|
||||
}
|
||||
,gridcolor: "#444444"
|
||||
,range: ['1', '3200']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 40,
|
||||
r: 0,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 0
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -392,11 +319,9 @@
|
|||
}
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
document.getElementById("graph1").style.height="350px";
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
else {
|
||||
document.getElementById("graph1").style.height="700px";
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -9,104 +9,34 @@
|
|||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" style="background-color:rgb(48, 44, 41)">
|
||||
|
||||
<!-- Main Content -->
|
||||
<div id="content">
|
||||
|
||||
<!-- Begin Page Content -->
|
||||
<div class="container-fluid"><br>
|
||||
<div class="row">
|
||||
<div class="col-xl-12 col-lg-12">
|
||||
<div class="card" id="graph1">
|
||||
<div
|
||||
class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">Competitor Performance</h6>
|
||||
<div class="dropdown no-arrow">
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body pb-0 pt-0 pl-0 pr-0" style="height: 100px;">
|
||||
<div id="graph" style="height: 100%; width:100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph1" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
Competitor Performance
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-3 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Monero's Return on Capital</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_xmr }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-3 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Dash's Return on Capital</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_dash }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-3 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Grin's Return on Capital</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_grin }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-3 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Zcash's Return on Capital</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_zcash }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
<div class="col-xl-11 col-md-6 mb-4">
|
||||
<div class="alert alert-dark" role="alert">
|
||||
Not financial advice.
|
||||
For information about the chart, click the button >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-1">
|
||||
<button type="button" class="btn btn-dark btn-block" data-toggle="modal" href="#"
|
||||
data-target="#id_Modal">
|
||||
<div class="col-auto">
|
||||
+
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- /.container-fluid -->
|
||||
|
||||
</div>
|
||||
<!-- End of Main Content -->
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
||||
|
||||
<!-- Modal -->
|
||||
<div class="modal fade" id="id_Modal" tabindex="-1" role="dialog" aria-labelledby="Modal" aria-hidden="true">
|
||||
<div class="modal-dialog" role="document">
|
||||
|
@ -303,15 +233,14 @@
|
|||
,size: 13
|
||||
}
|
||||
,gridcolor: "#333333"
|
||||
,range: ['1', '3500']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 120,
|
||||
r: 60,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 4
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -357,15 +286,14 @@
|
|||
,size: 7
|
||||
}
|
||||
,gridcolor: "#444444"
|
||||
,range: ['1', '3500']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 40,
|
||||
r: 0,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 0
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -392,11 +320,9 @@
|
|||
}
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
document.getElementById("graph1").style.height="350px";
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
else {
|
||||
document.getElementById("graph1").style.height="700px";
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -9,104 +9,34 @@
|
|||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" style="background-color:rgb(48, 44, 41)">
|
||||
|
||||
<!-- Main Content -->
|
||||
<div id="content">
|
||||
|
||||
<!-- Begin Page Content -->
|
||||
<div class="container-fluid"><br>
|
||||
<div class="row">
|
||||
<div class="col-xl-12 col-lg-12">
|
||||
<div class="card" id="graph1">
|
||||
<div
|
||||
class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">Competitor Performance</h6>
|
||||
<div class="dropdown no-arrow">
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body pb-0 pt-0 pl-0 pr-0" style="height: 100px;">
|
||||
<div id="graph" style="height: 100%; width:100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph1" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
Competitor Performance
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-3 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Monero's Return on Capital</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_xmr }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-3 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Dash's Return on Capital</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_dash }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-3 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Grin's Return on Capital</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_grin }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-3 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Zcash's Return on Capital</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_zcash }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
<div class="col-xl-11 col-md-6 mb-4">
|
||||
<div class="alert alert-dark" role="alert">
|
||||
Not financial advice.
|
||||
For information about the chart, click the button >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-1">
|
||||
<button type="button" class="btn btn-dark btn-block" data-toggle="modal" href="#"
|
||||
data-target="#id_Modal">
|
||||
<div class="col-auto">
|
||||
+
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- /.container-fluid -->
|
||||
|
||||
</div>
|
||||
<!-- End of Main Content -->
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
||||
|
||||
<!-- Modal -->
|
||||
<div class="modal fade" id="id_Modal" tabindex="-1" role="dialog" aria-labelledby="Modal" aria-hidden="true">
|
||||
<div class="modal-dialog" role="document">
|
||||
|
@ -244,7 +174,7 @@
|
|||
yref: 'paper',
|
||||
x: 0.02,
|
||||
xanchor: 'auto',
|
||||
y: 0.98,
|
||||
y: 0.80,
|
||||
yanchor: 'auto',
|
||||
text: 'Moneroj<br>https://www.moneroj.net',
|
||||
showarrow: false,
|
||||
|
@ -260,7 +190,7 @@
|
|||
}],
|
||||
separators: ",.",
|
||||
legend: {
|
||||
x: 0.98,
|
||||
x: 0.02,
|
||||
y: 0.98,
|
||||
bgcolor: '#333333',
|
||||
bordercolor: '#5f5f5f',
|
||||
|
@ -286,7 +216,7 @@
|
|||
}
|
||||
},
|
||||
tickformat :",.3f"
|
||||
,nticks: 3
|
||||
,nticks: 8
|
||||
,tickfont: {
|
||||
color: "#ffffff"
|
||||
,size: 12
|
||||
|
@ -303,15 +233,14 @@
|
|||
,size: 13
|
||||
}
|
||||
,gridcolor: "#333333"
|
||||
,range: ['1', '3500']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 120,
|
||||
r: 60,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 4
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -324,7 +253,7 @@
|
|||
},
|
||||
legend: {
|
||||
x: 0.98,
|
||||
y: 0.98,
|
||||
y: 0.05,
|
||||
bgcolor: '#000000',
|
||||
bordercolor: '#5f5f5f',
|
||||
borderwidth: 1,
|
||||
|
@ -357,15 +286,14 @@
|
|||
,size: 7
|
||||
}
|
||||
,gridcolor: "#444444"
|
||||
,range: ['1', '3500']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 40,
|
||||
r: 0,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 0
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -392,11 +320,9 @@
|
|||
}
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
document.getElementById("graph1").style.height="350px";
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
else {
|
||||
document.getElementById("graph1").style.height="700px";
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -9,123 +9,30 @@
|
|||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" style="background-color:rgb(48, 44, 41)">
|
||||
|
||||
<!-- Main Content -->
|
||||
<div id="content">
|
||||
|
||||
<!-- Begin Page Content -->
|
||||
<div class="container-fluid"><br>
|
||||
<div class="row">
|
||||
<div class="col-xl-12 col-lg-12">
|
||||
<div class="card" id="graph1">
|
||||
<div
|
||||
class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">Annualized Inflation for Monero and its competitors (Bitcoin and
|
||||
privacy-oriented Dash, Zcash and Grin)</h6>
|
||||
<div class="dropdown no-arrow">
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body pb-0 pt-0 pl-0 pr-0" style="height: 100px;">
|
||||
<div id="graph" style="height: 100%; width:100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph1" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
Annualized Inflation for Monero and its competitors (Bitcoin and
|
||||
privacy-oriented Dash, Zcash and Grin)
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-2 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Monero Inflation (%)</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_xmr }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-2 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">Monero has lower average inflation
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-2 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Bitcoin Inflation (%)</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_btc }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-2 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Dash Inflation (%)</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_dash }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-2 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Zcash Inflation (%)</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_zcash }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-2 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Grin Annual Inflation (%)</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_grin }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
<div class="col-xl-11 col-md-6 mb-4">
|
||||
<div class="alert alert-dark" role="alert">
|
||||
This page was created to help Monero's community, but this isn't financial advice. Invest at
|
||||
your own risk.
|
||||
For information about the chart, click the button >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-1">
|
||||
<button type="button" class="btn btn-dark btn-block" data-toggle="modal" href="#"
|
||||
data-target="#id_Modal">
|
||||
<div class="col-auto">
|
||||
+
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- /.container-fluid -->
|
||||
|
||||
</div>
|
||||
<!-- End of Main Content -->
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
@ -352,15 +259,14 @@
|
|||
,size: 13
|
||||
}
|
||||
,gridcolor: "#333333"
|
||||
,range: ['2009-01-01', '2024-01-01']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 120,
|
||||
r: 60,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 4
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -406,15 +312,14 @@
|
|||
,size: 7
|
||||
}
|
||||
,gridcolor: "#444444"
|
||||
,range: ['2009-01-01', '2024-01-01']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 40,
|
||||
r: 0,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 0
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -441,11 +346,9 @@
|
|||
}
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
document.getElementById("graph1").style.height="350px";
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
else {
|
||||
document.getElementById("graph1").style.height="700px";
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
</script>
|
||||
|
|
353
charts/templates/charts/comptransactions.html
Normal file
353
charts/templates/charts/comptransactions.html
Normal file
|
@ -0,0 +1,353 @@
|
|||
{% extends 'charts/base.html' %}
|
||||
|
||||
{% block header %}
|
||||
<title>Moneroj.net - Inflation</title>
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" style="background-color:rgb(48, 44, 41)">
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph1" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
Daily Transactions for Monero and its competitors (Bitcoin and
|
||||
privacy-oriented Dash, Zcash and Grin)
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
||||
<!-- Modal -->
|
||||
<div class="modal fade" id="id_Modal" tabindex="-1" role="dialog" aria-labelledby="Modal" aria-hidden="true">
|
||||
<div class="modal-dialog" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title" id="Modal">Help about the chart</h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Cancelar">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
This chart shows a comparison between the daily transaction numbers for Bitcoin, Monero and the other major privacy-oriented cryptocurrencies. Chart provided as courtesy from Cake Wallet and Monero.com. <a href="https://monero.com/charts/total_transactions" target="_blank">Link.</a><br>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Fim do Modal -->
|
||||
|
||||
<!-- Page level plugins -->
|
||||
<script>
|
||||
|
||||
var data3 = {
|
||||
type: "scatter",
|
||||
mode: "lines",
|
||||
name: 'Dash Daily Transactions',
|
||||
x: {{ dates|safe }},
|
||||
y: {{ dash|safe }},
|
||||
line: {
|
||||
color: '#2f21f7'
|
||||
,width: 2
|
||||
}
|
||||
};
|
||||
|
||||
var data3_mobile = {
|
||||
type: "scatter",
|
||||
mode: "lines",
|
||||
name: 'Dash Daily Transactions',
|
||||
x: {{ dates|safe }},
|
||||
y: {{ dash|safe }},
|
||||
line: {
|
||||
color: '#2f21f7'
|
||||
,width: 2
|
||||
}
|
||||
};
|
||||
|
||||
var data1 = {
|
||||
type: "scatter",
|
||||
mode: "lines",
|
||||
name: 'Grin Daily Transactions',
|
||||
x: {{ dates|safe }},
|
||||
y: {{ grin|safe }},
|
||||
line: {
|
||||
color: '#dcdf30'
|
||||
,width: 2
|
||||
}
|
||||
};
|
||||
|
||||
var data1_mobile = {
|
||||
type: "scatter",
|
||||
mode: "lines",
|
||||
name: 'Grin Daily Transactions',
|
||||
x: {{ dates|safe }},
|
||||
y: {{ grin|safe }},
|
||||
line: {
|
||||
color: '#dcdf30'
|
||||
,width: 2
|
||||
}
|
||||
};
|
||||
|
||||
var data4 = {
|
||||
type: "scatter",
|
||||
mode: "lines",
|
||||
name: 'Zcash Daily Transactions',
|
||||
x: {{ dates|safe }},
|
||||
y: {{ zcash|safe }},
|
||||
line: {
|
||||
color: '#ffb6a0'
|
||||
,width: 2
|
||||
}
|
||||
};
|
||||
|
||||
var data4_mobile = {
|
||||
type: "scatter",
|
||||
mode: "lines",
|
||||
name: 'Zcash Daily Transactions',
|
||||
x: {{ dates|safe }},
|
||||
y: {{ zcash|safe }},
|
||||
line: {
|
||||
color: '#ffb6a0'
|
||||
,width: 2
|
||||
}
|
||||
};
|
||||
|
||||
var data2 = {
|
||||
type: "scatter",
|
||||
mode: "lines",
|
||||
name: 'Monero Daily Transactions',
|
||||
x: {{ dates|safe }},
|
||||
y: {{ xmr|safe }},
|
||||
line: {
|
||||
color: '#dd1d1d'
|
||||
,width: 2
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
var data2_mobile = {
|
||||
type: "scatter",
|
||||
mode: "lines",
|
||||
name: 'Monero Daily Transactions',
|
||||
x: {{ dates|safe }},
|
||||
y: {{ xmr|safe }},
|
||||
line: {
|
||||
color: '#dd1d1d'
|
||||
,width: 2
|
||||
}
|
||||
};
|
||||
|
||||
var data5 = {
|
||||
type: "scatter",
|
||||
mode: "lines",
|
||||
name: 'Bitcoin Daily Transactions',
|
||||
x: {{ dates|safe }},
|
||||
y: {{ btc|safe }},
|
||||
line: {
|
||||
color: '#ff9d1d'
|
||||
,width: 2
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
var data5_mobile = {
|
||||
type: "scatter",
|
||||
mode: "lines",
|
||||
name: 'Bitcoin Daily Transactions',
|
||||
x: {{ dates|safe }},
|
||||
y: {{ btc|safe }},
|
||||
line: {
|
||||
color: '#ff9d1d'
|
||||
,width: 2
|
||||
}
|
||||
};
|
||||
|
||||
var data = [data3, data1, data4, data5, data2];
|
||||
var data_mobile = [data3_mobile, data1_mobile, data4_mobile, data5_mobile, data2_mobile];
|
||||
|
||||
var layout = {
|
||||
plot_bgcolor:"#252221",
|
||||
paper_bgcolor:"#252221",
|
||||
annotations: [
|
||||
{
|
||||
xref: 'paper',
|
||||
yref: 'paper',
|
||||
x: 0.02,
|
||||
xanchor: 'auto',
|
||||
y: 0.98,
|
||||
yanchor: 'auto',
|
||||
text: 'Moneroj<br>https://www.moneroj.net<br>Chart provided as courtesy from Cake Wallet and Monero.com',
|
||||
showarrow: false,
|
||||
borderwidth: 1,
|
||||
bordercolor: '#5f5f5f',
|
||||
bgcolor: '#333333',
|
||||
borderpad: 5,
|
||||
align: 'center',
|
||||
font: {
|
||||
color: "white",
|
||||
size: 12
|
||||
}
|
||||
}],
|
||||
separators: ",.",
|
||||
legend: {
|
||||
x: 0.02,
|
||||
y: 0.85,
|
||||
bgcolor: '#333333',
|
||||
bordercolor: '#5f5f5f',
|
||||
borderwidth: 1,
|
||||
font: {
|
||||
color: 'white',
|
||||
size: 12
|
||||
},
|
||||
traceorder: 'normal',
|
||||
xanchor: 'auto',
|
||||
yanchor: 'auto'
|
||||
},
|
||||
hoverlabel: {
|
||||
namelength: -1
|
||||
},
|
||||
yaxis: {
|
||||
type: "log",
|
||||
title: {
|
||||
text: 'Transactions',
|
||||
font: {
|
||||
size: 20,
|
||||
color: 'white'
|
||||
}
|
||||
},
|
||||
tickformat :",.0f"
|
||||
,nticks: 10
|
||||
,tickfont: {
|
||||
color: "#ffffff"
|
||||
,size: 12
|
||||
}
|
||||
,gridcolor: "#333333"
|
||||
},
|
||||
xaxis: {
|
||||
hoverformat: "%Y-%m-%d",
|
||||
showgrid: true,
|
||||
type: 'date',
|
||||
nticks: 10
|
||||
,tickfont: {
|
||||
color: "#dddddd"
|
||||
,size: 13
|
||||
}
|
||||
,gridcolor: "#333333"
|
||||
,range: ['2010-03-20', '2023-01-01']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
var layout_mobile = {
|
||||
plot_bgcolor:"black",
|
||||
paper_bgcolor:"black",
|
||||
separators: ",.",
|
||||
hoverlabel: {
|
||||
namelength: -1
|
||||
},
|
||||
legend: {
|
||||
x: 0.02,
|
||||
y: 0.98,
|
||||
bgcolor: '#000000',
|
||||
bordercolor: '#5f5f5f',
|
||||
borderwidth: 1,
|
||||
font: {
|
||||
color: 'white',
|
||||
size: 5
|
||||
},
|
||||
traceorder: 'normal',
|
||||
xanchor: 'auto',
|
||||
yanchor: 'auto'
|
||||
},
|
||||
showlegend: false,
|
||||
yaxis: {
|
||||
type: "log",
|
||||
tickformat :",.0f"
|
||||
,nticks: 10
|
||||
,tickfont: {
|
||||
color: "#ffffff"
|
||||
,size: 7
|
||||
}
|
||||
,gridcolor: "#444444"
|
||||
},
|
||||
xaxis: {
|
||||
hoverformat: "%Y",
|
||||
showgrid: true,
|
||||
type: 'date',
|
||||
nticks: 10
|
||||
,tickfont: {
|
||||
color: "#dddddd"
|
||||
,size: 7
|
||||
}
|
||||
,gridcolor: "#444444"
|
||||
,range: ['2010-03-20', '2023-01-01']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
function findBootstrapEnvironment() {
|
||||
let envs = ['xs', 'sm', 'md', 'lg', 'xl'];
|
||||
|
||||
let el = document.createElement('div');
|
||||
document.body.appendChild(el);
|
||||
|
||||
let curEnv = envs.shift();
|
||||
|
||||
for (let env of envs.reverse()) {
|
||||
el.classList.add(`d-${env}-none`);
|
||||
|
||||
if (window.getComputedStyle(el).display === 'none') {
|
||||
curEnv = env;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
document.body.removeChild(el);
|
||||
return curEnv;
|
||||
|
||||
}
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
else {
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
</script>
|
||||
|
||||
{% endblock %}
|
|
@ -9,101 +9,29 @@
|
|||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" style="background-color:rgb(48, 44, 41)">
|
||||
|
||||
<!-- Main Content -->
|
||||
<div id="content">
|
||||
|
||||
<!-- Begin Page Content -->
|
||||
<div class="container-fluid"><br>
|
||||
<div class="row">
|
||||
<div class="col-xl-12 col-lg-12">
|
||||
<div class="card" id="graph1">
|
||||
<div
|
||||
class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">Daily Emission (USD)</h6>
|
||||
<div class="dropdown no-arrow">
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body pb-0 pt-0 pl-0 pr-0" style="height: 100px;">
|
||||
<div id="graph" style="height: 100%; width:100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph1" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
Daily Emission (USD)
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-3 col-md-6 mb-4">
|
||||
<div class="card border-left-new">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Current XMR Emission</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_xmr }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-3 col-md-6 mb-4">
|
||||
<div class="card border-left-new">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Highest XMR Emission</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ high_xmr }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-3 col-md-6 mb-4">
|
||||
<div class="card border-left-new">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Current BTC Emission</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_btc }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-3 col-md-6 mb-4">
|
||||
<div class="card border-left-new">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Highest BTC Emission</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ high_btc }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
<div class="col-xl-11 col-md-6 mb-4">
|
||||
<div class="alert alert-dark" role="alert">
|
||||
Not financial advice.
|
||||
For information about the chart, click the button >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-1">
|
||||
<button type="button" class="btn btn-dark btn-block" data-toggle="modal" href="#"
|
||||
data-target="#id_Modal">
|
||||
<div class="col-auto">
|
||||
+
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- /.container-fluid -->
|
||||
|
||||
</div>
|
||||
<!-- End of Main Content -->
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
@ -251,15 +179,15 @@
|
|||
,size: 13
|
||||
}
|
||||
,gridcolor: "#333333"
|
||||
,range: ['2010-11-14', '2024-01-01']
|
||||
,range: ['2010-11-14', '2023-01-01']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 120,
|
||||
r: 60,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 4
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -305,15 +233,15 @@
|
|||
,size: 7
|
||||
}
|
||||
,gridcolor: "#444444"
|
||||
,range: ['2010-11-14', '2024-01-01']
|
||||
,range: ['2010-11-14', '2023-01-01']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 40,
|
||||
r: 0,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 0
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -340,11 +268,9 @@
|
|||
}
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
document.getElementById("graph1").style.height="350px";
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
else {
|
||||
document.getElementById("graph1").style.height="700px";
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -9,82 +9,29 @@
|
|||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" style="background-color:rgb(48, 44, 41)">
|
||||
|
||||
<!-- Main Content -->
|
||||
<div id="content">
|
||||
|
||||
<!-- Begin Page Content -->
|
||||
<div class="container-fluid"><br>
|
||||
<div class="row">
|
||||
<div class="col-xl-12 col-lg-12">
|
||||
<div class="card" id="graph1">
|
||||
<div
|
||||
class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">Daily Emission (Native Units)
|
||||
</h6>
|
||||
<div class="dropdown no-arrow">
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body pb-0 pt-0 pl-0 pr-0" style="height: 100px;">
|
||||
<div id="graph" style="height: 100%; width:100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph1" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
Daily Emission (Native Units)
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-6 col-md-6 mb-4">
|
||||
<div class="card border-left-new">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Monero Daily Emission (XMR)</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_xmr }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-6 col-md-6 mb-4">
|
||||
<div class="card border-left-new">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Bitcoin Daily Emission (BTC)</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_btc }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
<div class="col-xl-11 col-md-6 mb-4">
|
||||
<div class="alert alert-dark" role="alert">
|
||||
Not financial advice.
|
||||
For information about the chart, click the button >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-1">
|
||||
<button type="button" class="btn btn-dark btn-block" data-toggle="modal" href="#"
|
||||
data-target="#id_Modal">
|
||||
<div class="col-auto">
|
||||
+
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- /.container-fluid -->
|
||||
|
||||
</div>
|
||||
<!-- End of Main Content -->
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
@ -232,15 +179,15 @@
|
|||
,size: 13
|
||||
}
|
||||
,gridcolor: "#333333"
|
||||
,range: ['2010-06-14', '2024-01-01']
|
||||
,range: ['2010-06-14', '2023-01-01']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 120,
|
||||
r: 60,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 4
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -286,15 +233,15 @@
|
|||
,size: 7
|
||||
}
|
||||
,gridcolor: "#444444"
|
||||
,range: ['2010-06-14', '2024-01-01']
|
||||
,range: ['2010-06-14', '2023-01-01']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 40,
|
||||
r: 0,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 0
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -321,11 +268,9 @@
|
|||
}
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
document.getElementById("graph1").style.height="350px";
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
else {
|
||||
document.getElementById("graph1").style.height="700px";
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -9,55 +9,29 @@
|
|||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" style="background-color:rgb(48, 44, 41)">
|
||||
|
||||
<!-- Main Content -->
|
||||
<div id="content">
|
||||
|
||||
<!-- Begin Page Content -->
|
||||
<div class="container-fluid"><br>
|
||||
<div class="row">
|
||||
<div class="col-xl-12 col-lg-12">
|
||||
<div class="card" id="graph1">
|
||||
<div
|
||||
class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">Price Deviation from 6 Months Average</h6>
|
||||
<div class="dropdown no-arrow">
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body" style="height: 100px;">
|
||||
<div id="graph" style="height: 100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph1" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
Price Deviation from 6 Months Average
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
<div class="col-xl-11 col-md-6 mb-4">
|
||||
<div class="alert alert-dark" role="alert">
|
||||
Not financial advice.
|
||||
For information about the chart, click the button >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-1">
|
||||
<button type="button" class="btn btn-dark btn-block" data-toggle="modal" href="#"
|
||||
data-target="#id_Modal">
|
||||
<div class="col-auto">
|
||||
+
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- /.container-fluid -->
|
||||
|
||||
</div>
|
||||
<!-- End of Main Content -->
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
@ -252,14 +226,13 @@
|
|||
,size: 13
|
||||
}
|
||||
,gridcolor: "#333333"
|
||||
,range: ['2014-05-01', '2023-01-01']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 120,
|
||||
r: 120,
|
||||
b: 35,
|
||||
t: 10,
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
@ -317,14 +290,13 @@
|
|||
,size: 7
|
||||
}
|
||||
,gridcolor: "#444444"
|
||||
,range: ['2014-05-01', '2023-01-01']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 40,
|
||||
r: 100,
|
||||
b: 35,
|
||||
t: 10,
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
@ -352,11 +324,9 @@
|
|||
}
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
document.getElementById("graph1").style.height="350px";
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
else {
|
||||
document.getElementById("graph1").style.height="700px";
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -9,58 +9,32 @@
|
|||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" style="background-color:rgb(48, 44, 41)">
|
||||
|
||||
<!-- Main Content -->
|
||||
<div id="content">
|
||||
|
||||
<!-- Begin Page Content -->
|
||||
<div class="container-fluid"><br>
|
||||
<div class="row">
|
||||
<div class="col-xl-12 col-lg-12">
|
||||
<div class="card" id="graph1">
|
||||
<div
|
||||
class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">Transacted Price Deviation (USD)</h6>
|
||||
<div class="dropdown no-arrow">
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body" style="height: 100px;">
|
||||
<div id="graph" style="height: 100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph1" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
Transacted Price Deviation (USD)
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
<div class="col-xl-11 col-md-6 mb-4">
|
||||
<div class="alert alert-dark" role="alert">
|
||||
Not financial advice.
|
||||
For information about the chart, click the button >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-1">
|
||||
<button type="button" class="btn btn-dark btn-block" data-toggle="modal" href="#"
|
||||
data-target="#id_Modal">
|
||||
<div class="col-auto">
|
||||
+
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- /.container-fluid -->
|
||||
|
||||
</div>
|
||||
<!-- End of Main Content -->
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
<!-- End of Content Wrapper -->
|
||||
|
||||
<!-- Modal -->
|
||||
<div class="modal fade" id="id_Modal" tabindex="-1" role="dialog" aria-labelledby="Modal" aria-hidden="true">
|
||||
|
@ -228,14 +202,13 @@
|
|||
,size: 13
|
||||
}
|
||||
,gridcolor: "#333333"
|
||||
,range: ['2014-05-01', '2023-01-01']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 120,
|
||||
r: 120,
|
||||
b: 35,
|
||||
t: 10,
|
||||
l: 100,
|
||||
r: 100,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
@ -293,14 +266,13 @@
|
|||
,size: 7
|
||||
}
|
||||
,gridcolor: "#444444"
|
||||
,range: ['2014-05-01', '2023-01-01']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 40,
|
||||
r: 100,
|
||||
b: 35,
|
||||
t: 10,
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
@ -328,11 +300,9 @@
|
|||
}
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
document.getElementById("graph1").style.height="350px";
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
else {
|
||||
document.getElementById("graph1").style.height="700px";
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -9,81 +9,29 @@
|
|||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" style="background-color:rgb(48, 44, 41)">
|
||||
|
||||
<!-- Main Content -->
|
||||
<div id="content">
|
||||
|
||||
<!-- Begin Page Content -->
|
||||
<div class="container-fluid"><br>
|
||||
<div class="row">
|
||||
<div class="col-xl-12 col-lg-12">
|
||||
<div class="card" id="graph1">
|
||||
<div
|
||||
class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">Mining Difficulty</h6>
|
||||
<div class="dropdown no-arrow">
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body pb-0 pt-0 pl-0 pr-0" style="height: 100px;">
|
||||
<div id="graph" style="height: 100%; width:100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph1" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
Mining Difficulty
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-6 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Monero Mining Difficulty</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_xmr }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-6 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Bitcoin Mining Difficulty</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_btc }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
<div class="col-xl-11 col-md-6 mb-4">
|
||||
<div class="alert alert-dark" role="alert">
|
||||
Not financial advice.
|
||||
For information about the chart, click the button >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-1">
|
||||
<button type="button" class="btn btn-dark btn-block" data-toggle="modal" href="#"
|
||||
data-target="#id_Modal">
|
||||
<div class="col-auto">
|
||||
+
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- /.container-fluid -->
|
||||
|
||||
</div>
|
||||
<!-- End of Main Content -->
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
@ -172,7 +120,7 @@
|
|||
yref: 'paper',
|
||||
x: 1,
|
||||
xanchor: 'auto',
|
||||
y: 0.6,
|
||||
y: 0.3,
|
||||
yanchor: 'auto',
|
||||
text: 'Moneroj<br>https://www.moneroj.net',
|
||||
showarrow: false,
|
||||
|
@ -189,7 +137,7 @@
|
|||
separators: ",.",
|
||||
legend: {
|
||||
x: 1,
|
||||
y: 0.95,
|
||||
y: 0.02,
|
||||
bgcolor: '#333333',
|
||||
bordercolor: '#5f5f5f',
|
||||
borderwidth: 1,
|
||||
|
@ -231,15 +179,14 @@
|
|||
,size: 13
|
||||
}
|
||||
,gridcolor: "#333333"
|
||||
,range: ['2009-01-01', '2026-01-01']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 120,
|
||||
r: 60,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 4
|
||||
l: 150,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -285,15 +232,14 @@
|
|||
,size: 7
|
||||
}
|
||||
,gridcolor: "#444444"
|
||||
,range: ['2009-01-01', '2026-01-01']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 40,
|
||||
r: 0,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 0
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -320,11 +266,9 @@
|
|||
}
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
document.getElementById("graph1").style.height="350px";
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
else {
|
||||
document.getElementById("graph1").style.height="700px";
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -9,81 +9,29 @@
|
|||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" style="background-color:rgb(48, 44, 41)">
|
||||
|
||||
<!-- Main Content -->
|
||||
<div id="content">
|
||||
|
||||
<!-- Begin Page Content -->
|
||||
<div class="container-fluid"><br>
|
||||
<div class="row">
|
||||
<div class="col-xl-12 col-lg-12">
|
||||
<div class="card" id="graph1">
|
||||
<div
|
||||
class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">Monero's Marketcap Dominance (%)</h6>
|
||||
<div class="dropdown no-arrow">
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body" style="height: 100px;">
|
||||
<div id="graph" style="height: 100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph1" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
Monero's Marketcap Dominance (%)
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-6 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Current Dominance</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_value }}%</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-6 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Highest Dominance</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ maximum }}%</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
<div class="col-xl-11 col-md-6 mb-4">
|
||||
<div class="alert alert-dark" role="alert">
|
||||
Not financial advice.
|
||||
For information about the chart, click the button >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-1">
|
||||
<button type="button" class="btn btn-dark btn-block" data-toggle="modal" href="#"
|
||||
data-target="#id_Modal">
|
||||
<div class="col-auto">
|
||||
+
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- /.container-fluid -->
|
||||
|
||||
</div>
|
||||
<!-- End of Main Content -->
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
@ -251,14 +199,13 @@ var layout = {
|
|||
,size: 13
|
||||
}
|
||||
,gridcolor: "#333333"
|
||||
,range: ['2014-05-01', '2023-08-01']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 120,
|
||||
r: 120,
|
||||
b: 35,
|
||||
t: 10,
|
||||
l: 100,
|
||||
r: 100,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
@ -316,14 +263,13 @@ var layout_mobile = {
|
|||
,size: 7
|
||||
}
|
||||
,gridcolor: "#444444"
|
||||
,range: ['2014-05-01', '2023-08-01']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 40,
|
||||
r: 100,
|
||||
b: 35,
|
||||
t: 10,
|
||||
l: 50,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
@ -351,11 +297,9 @@ function findBootstrapEnvironment() {
|
|||
}
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
document.getElementById("graph1").style.height="350px";
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
else {
|
||||
document.getElementById("graph1").style.height="700px";
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -9,91 +9,29 @@
|
|||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" style="background-color:rgb(48, 44, 41)">
|
||||
|
||||
<!-- Main Content -->
|
||||
<div id="content">
|
||||
|
||||
<!-- Begin Page Content -->
|
||||
<div class="container-fluid"><br>
|
||||
<div class="row">
|
||||
<div class="col-xl-12 col-lg-12">
|
||||
<div class="card" id="graph1">
|
||||
<div
|
||||
class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">Dread Subscribes (Darknet forum)</h6>
|
||||
<div class="dropdown no-arrow">
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body pb-0 pt-0 pl-0 pr-0" style="height: 100px;">
|
||||
<div id="graph" style="height: 100%; width:100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph1" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
Dread Subscribes (Darknet forum)
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
|
||||
<!-- Card -->
|
||||
<div class="col-xl-4 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Monero Subscribers</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_xmr }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Card -->
|
||||
<div class="col-xl-4 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Bitcoin Subscribers</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_btc }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Card -->
|
||||
<div class="col-xl-4 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Monero Dominance</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ dominance }}%</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
<div class="col-xl-11 col-md-6 mb-4">
|
||||
<div class="alert alert-dark" role="alert">
|
||||
Not financial advice.
|
||||
For information about the chart, click the button >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-1">
|
||||
<button type="button" class="btn btn-dark btn-block" data-toggle="modal" href="#"
|
||||
data-target="#id_Modal">
|
||||
<div class="col-auto">
|
||||
+
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- /.container-fluid -->
|
||||
|
||||
</div>
|
||||
<!-- End of Main Content -->
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
@ -217,9 +155,9 @@
|
|||
{
|
||||
xref: 'paper',
|
||||
yref: 'paper',
|
||||
x: 0.98,
|
||||
x: 0.3,
|
||||
xanchor: 'auto',
|
||||
y: 0.02,
|
||||
y: 1,
|
||||
yanchor: 'auto',
|
||||
text: 'Moneroj<br>https://www.moneroj.net',
|
||||
showarrow: false,
|
||||
|
@ -235,8 +173,8 @@
|
|||
}],
|
||||
separators: ",.",
|
||||
legend: {
|
||||
x: 0.98,
|
||||
y: 0.98,
|
||||
x: 0,
|
||||
y: 1,
|
||||
bgcolor: '#333333',
|
||||
bordercolor: '#5f5f5f',
|
||||
borderwidth: 1,
|
||||
|
@ -278,16 +216,15 @@
|
|||
,size: 13
|
||||
}
|
||||
,gridcolor: "#333333"
|
||||
,range: ['2021-12-01', '2022-12-01']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 120,
|
||||
r: 60,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 4
|
||||
}
|
||||
margin: {
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
var layout_mobile = {
|
||||
|
@ -298,8 +235,8 @@
|
|||
namelength: -1
|
||||
},
|
||||
legend: {
|
||||
x: 0.98,
|
||||
y: 0.02,
|
||||
x: 0,
|
||||
y: 1,
|
||||
bgcolor: '#000000',
|
||||
bordercolor: '#5f5f5f',
|
||||
borderwidth: 1,
|
||||
|
@ -332,16 +269,15 @@
|
|||
,size: 13
|
||||
}
|
||||
,gridcolor: "#333333"
|
||||
,range: ['2021-12-01', '2022-12-01']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 40,
|
||||
r: 0,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 0
|
||||
}
|
||||
margin: {
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
function findBootstrapEnvironment() {
|
||||
|
@ -367,11 +303,9 @@
|
|||
}
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
document.getElementById("graph1").style.height="350px";
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
else {
|
||||
document.getElementById("graph1").style.height="700px";
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -9,81 +9,29 @@
|
|||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" style="background-color:rgb(48, 44, 41)">
|
||||
|
||||
<!-- Main Content -->
|
||||
<div id="content">
|
||||
|
||||
<!-- Begin Page Content -->
|
||||
<div class="container-fluid"><br>
|
||||
<div class="row">
|
||||
<div class="col-xl-12 col-lg-12">
|
||||
<div class="card" id="graph1">
|
||||
<div
|
||||
class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">Breakeven efficiency required for mining profitability for Monero and Bitcoin (at $0.10/KWh, Hashes/Watt*second)</h6>
|
||||
<div class="dropdown no-arrow">
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body pb-0 pt-0 pl-0 pr-0" style="height: 100px;">
|
||||
<div id="graph" style="height: 100%; width:100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph1" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
Breakeven efficiency required for mining profitability for Monero and Bitcoin (at $0.10/KWh, Hashes/Watt*second)
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-6 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Monero Breakeven Efficiency</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_xmr }} Hashes / Watt * second</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-6 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Bitcoin Breakeven Efficiency</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_btc }} Hashes / Watt * second</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
<div class="col-xl-11 col-md-6 mb-4">
|
||||
<div class="alert alert-dark" role="alert">
|
||||
Not financial advice.
|
||||
For information about the chart, click the button >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-1">
|
||||
<button type="button" class="btn btn-dark btn-block" data-toggle="modal" href="#"
|
||||
data-target="#id_Modal">
|
||||
<div class="col-auto">
|
||||
+
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- /.container-fluid -->
|
||||
|
||||
</div>
|
||||
<!-- End of Main Content -->
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
@ -176,9 +124,9 @@ var data3 = {
|
|||
{
|
||||
xref: 'paper',
|
||||
yref: 'paper',
|
||||
x: 1,
|
||||
x: 0.02,
|
||||
xanchor: 'auto',
|
||||
y: 0.6,
|
||||
y: 0.02,
|
||||
yanchor: 'auto',
|
||||
text: 'Moneroj<br>https://www.moneroj.net',
|
||||
showarrow: false,
|
||||
|
@ -195,7 +143,7 @@ var data3 = {
|
|||
separators: ",.",
|
||||
legend: {
|
||||
x: 1,
|
||||
y: 0.95,
|
||||
y: 0.02,
|
||||
bgcolor: '#333333',
|
||||
bordercolor: '#5f5f5f',
|
||||
borderwidth: 1,
|
||||
|
@ -237,15 +185,14 @@ var data3 = {
|
|||
,size: 13
|
||||
}
|
||||
,gridcolor: "#333333"
|
||||
,range: ['2009-01-01', '2026-01-01']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 120,
|
||||
r: 60,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 4
|
||||
l: 150,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -257,8 +204,8 @@ var data3 = {
|
|||
namelength: -1
|
||||
},
|
||||
legend: {
|
||||
x: 0.98,
|
||||
y: 0.05,
|
||||
x: 0.02,
|
||||
y: 0.02,
|
||||
bgcolor: '#000000',
|
||||
bordercolor: '#5f5f5f',
|
||||
borderwidth: 1,
|
||||
|
@ -291,15 +238,14 @@ var data3 = {
|
|||
,size: 7
|
||||
}
|
||||
,gridcolor: "#444444"
|
||||
,range: ['2009-01-01', '2026-01-01']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 40,
|
||||
r: 0,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 0
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -326,11 +272,9 @@ var data3 = {
|
|||
}
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
document.getElementById("graph1").style.height="350px";
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
else {
|
||||
document.getElementById("graph1").style.height="700px";
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -9,74 +9,35 @@
|
|||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" style="background-color:rgb(48, 44, 41)">
|
||||
|
||||
<!-- Main Content -->
|
||||
<div id="content">
|
||||
|
||||
<!-- Begin Page Content -->
|
||||
<div class="container-fluid"><br>
|
||||
<div class="row">
|
||||
<div class="col-xl-12 col-lg-12">
|
||||
<div class="card" id="graph1">
|
||||
<div
|
||||
class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">Supply Difference</h6>
|
||||
<div class="dropdown no-arrow">
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body" style="height: 100px;">
|
||||
<div id="graph" style="height: 100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph1" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
Supply Difference
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-12 col-md-6 mb-4">
|
||||
<div class="card border-left-new">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Current Difference in Supply</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_diff }} BTC</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
<div class="col-xl-11 col-md-6 mb-4">
|
||||
<div class="alert alert-dark" role="alert">
|
||||
Not financial advice.
|
||||
For information about the chart, click the button >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-1">
|
||||
<button type="button" class="btn btn-dark btn-block" data-toggle="modal" href="#"
|
||||
data-target="#id_Modal">
|
||||
<div class="col-auto">
|
||||
+
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- /.container-fluid -->
|
||||
|
||||
</div>
|
||||
<!-- End of Main Content -->
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
||||
|
||||
|
||||
<!-- Modal -->
|
||||
<div class="modal fade" id="id_Modal" tabindex="-1" role="dialog" aria-labelledby="Modal" aria-hidden="true">
|
||||
<div class="modal-dialog" role="document">
|
||||
|
@ -225,10 +186,10 @@
|
|||
},
|
||||
margin: {
|
||||
l: 120,
|
||||
r: 60,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 4
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -278,11 +239,11 @@
|
|||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 40,
|
||||
r: 0,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 0
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -309,11 +270,9 @@
|
|||
}
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
document.getElementById("graph1").style.height="350px";
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
else {
|
||||
document.getElementById("graph1").style.height="700px";
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -122,9 +122,6 @@
|
|||
<div class="dropdown-menu" aria-labelledby="navbarDropdown">
|
||||
{% if user.is_authenticated %}
|
||||
<a class="nav-link" href="{% url 'users:logout' %}">Sortir</a>
|
||||
{% else %}
|
||||
<a class="nav-link" href="{% url 'users:login' %}">Connexion</a>
|
||||
<a class="nav-link" href="{% url 'users:register' %}">Enregistrement</a>
|
||||
{% endif %}
|
||||
<a class="nav-link" href="{% url 'charts:about' %}">Sur</a>
|
||||
<div class="dropdown-divider"></div>
|
||||
|
@ -140,42 +137,10 @@
|
|||
|
||||
<!-- ======= Hero Section ======= -->
|
||||
<section id="hero" class="d-flex flex-column justify-content-center align-items-center">
|
||||
{% if user.is_authenticated %}
|
||||
<div class="container" style="margin-top: 100px; margin-bottom: 120px;">
|
||||
<h1>Saviez-vous que toutes vos données sont exposées lorsque vous utilisez Bitcoin?</h1>
|
||||
<h2>Monero est ce que les gens pensent acheter lorsqu'ils investissent dans Bitcoin.</h2>
|
||||
</div>
|
||||
{% else %}
|
||||
|
||||
<div class="container" style="margin-top: 100px; margin-bottom: 120px;">
|
||||
<div class="row">
|
||||
<div class="col-xl-9 d-flex flex-column justify-content-center">
|
||||
<h1>Saviez-vous que toutes vos données sont exposées lorsque vous utilisez Bitcoin?</h1>
|
||||
<h2>Monero est ce que les gens pensent acheter lorsqu'ils investissent dans Bitcoin.</h2>
|
||||
</div>
|
||||
|
||||
<div class="col-xl-3 d-flex flex-column justify-content-center">
|
||||
<form action="{% url 'users:login' %}" method='POST'>
|
||||
{% csrf_token %}
|
||||
{% if form.errors %}
|
||||
<div class="alert alert-danger">
|
||||
<strong><center>Identifiant ou mot de passe incorrect.</center></strong>
|
||||
</div>
|
||||
{% endif %}
|
||||
<div class="form">
|
||||
<h1><i class="bx bx-user text-white"></i></h1>
|
||||
<p class="message">Connexion:</p><br>
|
||||
<input type="text" name="username" placeholder="Identifiant">
|
||||
<input type="password" name="password" placeholder="Passe">
|
||||
<button>Connexion</button>
|
||||
<p class="message"><a href="{% url 'users:register' %}">Créer un compte!</a></p>
|
||||
<input type="hidden" name="next" value="{% url 'charts:index' %}">
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
</section>
|
||||
<!-- End Hero -->
|
||||
|
||||
|
@ -843,7 +808,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="social-links text-center text-lg-right pt-3 pt-lg-0">
|
||||
<a href="http://ilt7jgmfro76wgrtt6752lvfnhcz6wk5sjqhyvntjixygp3cwpvr4nad.onion" class="onion" alt="Tor Version"><i class="bx bx-hide"></i></a>
|
||||
<a href="http://moneroj5xq4ttg4ec7e5secqdyw5mcovzvfvlq6i7omv353i6mnexlqd.onion" class="onion" alt="Tor Version"><i class="bx bx-hide"></i></a>
|
||||
<a href="https://twitter.com/CryptoMorpheus_" class="twitter" alt="Twitter Profile"><i class="bx bxl-twitter"></i></a>
|
||||
<a href="mailto:morpheus.anonymous@protonmail.com" class="email" alt="Send E-mail"><i class="bx bx-mail-send"></i></a>
|
||||
</div>
|
||||
|
|
|
@ -9,81 +9,29 @@
|
|||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" style="background-color:rgb(48, 44, 41)">
|
||||
|
||||
<!-- Main Content -->
|
||||
<div id="content">
|
||||
|
||||
<!-- Begin Page Content -->
|
||||
<div class="container-fluid"><br>
|
||||
<div class="row">
|
||||
<div class="col-xl-12 col-lg-12">
|
||||
<div class="card" id="graph1">
|
||||
<div
|
||||
class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">Fractal Multiple
|
||||
</h6>
|
||||
<div class="dropdown no-arrow">
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body pb-0 pt-0 pl-0 pr-0" style="height: 100px;">
|
||||
<div id="graph" style="height: 100%; width:100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph1" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
Fractal Multiple
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-6 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Current Multiple From Previous Top</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_multiple }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-6 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Highest Multiple</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ maximum }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
<div class="col-xl-11 col-md-6 mb-4">
|
||||
<div class="alert alert-dark" role="alert">
|
||||
Not financial advice.
|
||||
For information about the chart, click the button >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-1">
|
||||
<button type="button" class="btn btn-dark btn-block" data-toggle="modal" href="#"
|
||||
data-target="#id_Modal">
|
||||
<div class="col-auto">
|
||||
+
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- /.container-fluid -->
|
||||
|
||||
</div>
|
||||
<!-- End of Main Content -->
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
@ -236,11 +184,11 @@
|
|||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 120,
|
||||
r: 60,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 4
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -290,11 +238,11 @@
|
|||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 40,
|
||||
r: 0,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 0
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -321,11 +269,9 @@
|
|||
}
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
document.getElementById("graph1").style.height="350px";
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
else {
|
||||
document.getElementById("graph1").style.height="700px";
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -9,54 +9,29 @@
|
|||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" style="background-color:rgb(48, 44, 41)">
|
||||
|
||||
<!-- Main Content -->
|
||||
<div id="content">
|
||||
|
||||
<!-- Begin Page Content -->
|
||||
<div class="container-fluid"><br>
|
||||
<div class="row">
|
||||
<div class="col-xl-12 col-lg-12">
|
||||
<div class="card" id="graph1">
|
||||
<div
|
||||
class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">Golden Ratio Multiplier</h6>
|
||||
<div class="dropdown no-arrow">
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body pb-0 pt-0 pl-0 pr-0" style="height: 100px;">
|
||||
<div id="graph" style="height: 100%; width:100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph1" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
Golden Ratio Multiplier
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
<div class="col-xl-11 col-md-6 mb-4">
|
||||
<div class="alert alert-dark" role="alert">
|
||||
Not financial advice.
|
||||
For information about the chart, click the button >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-1">
|
||||
<button type="button" class="btn btn-dark btn-block" data-toggle="modal" href="#"
|
||||
data-target="#id_Modal">
|
||||
<div class="col-auto">
|
||||
+
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- /.container-fluid -->
|
||||
|
||||
</div>
|
||||
<!-- End of Main Content -->
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
@ -469,11 +444,11 @@ var data12_mobile = {
|
|||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 120,
|
||||
r: 60,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 4
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -523,11 +498,11 @@ var data12_mobile = {
|
|||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 40,
|
||||
r: 0,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 0
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -554,11 +529,9 @@ var data12_mobile = {
|
|||
}
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
document.getElementById("graph1").style.height="350px";
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
else {
|
||||
document.getElementById("graph1").style.height="700px";
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -9,71 +9,29 @@
|
|||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" style="background-color:rgb(48, 44, 41)">
|
||||
|
||||
<!-- Main Content -->
|
||||
<div id="content">
|
||||
|
||||
<!-- Begin Page Content -->
|
||||
<div class="container-fluid"><br>
|
||||
<div class="row">
|
||||
<div class="col-xl-12 col-lg-12">
|
||||
<div class="card" id="graph1">
|
||||
<div
|
||||
class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">Price in Dollars Per Hashrate</h6>
|
||||
<div class="dropdown no-arrow">
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body pb-0 pt-0 pl-0 pr-0" style="height: 100px;">
|
||||
<div id="graph" style="height: 100%; width:100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph1" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
Price in Dollars Per Hashrate
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-12 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Current Price Per Hashrate</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_hashrate }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
<div class="col-xl-11 col-md-6 mb-4">
|
||||
<div class="alert alert-dark" role="alert">
|
||||
Not financial advice.
|
||||
For information about the chart, click the button >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-1">
|
||||
<button type="button" class="btn btn-dark btn-block" data-toggle="modal" href="#"
|
||||
data-target="#id_Modal">
|
||||
<div class="col-auto">
|
||||
+
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- /.container-fluid -->
|
||||
|
||||
</div>
|
||||
<!-- End of Main Content -->
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
@ -108,7 +66,7 @@
|
|||
var data1 = {
|
||||
type: "scatter",
|
||||
mode: "lines",
|
||||
name: 'Buy',
|
||||
name: 'Oversold',
|
||||
x: {{ dates|safe }},
|
||||
y: {{ buy|safe }},
|
||||
line: {
|
||||
|
@ -120,7 +78,7 @@
|
|||
var data1_mobile = {
|
||||
type: "scatter",
|
||||
mode: "lines",
|
||||
name: 'Buy',
|
||||
name: 'Oversold',
|
||||
x: {{ dates|safe }},
|
||||
y: {{ buy|safe }},
|
||||
line: {
|
||||
|
@ -132,7 +90,7 @@
|
|||
var data2 = {
|
||||
type: "scatter",
|
||||
mode: "lines",
|
||||
name: 'Sell',
|
||||
name: 'Overbought',
|
||||
x: {{ dates|safe }},
|
||||
y: {{ sell|safe }},
|
||||
line: {
|
||||
|
@ -144,7 +102,7 @@
|
|||
var data2_mobile = {
|
||||
type: "scatter",
|
||||
mode: "lines",
|
||||
name: 'Sell',
|
||||
name: 'Overbought',
|
||||
x: {{ dates|safe }},
|
||||
y: {{ sell|safe }},
|
||||
line: {
|
||||
|
@ -221,9 +179,9 @@
|
|||
{
|
||||
xref: 'paper',
|
||||
yref: 'paper',
|
||||
x: 1,
|
||||
x: 0.02,
|
||||
xanchor: 'auto',
|
||||
y: 0.05,
|
||||
y: 0.02,
|
||||
yanchor: 'auto',
|
||||
text: 'Moneroj<br>https://www.moneroj.net',
|
||||
showarrow: false,
|
||||
|
@ -239,8 +197,8 @@
|
|||
}],
|
||||
separators: ",.",
|
||||
legend: {
|
||||
x: 1,
|
||||
y: 1,
|
||||
x: 0.3,
|
||||
y: 0.02,
|
||||
bgcolor: '#333333',
|
||||
bordercolor: '#5f5f5f',
|
||||
borderwidth: 1,
|
||||
|
@ -282,15 +240,14 @@
|
|||
,size: 13
|
||||
}
|
||||
,gridcolor: "#333333"
|
||||
,range: ['2014-04-10', '2023-06-01']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 120,
|
||||
r: 60,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 4
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -302,8 +259,8 @@
|
|||
namelength: -1
|
||||
},
|
||||
legend: {
|
||||
x: 0.98,
|
||||
y: 0.05,
|
||||
x: 0.02,
|
||||
y: 0.02,
|
||||
bgcolor: '#000000',
|
||||
bordercolor: '#5f5f5f',
|
||||
borderwidth: 1,
|
||||
|
@ -336,15 +293,14 @@
|
|||
,size: 7
|
||||
}
|
||||
,gridcolor: "#444444"
|
||||
,range: ['2014-04-10', '2023-06-01']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 40,
|
||||
r: 0,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 0
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -371,11 +327,9 @@
|
|||
}
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
document.getElementById("graph1").style.height="350px";
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
else {
|
||||
document.getElementById("graph1").style.height="700px";
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -9,71 +9,29 @@
|
|||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" style="background-color:rgb(48, 44, 41)">
|
||||
|
||||
<!-- Main Content -->
|
||||
<div id="content">
|
||||
|
||||
<!-- Begin Page Content -->
|
||||
<div class="container-fluid"><br>
|
||||
<div class="row">
|
||||
<div class="col-xl-12 col-lg-12">
|
||||
<div class="card" id="graph1">
|
||||
<div
|
||||
class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">Monero's Hashrate</h6>
|
||||
<div class="dropdown no-arrow">
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body pb-0 pt-0 pl-0 pr-0" style="height: 100px;">
|
||||
<div id="graph" style="height: 100%; width:100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph1" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
Monero's Hashrate
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-12 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Current Hashrate (Hashs/s)</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_hashrate }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
<div class="col-xl-11 col-md-6 mb-4">
|
||||
<div class="alert alert-dark" role="alert">
|
||||
Not financial advice.
|
||||
For information about the chart, click the button >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-1">
|
||||
<button type="button" class="btn btn-dark btn-block" data-toggle="modal" href="#"
|
||||
data-target="#id_Modal">
|
||||
<div class="col-auto">
|
||||
+
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- /.container-fluid -->
|
||||
|
||||
</div>
|
||||
<!-- End of Main Content -->
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
@ -197,15 +155,14 @@
|
|||
,size: 13
|
||||
}
|
||||
,gridcolor: "#333333"
|
||||
,range: ['2014-05-01', '2023-01-01']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 120,
|
||||
r: 60,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 4
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -251,15 +208,14 @@
|
|||
,size: 7
|
||||
}
|
||||
,gridcolor: "#444444"
|
||||
,range: ['2014-05-01', '2023-01-01']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 40,
|
||||
r: 0,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 0
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -286,11 +242,9 @@
|
|||
}
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
document.getElementById("graph1").style.height="350px";
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
else {
|
||||
document.getElementById("graph1").style.height="700px";
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -9,91 +9,29 @@
|
|||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" style="background-color:rgb(48, 44, 41)">
|
||||
|
||||
<!-- Main Content -->
|
||||
<div id="content">
|
||||
|
||||
<!-- Begin Page Content -->
|
||||
<div class="container-fluid"><br>
|
||||
<div class="row">
|
||||
<div class="col-xl-12 col-lg-12">
|
||||
<div class="card" id="graph1">
|
||||
<div
|
||||
class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">Price Versus Hashrate (Dollars)</h6>
|
||||
<div class="dropdown no-arrow">
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body pb-0 pt-0 pl-0 pr-0" style="height: 100px;">
|
||||
<div id="graph" style="height: 100%; width:100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph1" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
Price Versus Hashrate (Dollars)
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-4 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Current Hashrate</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_hashrate }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-4 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Current Price in Dollars</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_priceusd }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-4 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Current Price in Sats</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_pricebtc }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
<div class="col-xl-11 col-md-6 mb-4">
|
||||
<div class="alert alert-dark" role="alert">
|
||||
Not financial advice.
|
||||
For information about the chart, click the button >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-1">
|
||||
<button type="button" class="btn btn-dark btn-block" data-toggle="modal" href="#"
|
||||
data-target="#id_Modal">
|
||||
<div class="col-auto">
|
||||
+
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- /.container-fluid -->
|
||||
|
||||
</div>
|
||||
<!-- End of Main Content -->
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
@ -281,15 +219,14 @@
|
|||
,size: 13
|
||||
}
|
||||
,gridcolor: "#333333"
|
||||
,range: ['2014-04-10', '2023-01-01']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 120,
|
||||
r: 60,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 4
|
||||
l: 100,
|
||||
r: 100,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -347,15 +284,14 @@
|
|||
,size: 7
|
||||
}
|
||||
,gridcolor: "#444444"
|
||||
,range: ['2014-04-10', '2023-01-01']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 40,
|
||||
r: 0,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 0
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -382,11 +318,9 @@
|
|||
}
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
document.getElementById("graph1").style.height="350px";
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
else {
|
||||
document.getElementById("graph1").style.height="700px";
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
</script>
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -9,85 +9,32 @@
|
|||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" style="background-color:rgb(48, 44, 41)">
|
||||
|
||||
<!-- Main Content -->
|
||||
<div id="content">
|
||||
|
||||
<!-- Begin Page Content -->
|
||||
<div class="container-fluid"><br>
|
||||
<div class="row">
|
||||
<div class="col-xl-12 col-lg-12">
|
||||
<div class="card" id="graph1">
|
||||
<div
|
||||
class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">Annualized Inflation for both Monero and Bitcoin</h6>
|
||||
<div class="dropdown no-arrow">
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body pb-0 pt-0 pl-0 pr-0" style="height: 100px;">
|
||||
<div id="graph" style="height: 100%; width:100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph1" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
Annualized Inflation for both Monero and Bitcoin
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-6 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Current Monero Annualized Inflation (%)</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_xmr }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-6 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Current Bitcoin Annualized Inflation (%)</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_btc }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
<div class="col-xl-11 col-md-6 mb-4">
|
||||
<div class="alert alert-dark" role="alert">
|
||||
Not financial advice.
|
||||
For information about the chart, click the button >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-1">
|
||||
<button type="button" class="btn btn-dark btn-block" data-toggle="modal" href="#"
|
||||
data-target="#id_Modal">
|
||||
<div class="col-auto">
|
||||
+
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- /.container-fluid -->
|
||||
|
||||
</div>
|
||||
<!-- End of Main Content -->
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
||||
<!-- Modal -->
|
||||
<div class="modal fade" id="id_Modal" tabindex="-1" role="dialog" aria-labelledby="Modal" aria-hidden="true">
|
||||
<div class="modal-dialog" role="document">
|
||||
|
@ -287,13 +234,13 @@
|
|||
,range: ['2009-01-01', '2026-01-01']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 120,
|
||||
r: 60,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 4
|
||||
}
|
||||
margin: {
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
var layout_mobile = {
|
||||
|
@ -341,13 +288,13 @@
|
|||
,range: ['2009-01-01', '2026-01-01']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 40,
|
||||
r: 0,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 0
|
||||
}
|
||||
margin: {
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
function findBootstrapEnvironment() {
|
||||
|
@ -373,11 +320,9 @@
|
|||
}
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
document.getElementById("graph1").style.height="350px";
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
else {
|
||||
document.getElementById("graph1").style.height="700px";
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{% extends 'charts/base.html' %}
|
||||
|
||||
{% block header %}
|
||||
<title>Moneroj.net - Inflation-Adjusted Fractal</title>
|
||||
<title>Moneroj.net - Fractal Multiple</title>
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
@ -9,81 +9,29 @@
|
|||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" style="background-color:rgb(48, 44, 41)">
|
||||
|
||||
<!-- Main Content -->
|
||||
<div id="content">
|
||||
|
||||
<!-- Begin Page Content -->
|
||||
<div class="container-fluid"><br>
|
||||
<div class="row">
|
||||
<div class="col-xl-12 col-lg-12">
|
||||
<div class="card" id="graph1">
|
||||
<div
|
||||
class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">Inflation-Adjusted Fractal
|
||||
</h6>
|
||||
<div class="dropdown no-arrow">
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body pb-0 pt-0 pl-0 pr-0" style="height: 100px;">
|
||||
<div id="graph" style="height: 100%; width:100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph1" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
Inflation-Adjusted Fractal
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-6 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Current Multiple (considering inflation)</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_multiple }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-6 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Highest Multiple</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ maximum }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
<div class="col-xl-11 col-md-6 mb-4">
|
||||
<div class="alert alert-dark" role="alert">
|
||||
Not financial advice.
|
||||
For information about the chart, click the button >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-1">
|
||||
<button type="button" class="btn btn-dark btn-block" data-toggle="modal" href="#"
|
||||
data-target="#id_Modal">
|
||||
<div class="col-auto">
|
||||
+
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- /.container-fluid -->
|
||||
|
||||
</div>
|
||||
<!-- End of Main Content -->
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
@ -101,16 +49,7 @@
|
|||
<div class="modal-body">
|
||||
This is a very simple chart that displays Monero's two cycles, one above the other, as fractals one from
|
||||
the other. This shows the past and current returns
|
||||
as a multiple from the previous cycle top, considering the inflation variation since the current cycle
|
||||
started. Formula is sqrt(inflation/inflationattop)*price.
|
||||
The X axis is scaled and reffers to the percentage of the cycle that is completed (judging by the
|
||||
price-action pattern). This adjustment was necessary because
|
||||
the blue line seems to be doing exactly what the red line did, but since there is so much difference in
|
||||
the inflation from the last local top to current price (10% to 1%),
|
||||
the current price is way higher than it was supposed to be. This is because a lower inflation rate means
|
||||
less sell pressure, and therefore higher prices. If
|
||||
this logic is true, then, since inflation will fall to 0.8% soon enough, we should expect even higher
|
||||
prices.<br>
|
||||
as a multiple from the previous cycle top, considering its inflation.<br>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
|
||||
|
@ -180,9 +119,9 @@
|
|||
{
|
||||
xref: 'paper',
|
||||
yref: 'paper',
|
||||
x: 0.80,
|
||||
x: 0.02,
|
||||
xanchor: 'auto',
|
||||
y: 0.05,
|
||||
y: 0.98,
|
||||
yanchor: 'auto',
|
||||
text: 'Moneroj<br>https://www.moneroj.net',
|
||||
showarrow: false,
|
||||
|
@ -245,11 +184,11 @@
|
|||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 120,
|
||||
r: 60,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 4
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -299,11 +238,11 @@
|
|||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 40,
|
||||
r: 0,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 0
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -330,13 +269,12 @@
|
|||
}
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
document.getElementById("graph1").style.height="350px";
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
else {
|
||||
document.getElementById("graph1").style.height="700px";
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
{% endblock %}
|
|
@ -9,101 +9,29 @@
|
|||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" style="background-color:rgb(48, 44, 41)">
|
||||
|
||||
<!-- Main Content -->
|
||||
<div id="content">
|
||||
|
||||
<!-- Begin Page Content -->
|
||||
<div class="container-fluid"><br>
|
||||
<div class="row">
|
||||
<div class="col-xl-12 col-lg-12">
|
||||
<div class="card" id="graph1">
|
||||
<div
|
||||
class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">Return Versus Inflation
|
||||
</h6>
|
||||
<div class="dropdown no-arrow">
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body" style="height: 100px;">
|
||||
<div id="graph" style="height: 100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph1" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
Return Versus Inflation
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-3 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Monero's Return on capital</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_xmr }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-3 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Dash's Return on Capital</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_dash }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-3 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Grin's Return on Capital</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_grin }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-3 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Zcash's Return on Capital</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_zcash }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
<div class="col-xl-11 col-md-6 mb-4">
|
||||
<div class="alert alert-dark" role="alert">
|
||||
Not financial advice.
|
||||
For information about the chart, click the button >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-1">
|
||||
<button type="button" class="btn btn-dark btn-block" data-toggle="modal" href="#"
|
||||
data-target="#id_Modal">
|
||||
<div class="col-auto">
|
||||
+
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- /.container-fluid -->
|
||||
|
||||
</div>
|
||||
<!-- End of Main Content -->
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
@ -386,11 +314,11 @@ var layout = {
|
|||
},
|
||||
},
|
||||
margin: {
|
||||
l: 120,
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 60,
|
||||
t: 10,
|
||||
pad: 4
|
||||
b: 100,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -445,11 +373,11 @@ var layout_mobile = {
|
|||
},
|
||||
},
|
||||
margin: {
|
||||
l: 40,
|
||||
r: 0,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 0
|
||||
l: 50,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -476,11 +404,9 @@ function findBootstrapEnvironment() {
|
|||
}
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
document.getElementById("graph1").style.height="350px";
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
else {
|
||||
document.getElementById("graph1").style.height="700px";
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -9,100 +9,29 @@
|
|||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" style="background-color:rgb(48, 44, 41)">
|
||||
|
||||
<!-- Main Content -->
|
||||
<div id="content">
|
||||
|
||||
<!-- Begin Page Content -->
|
||||
<div class="container-fluid"><br>
|
||||
<div class="row">
|
||||
<div class="col-xl-12 col-lg-12">
|
||||
<div class="card" id="graph1">
|
||||
<div
|
||||
class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">Marketcap (USD)</h6>
|
||||
<div class="dropdown no-arrow">
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body pb-0 pt-0 pl-0 pr-0" style="height: 100px;">
|
||||
<div id="graph" style="height: 100%; width:100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph1" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
Marketcap (USD)
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-3 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Monero's Marketcap</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_xmr }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-3 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Dash's Marketcap</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_dash }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-3 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Grin's Marketcap</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_grin }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-3 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Zcash's Marketcap</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_zcash }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
<div class="col-xl-11 col-md-6 mb-4">
|
||||
<div class="alert alert-dark" role="alert">
|
||||
Not financial advice.
|
||||
For information about the chart, click the button >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-1">
|
||||
<button type="button" class="btn btn-dark btn-block" data-toggle="modal" href="#"
|
||||
data-target="#id_Modal">
|
||||
<div class="col-auto">
|
||||
+
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- /.container-fluid -->
|
||||
|
||||
</div>
|
||||
<!-- End of Main Content -->
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
@ -302,11 +231,11 @@
|
|||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 120,
|
||||
r: 60,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 4
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -356,11 +285,11 @@
|
|||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 40,
|
||||
r: 0,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 0
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -387,11 +316,9 @@
|
|||
}
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
document.getElementById("graph1").style.height="350px";
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
else {
|
||||
document.getElementById("graph1").style.height="700px";
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
</script>
|
||||
|
|
336
charts/templates/charts/marketcycle.html
Normal file
336
charts/templates/charts/marketcycle.html
Normal file
|
@ -0,0 +1,336 @@
|
|||
{% extends 'charts/base.html' %}
|
||||
|
||||
{% block header %}
|
||||
<title>Moneroj.net - Stock to Flow Multiple</title>
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" style="background-color:rgb(48, 44, 41)">
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph1" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
Market Cycle
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
||||
<!-- Modal -->
|
||||
<div class="modal fade" id="id_Modal" tabindex="-1" role="dialog" aria-labelledby="Modal" aria-hidden="true">
|
||||
<div class="modal-dialog" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title" id="Modal">Help about the chart</h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Cancelar">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
This chart shows an estimated Market Cycle for Monero, based on its price agains Bitcoin. The lower the more devaluated the coin is, and closer to the end of its Bear Market. Chart provided as courtesy from Cake Wallet and Monero.com. <a href="https://monero.com/charts/cycle" target="_blank">Link.</a><br>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Fim do Modal -->
|
||||
|
||||
|
||||
<!-- Page level plugins -->
|
||||
<script>
|
||||
var data1 = {
|
||||
type: "scatter",
|
||||
mode: "lines",
|
||||
name: 'Oversold',
|
||||
x: {{ dates|safe }},
|
||||
y: {{ buy|safe }},
|
||||
line: {
|
||||
color: '#00ff00'
|
||||
,width: 1
|
||||
}
|
||||
};
|
||||
|
||||
var data1_mobile = {
|
||||
type: "scatter",
|
||||
mode: "lines",
|
||||
name: 'Oversold',
|
||||
x: {{ dates|safe }},
|
||||
y: {{ buy|safe }},
|
||||
line: {
|
||||
color: '#00ff00'
|
||||
,width: 1
|
||||
}
|
||||
};
|
||||
|
||||
var data2 = {
|
||||
type: "scatter",
|
||||
mode: "lines",
|
||||
name: 'Overbought',
|
||||
x: {{ dates|safe }},
|
||||
y: {{ sell|safe }},
|
||||
line: {
|
||||
color: '#ff0000'
|
||||
,width: 1
|
||||
}
|
||||
};
|
||||
|
||||
var data2_mobile = {
|
||||
type: "scatter",
|
||||
mode: "lines",
|
||||
name: 'Overbought',
|
||||
x: {{ dates|safe }},
|
||||
y: {{ sell|safe }},
|
||||
line: {
|
||||
color: '#ff0000'
|
||||
,width: 1
|
||||
}
|
||||
};
|
||||
|
||||
var data3 = {
|
||||
type: "scatter",
|
||||
mode: "markers",
|
||||
name: 'Average price on date',
|
||||
x: {{ dates|safe }},
|
||||
y: {{ color|safe }},
|
||||
line: {color: '#7f421d'},
|
||||
marker: {
|
||||
color: {{ color|safe }},
|
||||
colorbar: {
|
||||
title: {
|
||||
text: 'Cycle on the Bitcoin pair (%)',
|
||||
side: 'right'
|
||||
,font: {
|
||||
color: 'white'
|
||||
,size: 14
|
||||
}
|
||||
}
|
||||
,thickness: 10
|
||||
,tickfont: {
|
||||
color: 'white'
|
||||
,size: 14
|
||||
}
|
||||
,borderwidth: 0
|
||||
},
|
||||
colorscale: [['0', '#0000ff'], ['0.33', '#00ff00'], ['0.66', '#ffff00'], ['1', '#ff0000']],
|
||||
sizemode: 'area',
|
||||
size: 5,
|
||||
cmax: 100,
|
||||
cmin: 0
|
||||
}
|
||||
};
|
||||
|
||||
var data3_mobile = {
|
||||
type: "scatter",
|
||||
mode: "markers",
|
||||
name: 'Average price on date',
|
||||
x: {{ dates|safe }},
|
||||
y: {{ color|safe }},
|
||||
line: {color: '#7f421d'},
|
||||
marker: {
|
||||
color: {{ color|safe }},
|
||||
colorbar: {
|
||||
thickness: 4
|
||||
,tickfont: {
|
||||
color: 'white'
|
||||
,size: 6
|
||||
}
|
||||
,borderwidth: 0
|
||||
},
|
||||
colorscale: [['0', '#0000ff'], ['0.33', '#00ff00'], ['0.66', '#ffff00'], ['1', '#ff0000']],
|
||||
sizemode: 'area',
|
||||
size: 3,
|
||||
cmax: 100,
|
||||
cmin: 0
|
||||
}
|
||||
};
|
||||
|
||||
var data = [data1, data2, data3];
|
||||
var data_mobile = [data1_mobile, data2_mobile, data3_mobile];
|
||||
|
||||
var layout = {
|
||||
plot_bgcolor:"#252221",
|
||||
paper_bgcolor:"#252221",
|
||||
annotations: [
|
||||
{
|
||||
xref: 'paper',
|
||||
yref: 'paper',
|
||||
x: 0.50,
|
||||
xanchor: 'auto',
|
||||
y: 0.98,
|
||||
yanchor: 'auto',
|
||||
text: 'Moneroj<br>https://www.moneroj.net<br>Chart provided as courtesy from Cake Wallet and Monero.com',
|
||||
showarrow: false,
|
||||
borderwidth: 1,
|
||||
bordercolor: '#5f5f5f',
|
||||
bgcolor: '#333333',
|
||||
borderpad: 5,
|
||||
align: 'center',
|
||||
font: {
|
||||
color: "white",
|
||||
size: 12
|
||||
}
|
||||
}],
|
||||
separators: ",.",
|
||||
legend: {
|
||||
x: 0.98,
|
||||
y: 0.98,
|
||||
bgcolor: '#333333',
|
||||
bordercolor: '#5f5f5f',
|
||||
borderwidth: 1,
|
||||
font: {
|
||||
color: 'white',
|
||||
size: 12
|
||||
},
|
||||
traceorder: 'normal',
|
||||
xanchor: 'auto',
|
||||
yanchor: 'auto'
|
||||
},
|
||||
hoverlabel: {
|
||||
namelength: -1
|
||||
},
|
||||
yaxis: {
|
||||
type: "linear",
|
||||
title: {
|
||||
text: 'Cycle',
|
||||
font: {
|
||||
size: 20,
|
||||
color: 'white'
|
||||
}
|
||||
},
|
||||
tickformat :",.1f"
|
||||
,nticks: 8
|
||||
,tickfont: {
|
||||
color: "#ffffff"
|
||||
,size: 12
|
||||
}
|
||||
,gridcolor: "#333333"
|
||||
},
|
||||
xaxis: {
|
||||
hoverformat: "%Y-%m-%d",
|
||||
showgrid: true,
|
||||
type: 'date',
|
||||
nticks: 10
|
||||
,tickfont: {
|
||||
color: "#dddddd"
|
||||
,size: 13
|
||||
}
|
||||
,gridcolor: "#333333"
|
||||
,range: ['2014-02-01', '2023-06-01']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
var layout_mobile = {
|
||||
plot_bgcolor:"black",
|
||||
paper_bgcolor:"black",
|
||||
separators: ",.",
|
||||
hoverlabel: {
|
||||
namelength: -1
|
||||
},
|
||||
legend: {
|
||||
x: 0.98,
|
||||
y: 0.02,
|
||||
bgcolor: '#000000',
|
||||
bordercolor: '#5f5f5f',
|
||||
borderwidth: 1,
|
||||
font: {
|
||||
color: 'white',
|
||||
size: 5
|
||||
},
|
||||
traceorder: 'normal',
|
||||
xanchor: 'auto',
|
||||
yanchor: 'auto'
|
||||
},
|
||||
showlegend: false,
|
||||
yaxis: {
|
||||
type: "linear",
|
||||
tickformat :",.1f"
|
||||
,nticks: 10
|
||||
,tickfont: {
|
||||
color: "#ffffff"
|
||||
,size: 7
|
||||
}
|
||||
,gridcolor: "#444444"
|
||||
},
|
||||
xaxis: {
|
||||
hoverformat: "%Y",
|
||||
showgrid: true,
|
||||
type: 'date',
|
||||
nticks: 10
|
||||
,tickfont: {
|
||||
color: "#dddddd"
|
||||
,size: 7
|
||||
}
|
||||
,gridcolor: "#444444"
|
||||
,range: ['2014-02-01', '2023-06-01']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
function findBootstrapEnvironment() {
|
||||
let envs = ['xs', 'sm', 'md', 'lg', 'xl'];
|
||||
|
||||
let el = document.createElement('div');
|
||||
document.body.appendChild(el);
|
||||
|
||||
let curEnv = envs.shift();
|
||||
|
||||
for (let env of envs.reverse()) {
|
||||
el.classList.add(`d-${env}-none`);
|
||||
|
||||
if (window.getComputedStyle(el).display === 'none') {
|
||||
curEnv = env;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
document.body.removeChild(el);
|
||||
return curEnv;
|
||||
|
||||
}
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
else {
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
</script>
|
||||
|
||||
{% endblock %}
|
|
@ -9,95 +9,34 @@
|
|||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" style="background-color:rgb(48, 44, 41)">
|
||||
|
||||
<!-- Main Content -->
|
||||
<div id="content">
|
||||
|
||||
<!-- Begin Page Content -->
|
||||
<div class="container-fluid"><br>
|
||||
<div class="row">
|
||||
<div class="col-xl-12 col-lg-12">
|
||||
<div class="card" id="graph1">
|
||||
<div
|
||||
class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">Merchants accepting cryptocurrency (absolute numbers)</h6>
|
||||
<div class="dropdown no-arrow">
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body pb-0 pt-0 pl-0 pr-0" style="height: 100px;">
|
||||
<div id="graph" style="height: 100%; width:100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph1" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
Merchants accepting cryptocurrency (absolute numbers)
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
|
||||
<!-- Card -->
|
||||
<div class="col-xl-4 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Monero</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_xmr }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Card -->
|
||||
<div class="col-xl-4 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Bitcoin</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_btc }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Card -->
|
||||
<div class="col-xl-4 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Ethereum</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_eth }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
<div class="col-xl-11 col-md-6 mb-4">
|
||||
<div class="alert alert-dark" role="alert">
|
||||
Not financial advice.
|
||||
For information about the chart, click the button >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-1">
|
||||
<button type="button" class="btn btn-dark btn-block" data-toggle="modal" href="#"
|
||||
data-target="#id_Modal">
|
||||
<div class="col-auto">
|
||||
+
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- /.container-fluid -->
|
||||
|
||||
</div>
|
||||
<!-- End of Main Content -->
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
||||
|
||||
<!-- Modal -->
|
||||
<div class="modal fade" id="id_Modal" tabindex="-1" role="dialog" aria-labelledby="Modal" aria-hidden="true">
|
||||
<div class="modal-dialog" role="document">
|
||||
|
@ -318,7 +257,7 @@
|
|||
}],
|
||||
separators: ",.",
|
||||
legend: {
|
||||
x: 0.98,
|
||||
x: 0.02,
|
||||
y: 0.98,
|
||||
bgcolor: '#333333',
|
||||
bordercolor: '#5f5f5f',
|
||||
|
@ -361,16 +300,8 @@
|
|||
,size: 13
|
||||
}
|
||||
,gridcolor: "#333333"
|
||||
,range: ['2020-08-01', '2022-11-01']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 120,
|
||||
r: 60,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 4
|
||||
}
|
||||
};
|
||||
|
||||
var layout_mobile = {
|
||||
|
@ -415,16 +346,15 @@
|
|||
,size: 13
|
||||
}
|
||||
,gridcolor: "#333333"
|
||||
,range: ['2020-08-01', '2022-11-01']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 40,
|
||||
r: 0,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 0
|
||||
}
|
||||
margin: {
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
function findBootstrapEnvironment() {
|
||||
|
@ -450,11 +380,9 @@
|
|||
}
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
document.getElementById("graph1").style.height="350px";
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
else {
|
||||
document.getElementById("graph1").style.height="700px";
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -9,91 +9,29 @@
|
|||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" style="background-color:rgb(48, 44, 41)">
|
||||
|
||||
<!-- Main Content -->
|
||||
<div id="content">
|
||||
|
||||
<!-- Begin Page Content -->
|
||||
<div class="container-fluid"><br>
|
||||
<div class="row">
|
||||
<div class="col-xl-12 col-lg-12">
|
||||
<div class="card" id="graph1">
|
||||
<div
|
||||
class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">Monthly increase in number of merchants accepting cryptocurrency (absolute numbers)</h6>
|
||||
<div class="dropdown no-arrow">
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body pb-0 pt-0 pl-0 pr-0" style="height: 100px;">
|
||||
<div id="graph" style="height: 100%; width:100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph1" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
Monthly increase in number of merchants accepting cryptocurrency (absolute numbers)
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
|
||||
<!-- Card -->
|
||||
<div class="col-xl-4 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Monero Increase</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_xmr }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Card -->
|
||||
<div class="col-xl-4 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Bitcoin Increase</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_btc }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Card -->
|
||||
<div class="col-xl-4 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Ethereum Increase</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_eth }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
<div class="col-xl-11 col-md-6 mb-4">
|
||||
<div class="alert alert-dark" role="alert">
|
||||
Not financial advice.
|
||||
For information about the chart, click the button >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-1">
|
||||
<button type="button" class="btn btn-dark btn-block" data-toggle="modal" href="#"
|
||||
data-target="#id_Modal">
|
||||
<div class="col-auto">
|
||||
+
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- /.container-fluid -->
|
||||
|
||||
</div>
|
||||
<!-- End of Main Content -->
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
@ -318,7 +256,7 @@
|
|||
}],
|
||||
separators: ",.",
|
||||
legend: {
|
||||
x: 0.98,
|
||||
x: 0.02,
|
||||
y: 0.98,
|
||||
bgcolor: '#333333',
|
||||
bordercolor: '#5f5f5f',
|
||||
|
@ -361,16 +299,15 @@
|
|||
,size: 13
|
||||
}
|
||||
,gridcolor: "#333333"
|
||||
,range: ['2020-08-01', '2022-11-01']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 120,
|
||||
r: 60,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 4
|
||||
}
|
||||
margin: {
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
var layout_mobile = {
|
||||
|
@ -415,16 +352,15 @@
|
|||
,size: 13
|
||||
}
|
||||
,gridcolor: "#333333"
|
||||
,range: ['2020-08-01', '2022-11-01']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 40,
|
||||
r: 0,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 0
|
||||
}
|
||||
margin: {
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
function findBootstrapEnvironment() {
|
||||
|
@ -450,11 +386,9 @@
|
|||
}
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
document.getElementById("graph1").style.height="350px";
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
else {
|
||||
document.getElementById("graph1").style.height="700px";
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{% extends 'charts/base.html' %}
|
||||
|
||||
{% block header %}
|
||||
<title>Moneroj.net - Transactions</title>
|
||||
<title>Moneroj.net - Transaction Count</title>
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
@ -9,81 +9,29 @@
|
|||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" style="background-color:rgb(48, 44, 41)">
|
||||
|
||||
<!-- Main Content -->
|
||||
<div id="content">
|
||||
|
||||
<!-- Begin Page Content -->
|
||||
<div class="container-fluid"><br>
|
||||
<div class="row">
|
||||
<div class="col-xl-12 col-lg-12">
|
||||
<div class="card" id="graph1">
|
||||
<div
|
||||
class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">Monero's Daily Transaction Count in Log Scale</h6>
|
||||
<div class="dropdown no-arrow">
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body pb-0 pt-0 pl-0 pr-0" style="height: 100px;">
|
||||
<div id="graph" style="height: 100%; width:100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph1" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
Metcalfe's Model Deviation (linear chart, percentage and dollars)
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-6 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Current Daily Transactions</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_transactions }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-6 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Highest Number of Daily Transactions</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ maximum }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
<div class="col-xl-11 col-md-6 mb-4">
|
||||
<div class="alert alert-dark" role="alert">
|
||||
Not financial advice.
|
||||
For information about the chart, click the button >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-1">
|
||||
<button type="button" class="btn btn-dark btn-block" data-toggle="modal" href="#"
|
||||
data-target="#id_Modal">
|
||||
<div class="col-auto">
|
||||
+
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- /.container-fluid -->
|
||||
|
||||
</div>
|
||||
<!-- End of Main Content -->
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
@ -99,10 +47,8 @@
|
|||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
This chart shows the total transactions Monero has each day on a log scale. Higher transaction count
|
||||
means the coin is being increasingly used, and since Metcalfe's Law
|
||||
proposes that more information being exchanged in a network means the network itself should be worth
|
||||
more, it also means the coin should increase in price.<br>
|
||||
This chart shows the diference between current XMR price (Dollar pair) and its supposed value considering its Metcalfe's Model.
|
||||
It shows both the absolute difference (Model Price minus Real Price) and the percentage difference (Model Price/Real Price minus 1)x100.<br>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
|
||||
|
@ -118,29 +64,54 @@
|
|||
var data3 = {
|
||||
type: "scatter",
|
||||
mode: "lines",
|
||||
name: 'Fractal of past price',
|
||||
name: 'Model Deviation (BTC)',
|
||||
x: {{ dates|safe }},
|
||||
y: {{ transactions|safe }},
|
||||
y: {{ metcalfe|safe }},
|
||||
line: {
|
||||
color: '#dd1d1d'
|
||||
,width: 1
|
||||
}
|
||||
,width: 2
|
||||
},
|
||||
yaxis: "y2"
|
||||
};
|
||||
|
||||
var data3_mobile = {
|
||||
type: "scatter",
|
||||
mode: "lines",
|
||||
name: 'Fractal of past price',
|
||||
name: 'Model Deviation (BTC)',
|
||||
x: {{ dates|safe }},
|
||||
y: {{ transactions|safe }},
|
||||
y: {{ metcalfe|safe }},
|
||||
line: {
|
||||
color: '#dd1d1d'
|
||||
,width: 1
|
||||
,width: 2
|
||||
},
|
||||
yaxis: "y2"
|
||||
};
|
||||
var data1 = {
|
||||
type: "scatter",
|
||||
mode: "lines",
|
||||
name: 'Model Deviation (%)',
|
||||
x: {{ dates|safe }},
|
||||
y: {{ metcalfe_percentage|safe }},
|
||||
line: {
|
||||
color: '#444444'
|
||||
,width: 2
|
||||
}
|
||||
};
|
||||
|
||||
var data = [data3];
|
||||
var data_mobile = [data3_mobile];
|
||||
var data1_mobile = {
|
||||
type: "scatter",
|
||||
mode: "lines",
|
||||
name: 'Model Deviation (%)',
|
||||
x: {{ dates|safe }},
|
||||
y: {{ metcalfe_percentage|safe }},
|
||||
line: {
|
||||
color: '#444444'
|
||||
,width: 2
|
||||
}
|
||||
};
|
||||
|
||||
var data = [data3, data1];
|
||||
var data_mobile = [data3_mobile, data1_mobile];
|
||||
|
||||
var layout = {
|
||||
plot_bgcolor:"#252221",
|
||||
|
@ -149,9 +120,9 @@
|
|||
{
|
||||
xref: 'paper',
|
||||
yref: 'paper',
|
||||
x: 0.98,
|
||||
x: 0.50,
|
||||
xanchor: 'auto',
|
||||
y: 0.05,
|
||||
y: 0.98,
|
||||
yanchor: 'auto',
|
||||
text: 'Moneroj<br>https://www.moneroj.net',
|
||||
showarrow: false,
|
||||
|
@ -167,8 +138,8 @@
|
|||
}],
|
||||
separators: ",.",
|
||||
legend: {
|
||||
x: 0.8,
|
||||
y: 0.05,
|
||||
x: 0.02,
|
||||
y: 0.98,
|
||||
bgcolor: '#333333',
|
||||
bordercolor: '#5f5f5f',
|
||||
borderwidth: 1,
|
||||
|
@ -184,9 +155,9 @@
|
|||
namelength: -1
|
||||
},
|
||||
yaxis: {
|
||||
type: "log",
|
||||
type: "linear",
|
||||
title: {
|
||||
text: 'Transactions/day',
|
||||
text: 'Percentage (%)',
|
||||
font: {
|
||||
size: 20,
|
||||
color: 'white'
|
||||
|
@ -200,6 +171,25 @@
|
|||
}
|
||||
,gridcolor: "#333333"
|
||||
},
|
||||
yaxis2: {
|
||||
type: "linear",
|
||||
title: {
|
||||
text: 'Deviation (USD)',
|
||||
font: {
|
||||
size: 20,
|
||||
color: 'white'
|
||||
}
|
||||
},
|
||||
tickformat :",.0f"
|
||||
,nticks: 10
|
||||
,tickfont: {
|
||||
color: "#ffffff"
|
||||
,size: 12
|
||||
}
|
||||
,gridcolor: "#252221"
|
||||
,side: "right"
|
||||
,overlaying: 'y'
|
||||
},
|
||||
xaxis: {
|
||||
hoverformat: "%Y-%m-%d",
|
||||
showgrid: true,
|
||||
|
@ -210,18 +200,18 @@
|
|||
,size: 13
|
||||
}
|
||||
,gridcolor: "#333333"
|
||||
,range: ['2014-05-01', '2022-01-01']
|
||||
,range: ['2014-05-01', '2023-01-01']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 120,
|
||||
r: 60,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 4
|
||||
l: 100,
|
||||
r: 100,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
var layout_mobile = {
|
||||
plot_bgcolor:"black",
|
||||
paper_bgcolor:"black",
|
||||
|
@ -230,8 +220,8 @@
|
|||
namelength: -1
|
||||
},
|
||||
legend: {
|
||||
x: 0.98,
|
||||
y: 0.05,
|
||||
x: 0.02,
|
||||
y: 0.98,
|
||||
bgcolor: '#000000',
|
||||
bordercolor: '#5f5f5f',
|
||||
borderwidth: 1,
|
||||
|
@ -245,7 +235,7 @@
|
|||
},
|
||||
showlegend: false,
|
||||
yaxis: {
|
||||
type: "log",
|
||||
type: "linear",
|
||||
tickformat :",.0f"
|
||||
,nticks: 10
|
||||
,tickfont: {
|
||||
|
@ -254,6 +244,17 @@
|
|||
}
|
||||
,gridcolor: "#444444"
|
||||
},
|
||||
yaxis2: {
|
||||
type: "linear",
|
||||
tickformat :",.0f"
|
||||
,nticks: 10
|
||||
,tickfont: {
|
||||
color: "white"
|
||||
}
|
||||
,gridcolor: "#252221"
|
||||
,side: "right"
|
||||
,overlaying: 'y'
|
||||
},
|
||||
xaxis: {
|
||||
hoverformat: "%Y",
|
||||
showgrid: true,
|
||||
|
@ -264,15 +265,15 @@
|
|||
,size: 7
|
||||
}
|
||||
,gridcolor: "#444444"
|
||||
,range: ['2014-05-01', '2022-01-01']
|
||||
,range: ['2014-05-01', '2023-01-01']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 40,
|
||||
r: 0,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 0
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -299,13 +300,11 @@
|
|||
}
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
document.getElementById("graph1").style.height="350px";
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
else {
|
||||
document.getElementById("graph1").style.height="700px";
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
</script>
|
||||
</script>
|
||||
|
||||
{% endblock %}
|
|
@ -9,90 +9,29 @@
|
|||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" style="background-color:rgb(48, 44, 41)">
|
||||
|
||||
<!-- Main Content -->
|
||||
<div id="content">
|
||||
|
||||
<!-- Begin Page Content -->
|
||||
<div class="container-fluid"><br>
|
||||
<div class="row">
|
||||
<div class="col-xl-12 col-lg-12">
|
||||
<div class="card" id="graph1">
|
||||
<div
|
||||
class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">Metcalfe's Law (BTC)</h6>
|
||||
<div class="dropdown no-arrow">
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body" style="height: 100px;">
|
||||
<div id="graph" style="height: 100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph1" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
Metcalfe's Law (BTC)
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-4 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Last Price</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_price }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-4 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Current Estimate</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_metcalfe }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-4 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Top Estimate</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ maximum }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
<div class="col-xl-11 col-md-6 mb-4">
|
||||
<div class="alert alert-dark" role="alert">
|
||||
Not financial advice.
|
||||
For information about the chart, click the button >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-1">
|
||||
<button type="button" class="btn btn-dark btn-block" data-toggle="modal" href="#"
|
||||
data-target="#id_Modal">
|
||||
<div class="col-auto">
|
||||
+
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- /.container-fluid -->
|
||||
|
||||
</div>
|
||||
<!-- End of Main Content -->
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
@ -283,11 +222,11 @@ var data4_mobile = {
|
|||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 120,
|
||||
r: 60,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 4
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -337,11 +276,11 @@ var data4_mobile = {
|
|||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 40,
|
||||
r: 0,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 0
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -368,11 +307,9 @@ var data4_mobile = {
|
|||
}
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
document.getElementById("graph1").style.height="350px";
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
else {
|
||||
document.getElementById("graph1").style.height="700px";
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
</script>
|
||||
|
|
310
charts/templates/charts/metcalfesats_deviation.html
Normal file
310
charts/templates/charts/metcalfesats_deviation.html
Normal file
|
@ -0,0 +1,310 @@
|
|||
{% extends 'charts/base.html' %}
|
||||
|
||||
{% block header %}
|
||||
<title>Moneroj.net - Transaction Count</title>
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" style="background-color:rgb(48, 44, 41)">
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph1" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
Metcalfe's Model Deviation (linear chart, percentage and BTC)
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
||||
<!-- Modal -->
|
||||
<div class="modal fade" id="id_Modal" tabindex="-1" role="dialog" aria-labelledby="Modal" aria-hidden="true">
|
||||
<div class="modal-dialog" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title" id="Modal">Help about the chart</h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Cancelar">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
This chart shows the diference between current XMR price (BTC pair) and its supposed value considering its Metcalfe's Model.
|
||||
It shows both the absolute difference (Model Price minus Real Price) and the percentage difference (Model Price/Real Price minus 1)x100.<br>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Fim do Modal -->
|
||||
|
||||
|
||||
<!-- Page level plugins -->
|
||||
<script>
|
||||
var data3 = {
|
||||
type: "scatter",
|
||||
mode: "lines",
|
||||
name: 'Model Deviation (BTC)',
|
||||
x: {{ dates|safe }},
|
||||
y: {{ metcalfe|safe }},
|
||||
line: {
|
||||
color: '#dd1d1d'
|
||||
,width: 2
|
||||
},
|
||||
yaxis: "y2"
|
||||
};
|
||||
|
||||
var data3_mobile = {
|
||||
type: "scatter",
|
||||
mode: "lines",
|
||||
name: 'Model Deviation (BTC)',
|
||||
x: {{ dates|safe }},
|
||||
y: {{ metcalfe|safe }},
|
||||
line: {
|
||||
color: '#dd1d1d'
|
||||
,width: 2
|
||||
},
|
||||
yaxis: "y2"
|
||||
};
|
||||
var data1 = {
|
||||
type: "scatter",
|
||||
mode: "lines",
|
||||
name: 'Model Deviation (%)',
|
||||
x: {{ dates|safe }},
|
||||
y: {{ metcalfe_percentage|safe }},
|
||||
line: {
|
||||
color: '#444444'
|
||||
,width: 2
|
||||
}
|
||||
};
|
||||
|
||||
var data1_mobile = {
|
||||
type: "scatter",
|
||||
mode: "lines",
|
||||
name: 'Model Deviation (%)',
|
||||
x: {{ dates|safe }},
|
||||
y: {{ metcalfe_percentage|safe }},
|
||||
line: {
|
||||
color: '#444444'
|
||||
,width: 2
|
||||
}
|
||||
};
|
||||
|
||||
var data = [data3, data1];
|
||||
var data_mobile = [data3_mobile, data1_mobile];
|
||||
|
||||
var layout = {
|
||||
plot_bgcolor:"#252221",
|
||||
paper_bgcolor:"#252221",
|
||||
annotations: [
|
||||
{
|
||||
xref: 'paper',
|
||||
yref: 'paper',
|
||||
x: 0.50,
|
||||
xanchor: 'auto',
|
||||
y: 0.98,
|
||||
yanchor: 'auto',
|
||||
text: 'Moneroj<br>https://www.moneroj.net',
|
||||
showarrow: false,
|
||||
borderwidth: 1,
|
||||
bordercolor: '#5f5f5f',
|
||||
bgcolor: '#333333',
|
||||
borderpad: 5,
|
||||
align: 'center',
|
||||
font: {
|
||||
color: "white",
|
||||
size: 12
|
||||
}
|
||||
}],
|
||||
separators: ",.",
|
||||
legend: {
|
||||
x: 0.02,
|
||||
y: 0.98,
|
||||
bgcolor: '#333333',
|
||||
bordercolor: '#5f5f5f',
|
||||
borderwidth: 1,
|
||||
font: {
|
||||
color: 'white',
|
||||
size: 12
|
||||
},
|
||||
traceorder: 'normal',
|
||||
xanchor: 'auto',
|
||||
yanchor: 'auto'
|
||||
},
|
||||
hoverlabel: {
|
||||
namelength: -1
|
||||
},
|
||||
yaxis: {
|
||||
type: "linear",
|
||||
title: {
|
||||
text: 'Percentage (%)',
|
||||
font: {
|
||||
size: 20,
|
||||
color: 'white'
|
||||
}
|
||||
},
|
||||
tickformat :",.0f"
|
||||
,nticks: 10
|
||||
,tickfont: {
|
||||
color: "#ffffff"
|
||||
,size: 12
|
||||
}
|
||||
,gridcolor: "#333333"
|
||||
},
|
||||
yaxis2: {
|
||||
type: "linear",
|
||||
title: {
|
||||
text: 'Deviation (BTC)',
|
||||
font: {
|
||||
size: 20,
|
||||
color: 'white'
|
||||
}
|
||||
},
|
||||
tickformat :",.4f"
|
||||
,nticks: 10
|
||||
,tickfont: {
|
||||
color: "#ffffff"
|
||||
,size: 12
|
||||
}
|
||||
,gridcolor: "#252221"
|
||||
,side: "right"
|
||||
,overlaying: 'y'
|
||||
},
|
||||
xaxis: {
|
||||
hoverformat: "%Y-%m-%d",
|
||||
showgrid: true,
|
||||
type: 'date',
|
||||
nticks: 10
|
||||
,tickfont: {
|
||||
color: "#dddddd"
|
||||
,size: 13
|
||||
}
|
||||
,gridcolor: "#333333"
|
||||
,range: ['2014-05-01', '2023-01-01']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
var layout_mobile = {
|
||||
plot_bgcolor:"black",
|
||||
paper_bgcolor:"black",
|
||||
separators: ",.",
|
||||
hoverlabel: {
|
||||
namelength: -1
|
||||
},
|
||||
legend: {
|
||||
x: 0.02,
|
||||
y: 0.98,
|
||||
bgcolor: '#000000',
|
||||
bordercolor: '#5f5f5f',
|
||||
borderwidth: 1,
|
||||
font: {
|
||||
color: 'white',
|
||||
size: 5
|
||||
},
|
||||
traceorder: 'normal',
|
||||
xanchor: 'auto',
|
||||
yanchor: 'auto'
|
||||
},
|
||||
showlegend: false,
|
||||
yaxis: {
|
||||
type: "linear",
|
||||
tickformat :",.0f"
|
||||
,nticks: 10
|
||||
,tickfont: {
|
||||
color: "#ffffff"
|
||||
,size: 7
|
||||
}
|
||||
,gridcolor: "#444444"
|
||||
},
|
||||
yaxis2: {
|
||||
type: "linear",
|
||||
tickformat :",.4f"
|
||||
,nticks: 10
|
||||
,tickfont: {
|
||||
color: "white"
|
||||
}
|
||||
,gridcolor: "#252221"
|
||||
,side: "right"
|
||||
,overlaying: 'y'
|
||||
},
|
||||
xaxis: {
|
||||
hoverformat: "%Y",
|
||||
showgrid: true,
|
||||
type: 'date',
|
||||
nticks: 10
|
||||
,tickfont: {
|
||||
color: "#dddddd"
|
||||
,size: 7
|
||||
}
|
||||
,gridcolor: "#444444"
|
||||
,range: ['2014-05-01', '2023-01-01']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
function findBootstrapEnvironment() {
|
||||
let envs = ['xs', 'sm', 'md', 'lg', 'xl'];
|
||||
|
||||
let el = document.createElement('div');
|
||||
document.body.appendChild(el);
|
||||
|
||||
let curEnv = envs.shift();
|
||||
|
||||
for (let env of envs.reverse()) {
|
||||
el.classList.add(`d-${env}-none`);
|
||||
|
||||
if (window.getComputedStyle(el).display === 'none') {
|
||||
curEnv = env;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
document.body.removeChild(el);
|
||||
return curEnv;
|
||||
|
||||
}
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
else {
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
</script>
|
||||
|
||||
{% endblock %}
|
|
@ -9,91 +9,29 @@
|
|||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" style="background-color:rgb(48, 44, 41)">
|
||||
|
||||
<!-- Main Content -->
|
||||
<div id="content">
|
||||
|
||||
<!-- Begin Page Content -->
|
||||
<div class="container-fluid"><br>
|
||||
<div class="row">
|
||||
<div class="col-xl-12 col-lg-12">
|
||||
<div class="card" id="graph1">
|
||||
<div
|
||||
class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">Metcalfe's Law (USD)</h6>
|
||||
<div class="dropdown no-arrow">
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body" style="height: 100px;">
|
||||
<div id="graph" style="height: 100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph1" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
Metcalfe's Law (USD)
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-4 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Last Price</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_price }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-4 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Current Estimate</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_metcalfe }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-4 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Top Estimate</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ maximum }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
<div class="col-xl-11 col-md-6 mb-4">
|
||||
<div class="alert alert-dark" role="alert">
|
||||
Not financial advice.
|
||||
For information about the chart, click the button >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-1">
|
||||
<button type="button" class="btn btn-dark btn-block" data-toggle="modal" href="#"
|
||||
data-target="#id_Modal">
|
||||
<div class="col-auto">
|
||||
+
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- /.container-fluid -->
|
||||
|
||||
</div>
|
||||
<!-- End of Main Content -->
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
@ -284,11 +222,11 @@ var data4_mobile = {
|
|||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 120,
|
||||
r: 60,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 4
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -338,11 +276,11 @@ var data4_mobile = {
|
|||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 40,
|
||||
r: 0,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 0
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -369,11 +307,9 @@ var data4_mobile = {
|
|||
}
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
document.getElementById("graph1").style.height="350px";
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
else {
|
||||
document.getElementById("graph1").style.height="700px";
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -9,82 +9,29 @@
|
|||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" style="background-color:rgb(48, 44, 41)">
|
||||
|
||||
<!-- Main Content -->
|
||||
<div id="content">
|
||||
|
||||
<!-- Begin Page Content -->
|
||||
<div class="container-fluid"><br>
|
||||
<div class="row">
|
||||
<div class="col-xl-12 col-lg-12">
|
||||
<div class="card" id="graph1">
|
||||
<div
|
||||
class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">Miner Fees (Fees excluded new coins, Dollars)
|
||||
</h6>
|
||||
<div class="dropdown no-arrow">
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body pb-0 pt-0 pl-0 pr-0" style="height: 100px;">
|
||||
<div id="graph" style="height: 100%; width:100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph1" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
Miner Fees (Fees excluded new coins, Dollars)
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-6 col-md-6 mb-4">
|
||||
<div class="card border-left-new">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
XMR Miner Fees (USD)</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">${{ now_xmr }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-6 col-md-6 mb-4">
|
||||
<div class="card border-left-new">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
BTC Miner Fees (USD)</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">${{ now_btc }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
<div class="col-xl-11 col-md-6 mb-4">
|
||||
<div class="alert alert-dark" role="alert">
|
||||
Not financial advice.
|
||||
For information about the chart, click the button >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-1">
|
||||
<button type="button" class="btn btn-dark btn-block" data-toggle="modal" href="#"
|
||||
data-target="#id_Modal">
|
||||
<div class="col-auto">
|
||||
+
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- /.container-fluid -->
|
||||
|
||||
</div>
|
||||
<!-- End of Main Content -->
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
@ -236,11 +183,11 @@
|
|||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 120,
|
||||
r: 60,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 4
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -290,11 +237,11 @@
|
|||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 40,
|
||||
r: 0,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 0
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -321,11 +268,9 @@
|
|||
}
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
document.getElementById("graph1").style.height="350px";
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
else {
|
||||
document.getElementById("graph1").style.height="700px";
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -9,82 +9,29 @@
|
|||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" style="background-color:rgb(48, 44, 41)">
|
||||
|
||||
<!-- Main Content -->
|
||||
<div id="content">
|
||||
|
||||
<!-- Begin Page Content -->
|
||||
<div class="container-fluid"><br>
|
||||
<div class="row">
|
||||
<div class="col-xl-12 col-lg-12">
|
||||
<div class="card" id="graph1">
|
||||
<div
|
||||
class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">Miner Fees (Fees excluded new coins, Native Units)
|
||||
</h6>
|
||||
<div class="dropdown no-arrow">
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body pb-0 pt-0 pl-0 pr-0" style="height: 100px;">
|
||||
<div id="graph" style="height: 100%; width:100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph1" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
Miner Fees (Fees excluded new coins, Native Units)
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-6 col-md-6 mb-4">
|
||||
<div class="card border-left-new">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
XMR Miner Fees (XMR)</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_xmr }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-6 col-md-6 mb-4">
|
||||
<div class="card border-left-new">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
BTC Miner Fees (BTC)</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_btc }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
<div class="col-xl-11 col-md-6 mb-4">
|
||||
<div class="alert alert-dark" role="alert">
|
||||
Not financial advice.
|
||||
For information about the chart, click the button >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-1">
|
||||
<button type="button" class="btn btn-dark btn-block" data-toggle="modal" href="#"
|
||||
data-target="#id_Modal">
|
||||
<div class="col-auto">
|
||||
+
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- /.container-fluid -->
|
||||
|
||||
</div>
|
||||
<!-- End of Main Content -->
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
@ -236,11 +183,11 @@
|
|||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 120,
|
||||
r: 60,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 4
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -290,11 +237,11 @@
|
|||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 40,
|
||||
r: 0,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 0
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -321,11 +268,9 @@
|
|||
}
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
document.getElementById("graph1").style.height="350px";
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
else {
|
||||
document.getElementById("graph1").style.height="700px";
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -9,81 +9,29 @@
|
|||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" style="background-color:rgb(48, 44, 41)">
|
||||
|
||||
<!-- Main Content -->
|
||||
<div id="content">
|
||||
|
||||
<!-- Begin Page Content -->
|
||||
<div class="container-fluid"><br>
|
||||
<div class="row">
|
||||
<div class="col-xl-12 col-lg-12">
|
||||
<div class="card" id="graph1">
|
||||
<div
|
||||
class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">Miner Revenue (Dollars / day)</h6>
|
||||
<div class="dropdown no-arrow">
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body pb-0 pt-0 pl-0 pr-0" style="height: 100px;">
|
||||
<div id="graph" style="height: 100%; width:100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph1" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
Miner Revenue (Dollars / day)
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-6 col-md-6 mb-4">
|
||||
<div class="card border-left-new">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Daily XMR Miner Revenue</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_xmr }} / day</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-6 col-md-6 mb-4">
|
||||
<div class="card border-left-new">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Daily BTC Miner Revenue</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_btc }} / day</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
<div class="col-xl-11 col-md-6 mb-4">
|
||||
<div class="alert alert-dark" role="alert">
|
||||
Not financial advice.
|
||||
For information about the chart, click the button >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-1">
|
||||
<button type="button" class="btn btn-dark btn-block" data-toggle="modal" href="#"
|
||||
data-target="#id_Modal">
|
||||
<div class="col-auto">
|
||||
+
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- /.container-fluid -->
|
||||
|
||||
</div>
|
||||
<!-- End of Main Content -->
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
@ -235,11 +183,11 @@
|
|||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 120,
|
||||
r: 60,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 4
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -289,11 +237,11 @@
|
|||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 40,
|
||||
r: 0,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 0
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -320,11 +268,9 @@
|
|||
}
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
document.getElementById("graph1").style.height="350px";
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
else {
|
||||
document.getElementById("graph1").style.height="700px";
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -9,82 +9,29 @@
|
|||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" style="background-color:rgb(48, 44, 41)">
|
||||
|
||||
<!-- Main Content -->
|
||||
<div id="content">
|
||||
|
||||
<!-- Begin Page Content -->
|
||||
<div class="container-fluid"><br>
|
||||
<div class="row">
|
||||
<div class="col-xl-12 col-lg-12">
|
||||
<div class="card" id="graph1">
|
||||
<div
|
||||
class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">Annualized Miner Revenue / Marketcap (Fees plus new coins,
|
||||
percentage)</h6>
|
||||
<div class="dropdown no-arrow">
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body pb-0 pt-0 pl-0 pr-0" style="height: 100px;">
|
||||
<div id="graph" style="height: 100%; width:100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph1" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
Annualized Miner Revenue / Marketcap (Fees plus new coins, percentage)
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-6 col-md-6 mb-4">
|
||||
<div class="card border-left-new">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
XMR Miner Revenue (%)</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_xmr }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-6 col-md-6 mb-4">
|
||||
<div class="card border-left-new">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
BTC Miner Revenue (%)</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_btc }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
<div class="col-xl-11 col-md-6 mb-4">
|
||||
<div class="alert alert-dark" role="alert">
|
||||
Not financial advice.
|
||||
For information about the chart, click the button >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-1">
|
||||
<button type="button" class="btn btn-dark btn-block" data-toggle="modal" href="#"
|
||||
data-target="#id_Modal">
|
||||
<div class="col-auto">
|
||||
+
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- /.container-fluid -->
|
||||
|
||||
</div>
|
||||
<!-- End of Main Content -->
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
@ -233,15 +180,14 @@
|
|||
,size: 13
|
||||
}
|
||||
,gridcolor: "#333333"
|
||||
,range: ['2008-11-14', '2024-01-01']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 120,
|
||||
r: 60,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 4
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -287,15 +233,14 @@
|
|||
,size: 7
|
||||
}
|
||||
,gridcolor: "#444444"
|
||||
,range: ['2008-11-14', '2024-01-01']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 40,
|
||||
r: 0,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 0
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -322,11 +267,9 @@
|
|||
}
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
document.getElementById("graph1").style.height="350px";
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
else {
|
||||
document.getElementById("graph1").style.height="700px";
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -9,82 +9,29 @@
|
|||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" style="background-color:rgb(48, 44, 41)">
|
||||
|
||||
<!-- Main Content -->
|
||||
<div id="content">
|
||||
|
||||
<!-- Begin Page Content -->
|
||||
<div class="container-fluid"><br>
|
||||
<div class="row">
|
||||
<div class="col-xl-12 col-lg-12">
|
||||
<div class="card" id="graph1">
|
||||
<div
|
||||
class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">Daily Miner Revenue (Fees plus new coins, Native Units / day)
|
||||
</h6>
|
||||
<div class="dropdown no-arrow">
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body pb-0 pt-0 pl-0 pr-0" style="height: 100px;">
|
||||
<div id="graph" style="height: 100%; width:100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph1" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
Daily Miner Revenue (Fees plus new coins, Native Units / day)
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-6 col-md-6 mb-4">
|
||||
<div class="card border-left-new">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
XMR Miner Revenue </div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_xmr }} XMR / day</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-6 col-md-6 mb-4">
|
||||
<div class="card border-left-new">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
BTC Miner Revenue (BTC)</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_btc }} BTC / day</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
<div class="col-xl-11 col-md-6 mb-4">
|
||||
<div class="alert alert-dark" role="alert">
|
||||
Not financial advice.
|
||||
For information about the chart, click the button >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-1">
|
||||
<button type="button" class="btn btn-dark btn-block" data-toggle="modal" href="#"
|
||||
data-target="#id_Modal">
|
||||
<div class="col-auto">
|
||||
+
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- /.container-fluid -->
|
||||
|
||||
</div>
|
||||
<!-- End of Main Content -->
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
@ -237,11 +184,11 @@
|
|||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 120,
|
||||
r: 60,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 4
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -291,11 +238,11 @@
|
|||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 40,
|
||||
r: 0,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 0
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -322,11 +269,9 @@
|
|||
}
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
document.getElementById("graph1").style.height="350px";
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
else {
|
||||
document.getElementById("graph1").style.height="700px";
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
</script>
|
||||
|
|
253
charts/templates/charts/miningprofitability.html
Normal file
253
charts/templates/charts/miningprofitability.html
Normal file
|
@ -0,0 +1,253 @@
|
|||
{% extends 'charts/base.html' %}
|
||||
|
||||
{% block header %}
|
||||
<title>Moneroj.net - Monero's Coinmarketcap Rank</title>
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" style="background-color:rgb(48, 44, 41)">
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph1" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
Monero Mining Profitability (USD/day for 1 KHash/s)
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
||||
<!-- Modal -->
|
||||
<div class="modal fade" id="id_Modal" tabindex="-1" role="dialog" aria-labelledby="Modal" aria-hidden="true">
|
||||
<div class="modal-dialog" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title" id="Modal">Help about the chart</h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Cancelar">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
This chart shows Monero's mining profitability, considering its total hash power and the income for miners. Chart suggested by community member MoneroMon.<br>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Fim do Modal -->
|
||||
|
||||
<!-- Page level plugins -->
|
||||
<script>
|
||||
var data1 = {
|
||||
type: "scatter",
|
||||
mode: "lines",
|
||||
name: 'Monero Mining Profitability',
|
||||
x: {{ dates|safe }},
|
||||
y: {{ value|safe }},
|
||||
line: {
|
||||
color: '#dd1d1d'
|
||||
,width: 3
|
||||
}
|
||||
};
|
||||
|
||||
var data1_mobile = {
|
||||
type: "scatter",
|
||||
mode: "lines",
|
||||
name: 'Monero Mining Profitability',
|
||||
x: {{ dates|safe }},
|
||||
y: {{ value|safe }},
|
||||
line: {
|
||||
color: '#dd1d1d'
|
||||
,width: 3
|
||||
}
|
||||
};
|
||||
|
||||
var data = [data1];
|
||||
var data_mobile = [data1_mobile];
|
||||
|
||||
var layout = {
|
||||
plot_bgcolor:"#252221",
|
||||
paper_bgcolor:"#252221",
|
||||
annotations: [
|
||||
{
|
||||
xref: 'paper',
|
||||
yref: 'paper',
|
||||
x: 0.5,
|
||||
xanchor: 'auto',
|
||||
y: 0,
|
||||
yanchor: 'auto',
|
||||
text: 'Moneroj<br>https://www.moneroj.net',
|
||||
showarrow: false,
|
||||
borderwidth: 1,
|
||||
bordercolor: '#5f5f5f',
|
||||
bgcolor: '#333333',
|
||||
borderpad: 5,
|
||||
align: 'center',
|
||||
font: {
|
||||
color: "white",
|
||||
size: 12
|
||||
}
|
||||
}],
|
||||
separators: ",.",
|
||||
legend: {
|
||||
x: 0,
|
||||
y: 1,
|
||||
bgcolor: '#333333',
|
||||
bordercolor: '#5f5f5f',
|
||||
borderwidth: 1,
|
||||
font: {
|
||||
color: 'white',
|
||||
size: 12
|
||||
},
|
||||
traceorder: 'normal',
|
||||
xanchor: 'auto',
|
||||
yanchor: 'auto'
|
||||
},
|
||||
hoverlabel: {
|
||||
namelength: -1
|
||||
},
|
||||
yaxis: {
|
||||
type: "log",
|
||||
title: {
|
||||
text: 'Mining Profitability (USD/day for 1 KH/s)',
|
||||
font: {
|
||||
size: 20,
|
||||
color: 'white'
|
||||
}
|
||||
},
|
||||
tickformat :",.3f"
|
||||
,nticks: 8
|
||||
,tickfont: {
|
||||
color: "#ffffff"
|
||||
,size: 12
|
||||
}
|
||||
,gridcolor: "#333333"
|
||||
},
|
||||
xaxis: {
|
||||
hoverformat: "%Y-%m-%d",
|
||||
showgrid: true,
|
||||
type: 'date',
|
||||
nticks: 10
|
||||
,tickfont: {
|
||||
color: "#dddddd"
|
||||
,size: 13
|
||||
}
|
||||
,gridcolor: "#333333"
|
||||
,range: ['2021-09-09', '']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
var layout_mobile = {
|
||||
plot_bgcolor:"black",
|
||||
paper_bgcolor:"black",
|
||||
separators: ",.",
|
||||
hoverlabel: {
|
||||
namelength: -1
|
||||
},
|
||||
legend: {
|
||||
x: 0.5,
|
||||
y: 0,
|
||||
bgcolor: '#000000',
|
||||
bordercolor: '#5f5f5f',
|
||||
borderwidth: 1,
|
||||
font: {
|
||||
color: 'white',
|
||||
size: 5
|
||||
},
|
||||
traceorder: 'normal',
|
||||
xanchor: 'auto',
|
||||
yanchor: 'auto'
|
||||
},
|
||||
showlegend: false,
|
||||
yaxis: {
|
||||
type: "linear",
|
||||
tickformat :",.3f"
|
||||
,nticks: 8
|
||||
,tickfont: {
|
||||
color: "#ffffff"
|
||||
,size: 7
|
||||
}
|
||||
,gridcolor: "#444444"
|
||||
},
|
||||
xaxis: {
|
||||
hoverformat: "%Y",
|
||||
showgrid: true,
|
||||
type: 'date',
|
||||
nticks: 10
|
||||
,tickfont: {
|
||||
color: "#dddddd"
|
||||
,size: 7
|
||||
}
|
||||
,gridcolor: "#444444"
|
||||
,range: ['2021-09-09', '']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
function findBootstrapEnvironment() {
|
||||
let envs = ['xs', 'sm', 'md', 'lg', 'xl'];
|
||||
|
||||
let el = document.createElement('div');
|
||||
document.body.appendChild(el);
|
||||
|
||||
let curEnv = envs.shift();
|
||||
|
||||
for (let env of envs.reverse()) {
|
||||
el.classList.add(`d-${env}-none`);
|
||||
|
||||
if (window.getComputedStyle(el).display === 'none') {
|
||||
curEnv = env;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
document.body.removeChild(el);
|
||||
return curEnv;
|
||||
|
||||
}
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
else {
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
</script>
|
||||
|
||||
{% endblock %}
|
|
@ -9,81 +9,29 @@
|
|||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" style="background-color:rgb(48, 44, 41)">
|
||||
|
||||
<!-- Main Content -->
|
||||
<div id="content">
|
||||
|
||||
<!-- Begin Page Content -->
|
||||
<div class="container-fluid"><br>
|
||||
<div class="row">
|
||||
<div class="col-xl-12 col-lg-12">
|
||||
<div class="card" id="graph1">
|
||||
<div
|
||||
class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">Monero's Dominance Over Other 'Privacy' Coins (%)</h6>
|
||||
<div class="dropdown no-arrow">
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body" style="height: 100px;">
|
||||
<div id="graph" style="height: 100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph1" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
Monero's Dominance Over Other 'Privacy' Coins (%)
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-6 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Current Dominance</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_dominance }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-6 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Highest Dominance</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ top_dominance }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
<div class="col-xl-11 col-md-6 mb-4">
|
||||
<div class="alert alert-dark" role="alert">
|
||||
Not financial advice.
|
||||
For information about the chart, click the button >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-1">
|
||||
<button type="button" class="btn btn-dark btn-block" data-toggle="modal" href="#"
|
||||
data-target="#id_Modal">
|
||||
<div class="col-auto">
|
||||
+
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- /.container-fluid -->
|
||||
|
||||
</div>
|
||||
<!-- End of Main Content -->
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
@ -210,10 +158,10 @@
|
|||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 120,
|
||||
r: 120,
|
||||
b: 35,
|
||||
t: 10,
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
@ -264,10 +212,10 @@
|
|||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 40,
|
||||
r: 100,
|
||||
b: 35,
|
||||
t: 10,
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
@ -295,11 +243,9 @@
|
|||
}
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
document.getElementById("graph1").style.height="350px";
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
else {
|
||||
document.getElementById("graph1").style.height="700px";
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -1,414 +0,0 @@
|
|||
{% extends 'charts/base.html' %}
|
||||
|
||||
{% block header %}
|
||||
<title>Moneroj.net - Price</title>
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" style="background-color:rgb(48, 44, 41)">
|
||||
|
||||
<!-- Main Content -->
|
||||
<div id="content">
|
||||
|
||||
<!-- Begin Page Content -->
|
||||
<div class="container-fluid"><br>
|
||||
<div class="row">
|
||||
<div class="col-xl-12 col-lg-12">
|
||||
<div class="card" id="graph1">
|
||||
<div
|
||||
class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">Price (log scale, USD)</h6>
|
||||
<div class="dropdown no-arrow">
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body pb-0 pt-0 pl-0 pr-0" style="height: 100px;">
|
||||
<div id="graph" style="height: 100%; width:100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-3 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Last Price (USD)</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_price }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-3 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Current Stock-to-flow Price (USD)</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_sf }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-3 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Highest Price To Date (USD)</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ maximum }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-3 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Current Annual Inflation (%)</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_inflation }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
<div class="col-xl-11 col-md-6 mb-4">
|
||||
<div class="alert alert-dark" role="alert">
|
||||
Not financial advice.
|
||||
For information about the chart, click the button >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-1">
|
||||
<button type="button" class="btn btn-dark btn-block" data-toggle="modal" href="#"
|
||||
data-target="#id_Modal">
|
||||
<div class="col-auto">
|
||||
+
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- /.container-fluid -->
|
||||
|
||||
</div>
|
||||
<!-- End of Main Content -->
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
||||
<!-- Modal -->
|
||||
<div class="modal fade" id="id_Modal" tabindex="-1" role="dialog" aria-labelledby="Modal" aria-hidden="true">
|
||||
<div class="modal-dialog" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title" id="Modal">Help about the chart</h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Cancelar">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
This chart shows the price of the coin on a log scale. The color of the points indicate their position
|
||||
on the Bitcoin pair, being red as overbought and blue as cheap.<br>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Fim do Modal -->
|
||||
|
||||
<!-- Page level plugins -->
|
||||
<script>
|
||||
|
||||
var data4 = {
|
||||
type: "scatter",
|
||||
mode: "markers",
|
||||
name: 'Average price on date',
|
||||
x: {{ dates|safe }},
|
||||
y: {{ values|safe }},
|
||||
line: {color: '#7f421d'},
|
||||
marker: {
|
||||
color: {{ color|safe }},
|
||||
colorbar: {
|
||||
title: {
|
||||
text: 'Cycle on the Bitcoin pair (%)',
|
||||
side: 'right'
|
||||
,font: {
|
||||
color: 'white'
|
||||
,size: 14
|
||||
}
|
||||
}
|
||||
,thickness: 10
|
||||
,tickfont: {
|
||||
color: 'white'
|
||||
,size: 14
|
||||
}
|
||||
,borderwidth: 0
|
||||
},
|
||||
colorscale: [['0', '#0000ff'], ['0.33', '#00ff00'], ['0.66', '#ffff00'], ['1', '#ff0000']],
|
||||
sizemode: 'area',
|
||||
size: 5,
|
||||
cmax: 100,
|
||||
cmin: 0
|
||||
}
|
||||
};
|
||||
|
||||
var data4_mobile = {
|
||||
type: "scatter",
|
||||
mode: "markers",
|
||||
name: 'Average price on date',
|
||||
x: {{ dates|safe }},
|
||||
y: {{ values|safe }},
|
||||
line: {color: '#7f421d'},
|
||||
marker: {
|
||||
color: {{ color|safe }},
|
||||
colorbar: {
|
||||
thickness: 4
|
||||
,tickfont: {
|
||||
color: 'white'
|
||||
,size: 6
|
||||
}
|
||||
,borderwidth: 0
|
||||
},
|
||||
colorscale: [['0', '#0000ff'], ['0.33', '#00ff00'], ['0.66', '#ffff00'], ['1', '#ff0000']],
|
||||
sizemode: 'area',
|
||||
size: 3,
|
||||
cmax: 100,
|
||||
cmin: 0
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
var data3 = {
|
||||
type: "scatter",
|
||||
mode: "lines",
|
||||
name: 'Resistance',
|
||||
x: {{ dates|safe }},
|
||||
y: {{ average2|safe }},
|
||||
line: {
|
||||
color: '#662222'
|
||||
,width: 3
|
||||
}
|
||||
};
|
||||
|
||||
var data3_mobile = {
|
||||
type: "scatter",
|
||||
mode: "lines",
|
||||
name: 'Resistance',
|
||||
x: {{ dates|safe }},
|
||||
y: {{ average2|safe }},
|
||||
line: {
|
||||
color: '#662222'
|
||||
,width: 3
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
var data2 = {
|
||||
type: "scatter",
|
||||
mode: "lines",
|
||||
name: 'Buy line',
|
||||
x: {{ dates|safe }},
|
||||
y: {{ average1|safe }},
|
||||
line: {
|
||||
color: '#225522'
|
||||
,width: 3
|
||||
}
|
||||
};
|
||||
|
||||
var data2_mobile = {
|
||||
type: "scatter",
|
||||
mode: "lines",
|
||||
name: 'Buy line',
|
||||
x: {{ dates|safe }},
|
||||
y: {{ average1|safe }},
|
||||
line: {
|
||||
color: '#225522'
|
||||
,width: 3
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
var data = [data3, data4, data2];
|
||||
var data_mobile = [data4_mobile, data2_mobile, data3_mobile];
|
||||
|
||||
var layout = {
|
||||
plot_bgcolor:"#252221",
|
||||
paper_bgcolor:"#252221",
|
||||
annotations: [
|
||||
{
|
||||
xref: 'paper',
|
||||
yref: 'paper',
|
||||
x: 0.98,
|
||||
xanchor: 'auto',
|
||||
y: 0.05,
|
||||
yanchor: 'auto',
|
||||
text: 'Moneroj<br>https://www.moneroj.net',
|
||||
showarrow: false,
|
||||
borderwidth: 1,
|
||||
bordercolor: '#5f5f5f',
|
||||
bgcolor: '#333333',
|
||||
borderpad: 5,
|
||||
align: 'center',
|
||||
font: {
|
||||
color: "white",
|
||||
size: 12
|
||||
}
|
||||
}],
|
||||
separators: ",.",
|
||||
legend: {
|
||||
x: 0.80,
|
||||
y: 0.05,
|
||||
bgcolor: '#333333',
|
||||
bordercolor: '#5f5f5f',
|
||||
borderwidth: 1,
|
||||
font: {
|
||||
color: 'white',
|
||||
size: 12
|
||||
},
|
||||
traceorder: 'normal',
|
||||
xanchor: 'auto',
|
||||
yanchor: 'auto'
|
||||
},
|
||||
hoverlabel: {
|
||||
namelength: -1
|
||||
},
|
||||
yaxis: {
|
||||
type: "log",
|
||||
title: {
|
||||
text: 'USD',
|
||||
font: {
|
||||
size: 20,
|
||||
color: 'white'
|
||||
}
|
||||
},
|
||||
tickformat :",.2f"
|
||||
,nticks: 10
|
||||
,tickfont: {
|
||||
color: "#ffffff"
|
||||
,size: 12
|
||||
}
|
||||
,gridcolor: "#333333"
|
||||
},
|
||||
xaxis: {
|
||||
hoverformat: "%Y-%m-%d",
|
||||
showgrid: true,
|
||||
type: 'date',
|
||||
nticks: 10
|
||||
,tickfont: {
|
||||
color: "#dddddd"
|
||||
,size: 13
|
||||
}
|
||||
,gridcolor: "#333333"
|
||||
,range: ['2014-05-01', '2023-01-01']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 120,
|
||||
r: 60,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 4
|
||||
}
|
||||
};
|
||||
|
||||
var layout_mobile = {
|
||||
plot_bgcolor:"black",
|
||||
paper_bgcolor:"black",
|
||||
separators: ",.",
|
||||
hoverlabel: {
|
||||
namelength: -1
|
||||
},
|
||||
legend: {
|
||||
x: 0.98,
|
||||
y: 0.05,
|
||||
bgcolor: '#000000',
|
||||
bordercolor: '#5f5f5f',
|
||||
borderwidth: 1,
|
||||
font: {
|
||||
color: 'white',
|
||||
size: 5
|
||||
},
|
||||
traceorder: 'normal',
|
||||
xanchor: 'auto',
|
||||
yanchor: 'auto'
|
||||
},
|
||||
showlegend: false,
|
||||
yaxis: {
|
||||
type: "log",
|
||||
tickformat :",.0f"
|
||||
,nticks: 10
|
||||
,tickfont: {
|
||||
color: "#ffffff"
|
||||
,size: 7
|
||||
}
|
||||
,gridcolor: "#444444"
|
||||
},
|
||||
xaxis: {
|
||||
hoverformat: "%Y",
|
||||
showgrid: true,
|
||||
type: 'date',
|
||||
nticks: 10
|
||||
,tickfont: {
|
||||
color: "#dddddd"
|
||||
,size: 7
|
||||
}
|
||||
,gridcolor: "#444444"
|
||||
,range: ['2009-12-20', '2026-01-10']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 40,
|
||||
r: 0,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 0
|
||||
}
|
||||
};
|
||||
|
||||
function findBootstrapEnvironment() {
|
||||
let envs = ['xs', 'sm', 'md', 'lg', 'xl'];
|
||||
|
||||
let el = document.createElement('div');
|
||||
document.body.appendChild(el);
|
||||
|
||||
let curEnv = envs.shift();
|
||||
|
||||
for (let env of envs.reverse()) {
|
||||
el.classList.add(`d-${env}-none`);
|
||||
|
||||
if (window.getComputedStyle(el).display === 'none') {
|
||||
curEnv = env;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
document.body.removeChild(el);
|
||||
return curEnv;
|
||||
|
||||
}
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
document.getElementById("graph1").style.height="350px";
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
else {
|
||||
document.getElementById("graph1").style.height="700px";
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
</script>
|
||||
|
||||
{% endblock %}
|
299
charts/templates/charts/p2pool_dominance.html
Normal file
299
charts/templates/charts/p2pool_dominance.html
Normal file
|
@ -0,0 +1,299 @@
|
|||
{% extends 'charts/base.html' %}
|
||||
|
||||
{% block header %}
|
||||
<title>Moneroj.net - Monero's Coinmarketcap Rank</title>
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" style="background-color:rgb(48, 44, 41)">
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph1" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
P2Pool and P2Pool_mini Market Share (%)
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
||||
<!-- Modal -->
|
||||
<div class="modal fade" id="id_Modal" tabindex="-1" role="dialog" aria-labelledby="Modal" aria-hidden="true">
|
||||
<div class="modal-dialog" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title" id="Modal">Help about the chart</h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Cancelar">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
This chart shows Monero's both P2Pool (mining pool) total hashrate (MH/s). Data provided by community member DataHoarder.<br>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Fim do Modal -->
|
||||
|
||||
<!-- Page level plugins -->
|
||||
<script>
|
||||
var data3 = {
|
||||
type: "scatter",
|
||||
mode: "lines",
|
||||
name: 'P2Pool Dominance',
|
||||
x: {{ dates|safe }},
|
||||
y: {{ dominance|safe }},
|
||||
line: {
|
||||
color: '#dd1d1d'
|
||||
,width: 3
|
||||
}
|
||||
};
|
||||
|
||||
var data3_mobile = {
|
||||
type: "scatter",
|
||||
mode: "lines",
|
||||
name: 'P2Pool Dominance',
|
||||
x: {{ dates|safe }},
|
||||
y: {{ dominance|safe }},
|
||||
line: {
|
||||
color: '#dd1d1d'
|
||||
,width: 3
|
||||
}
|
||||
};
|
||||
|
||||
var data1 = {
|
||||
type: "scatter",
|
||||
mode: "lines",
|
||||
name: 'Total P2Pool Dominance',
|
||||
x: {{ dates|safe }},
|
||||
y: {{ combined|safe }},
|
||||
line: {
|
||||
color: '#00ffff'
|
||||
,width: 3
|
||||
}
|
||||
};
|
||||
|
||||
var data1_mobile = {
|
||||
type: "scatter",
|
||||
mode: "lines",
|
||||
name: 'Total P2Pool Dominance',
|
||||
x: {{ dates|safe }},
|
||||
y: {{ combined|safe }},
|
||||
line: {
|
||||
color: '#00ffff'
|
||||
,width: 3
|
||||
}
|
||||
};
|
||||
|
||||
var data2 = {
|
||||
type: "scatter",
|
||||
mode: "lines",
|
||||
name: 'P2Pool_mini Dominance',
|
||||
x: {{ dates|safe }},
|
||||
y: {{ dominance_mini|safe }},
|
||||
line: {
|
||||
color: '#aa1a1a'
|
||||
,width: 3
|
||||
}
|
||||
};
|
||||
|
||||
var data2_mobile = {
|
||||
type: "scatter",
|
||||
mode: "lines",
|
||||
name: 'P2Pool_mini Dominance',
|
||||
x: {{ dates|safe }},
|
||||
y: {{ dominance_mini|safe }},
|
||||
line: {
|
||||
color: '#aa1a1a'
|
||||
,width: 3
|
||||
}
|
||||
};
|
||||
|
||||
var data = [data3, data1, data2];
|
||||
var data_mobile = [data3_mobile, data1_mobile, data2_mobile];
|
||||
|
||||
var layout = {
|
||||
plot_bgcolor:"#252221",
|
||||
paper_bgcolor:"#252221",
|
||||
annotations: [
|
||||
{
|
||||
xref: 'paper',
|
||||
yref: 'paper',
|
||||
x: 0,
|
||||
xanchor: 'auto',
|
||||
y: 0.80,
|
||||
yanchor: 'auto',
|
||||
text: 'Moneroj<br>https://www.moneroj.net',
|
||||
showarrow: false,
|
||||
borderwidth: 1,
|
||||
bordercolor: '#5f5f5f',
|
||||
bgcolor: '#333333',
|
||||
borderpad: 5,
|
||||
align: 'center',
|
||||
font: {
|
||||
color: "white",
|
||||
size: 12
|
||||
}
|
||||
}],
|
||||
separators: ",.",
|
||||
legend: {
|
||||
x: 0,
|
||||
y: 1,
|
||||
bgcolor: '#333333',
|
||||
bordercolor: '#5f5f5f',
|
||||
borderwidth: 1,
|
||||
font: {
|
||||
color: 'white',
|
||||
size: 12
|
||||
},
|
||||
traceorder: 'normal',
|
||||
xanchor: 'auto',
|
||||
yanchor: 'auto'
|
||||
},
|
||||
hoverlabel: {
|
||||
namelength: -1
|
||||
},
|
||||
yaxis: {
|
||||
type: "linear",
|
||||
title: {
|
||||
text: 'Percentage',
|
||||
font: {
|
||||
size: 20,
|
||||
color: 'white'
|
||||
}
|
||||
},
|
||||
tickformat :",.1f"
|
||||
,nticks: 8
|
||||
,tickfont: {
|
||||
color: "#ffffff"
|
||||
,size: 12
|
||||
}
|
||||
,gridcolor: "#333333"
|
||||
},
|
||||
xaxis: {
|
||||
hoverformat: "%Y-%m-%d",
|
||||
showgrid: true,
|
||||
type: 'date',
|
||||
nticks: 10
|
||||
,tickfont: {
|
||||
color: "#dddddd"
|
||||
,size: 13
|
||||
}
|
||||
,gridcolor: "#333333"
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
var layout_mobile = {
|
||||
plot_bgcolor:"black",
|
||||
paper_bgcolor:"black",
|
||||
separators: ",.",
|
||||
hoverlabel: {
|
||||
namelength: -1
|
||||
},
|
||||
legend: {
|
||||
x: 0,
|
||||
y: 0.95,
|
||||
bgcolor: '#000000',
|
||||
bordercolor: '#5f5f5f',
|
||||
borderwidth: 1,
|
||||
font: {
|
||||
color: 'white',
|
||||
size: 5
|
||||
},
|
||||
traceorder: 'normal',
|
||||
xanchor: 'auto',
|
||||
yanchor: 'auto'
|
||||
},
|
||||
showlegend: false,
|
||||
yaxis: {
|
||||
type: "linear",
|
||||
tickformat :",.2f"
|
||||
,nticks: 8
|
||||
,tickfont: {
|
||||
color: "#ffffff"
|
||||
,size: 7
|
||||
}
|
||||
,gridcolor: "#444444"
|
||||
},
|
||||
xaxis: {
|
||||
hoverformat: "%Y",
|
||||
showgrid: true,
|
||||
type: 'date',
|
||||
nticks: 10
|
||||
,tickfont: {
|
||||
color: "#dddddd"
|
||||
,size: 7
|
||||
}
|
||||
,gridcolor: "#444444"
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
function findBootstrapEnvironment() {
|
||||
let envs = ['xs', 'sm', 'md', 'lg', 'xl'];
|
||||
|
||||
let el = document.createElement('div');
|
||||
document.body.appendChild(el);
|
||||
|
||||
let curEnv = envs.shift();
|
||||
|
||||
for (let env of envs.reverse()) {
|
||||
el.classList.add(`d-${env}-none`);
|
||||
|
||||
if (window.getComputedStyle(el).display === 'none') {
|
||||
curEnv = env;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
document.body.removeChild(el);
|
||||
return curEnv;
|
||||
|
||||
}
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
else {
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
</script>
|
||||
|
||||
{% endblock %}
|
302
charts/templates/charts/p2pool_hashrate.html
Normal file
302
charts/templates/charts/p2pool_hashrate.html
Normal file
|
@ -0,0 +1,302 @@
|
|||
{% extends 'charts/base.html' %}
|
||||
|
||||
{% block header %}
|
||||
<title>Moneroj.net - Monero's Coinmarketcap Rank</title>
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" style="background-color:rgb(48, 44, 41)">
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 98%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph1" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
P2Pool and P2Pool_mini Hashrate (MH/s)
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
||||
<!-- Modal -->
|
||||
<div class="modal fade" id="id_Modal" tabindex="-1" role="dialog" aria-labelledby="Modal" aria-hidden="true">
|
||||
<div class="modal-dialog" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title" id="Modal">Help about the chart</h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Cancelar">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
This chart shows Monero's both P2Pool (mining pool) total hashrate (MH/s). Data provided by community member DataHoarder.<br>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Fim do Modal -->
|
||||
|
||||
|
||||
<!-- Page level plugins -->
|
||||
<script>
|
||||
var data3 = {
|
||||
type: "scatter",
|
||||
mode: "lines",
|
||||
name: 'P2Pool Hashrate MH/s',
|
||||
x: {{ dates|safe }},
|
||||
y: {{ hashrate|safe }},
|
||||
line: {
|
||||
color: '#dd1d1d'
|
||||
,width: 3
|
||||
}
|
||||
};
|
||||
|
||||
var data3_mobile = {
|
||||
type: "scatter",
|
||||
mode: "lines",
|
||||
name: 'P2Pool Hashrate MH/s',
|
||||
x: {{ dates|safe }},
|
||||
y: {{ hashrate|safe }},
|
||||
line: {
|
||||
color: '#dd1d1d'
|
||||
,width: 3
|
||||
}
|
||||
};
|
||||
|
||||
var data1 = {
|
||||
type: "scatter",
|
||||
mode: "lines",
|
||||
name: 'Total P2Pool Hashrate MH/s',
|
||||
x: {{ dates|safe }},
|
||||
y: {{ combined|safe }},
|
||||
line: {
|
||||
color: '#00ffff'
|
||||
,width: 3
|
||||
}
|
||||
};
|
||||
|
||||
var data1_mobile = {
|
||||
type: "scatter",
|
||||
mode: "lines",
|
||||
name: 'Total P2Pool Hashrate MH/s',
|
||||
x: {{ dates|safe }},
|
||||
y: {{ combined|safe }},
|
||||
line: {
|
||||
color: '#00ffff'
|
||||
,width: 3
|
||||
}
|
||||
};
|
||||
|
||||
var data2 = {
|
||||
type: "scatter",
|
||||
mode: "lines",
|
||||
name: 'P2Pool_mini Hashrate MH/s',
|
||||
x: {{ dates|safe }},
|
||||
y: {{ hashrate_mini|safe }},
|
||||
line: {
|
||||
color: '#aa1a1a'
|
||||
,width: 3
|
||||
}
|
||||
};
|
||||
|
||||
var data2_mobile = {
|
||||
type: "scatter",
|
||||
mode: "lines",
|
||||
name: 'P2Pool_mini Hashrate MH/s',
|
||||
x: {{ dates|safe }},
|
||||
y: {{ hashrate_mini|safe }},
|
||||
line: {
|
||||
color: '#aa1a1a'
|
||||
,width: 3
|
||||
}
|
||||
};
|
||||
|
||||
var data = [data3, data1, data2];
|
||||
var data_mobile = [data3_mobile, data1_mobile, data2_mobile];
|
||||
|
||||
var layout = {
|
||||
plot_bgcolor:"#252221",
|
||||
paper_bgcolor:"#252221",
|
||||
annotations: [
|
||||
{
|
||||
xref: 'paper',
|
||||
yref: 'paper',
|
||||
x: 0,
|
||||
xanchor: 'auto',
|
||||
y: 0.80,
|
||||
yanchor: 'auto',
|
||||
text: 'Moneroj<br>https://www.moneroj.net',
|
||||
showarrow: false,
|
||||
borderwidth: 1,
|
||||
bordercolor: '#5f5f5f',
|
||||
bgcolor: '#333333',
|
||||
borderpad: 5,
|
||||
align: 'center',
|
||||
font: {
|
||||
color: "white",
|
||||
size: 12
|
||||
}
|
||||
}],
|
||||
separators: ",.",
|
||||
legend: {
|
||||
x: 0,
|
||||
y: 1,
|
||||
bgcolor: '#333333',
|
||||
bordercolor: '#5f5f5f',
|
||||
borderwidth: 1,
|
||||
font: {
|
||||
color: 'white',
|
||||
size: 12
|
||||
},
|
||||
traceorder: 'normal',
|
||||
xanchor: 'auto',
|
||||
yanchor: 'auto'
|
||||
},
|
||||
hoverlabel: {
|
||||
namelength: -1
|
||||
},
|
||||
yaxis: {
|
||||
type: "linear",
|
||||
title: {
|
||||
text: 'Hashrate (MH/s)',
|
||||
font: {
|
||||
size: 20,
|
||||
color: 'white'
|
||||
}
|
||||
},
|
||||
tickformat :",.1f"
|
||||
,nticks: 8
|
||||
,tickfont: {
|
||||
color: "#ffffff"
|
||||
,size: 12
|
||||
}
|
||||
,gridcolor: "#333333"
|
||||
},
|
||||
xaxis: {
|
||||
hoverformat: "%Y-%m-%d",
|
||||
showgrid: true,
|
||||
type: 'date',
|
||||
nticks: 10
|
||||
,tickfont: {
|
||||
color: "#dddddd"
|
||||
,size: 13
|
||||
}
|
||||
,gridcolor: "#333333"
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
var layout_mobile = {
|
||||
plot_bgcolor:"black",
|
||||
paper_bgcolor:"black",
|
||||
separators: ",.",
|
||||
hoverlabel: {
|
||||
namelength: -1
|
||||
},
|
||||
legend: {
|
||||
x: 0,
|
||||
y: 0.95,
|
||||
bgcolor: '#000000',
|
||||
bordercolor: '#5f5f5f',
|
||||
borderwidth: 1,
|
||||
font: {
|
||||
color: 'white',
|
||||
size: 5
|
||||
},
|
||||
traceorder: 'normal',
|
||||
xanchor: 'auto',
|
||||
yanchor: 'auto'
|
||||
},
|
||||
showlegend: false,
|
||||
yaxis: {
|
||||
type: "linear",
|
||||
tickformat :",.2f"
|
||||
,nticks: 8
|
||||
,tickfont: {
|
||||
color: "#ffffff"
|
||||
,size: 7
|
||||
}
|
||||
,gridcolor: "#444444"
|
||||
},
|
||||
xaxis: {
|
||||
hoverformat: "%Y",
|
||||
showgrid: true,
|
||||
type: 'date',
|
||||
nticks: 10
|
||||
,tickfont: {
|
||||
color: "#dddddd"
|
||||
,size: 7
|
||||
}
|
||||
,gridcolor: "#444444"
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
function findBootstrapEnvironment() {
|
||||
let envs = ['xs', 'sm', 'md', 'lg', 'xl'];
|
||||
|
||||
let el = document.createElement('div');
|
||||
document.body.appendChild(el);
|
||||
|
||||
let curEnv = envs.shift();
|
||||
|
||||
for (let env of envs.reverse()) {
|
||||
el.classList.add(`d-${env}-none`);
|
||||
|
||||
if (window.getComputedStyle(el).display === 'none') {
|
||||
curEnv = env;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
document.body.removeChild(el);
|
||||
return curEnv;
|
||||
|
||||
}
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
document.getElementById("graph1").style.height="100%";
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
else {
|
||||
document.getElementById("graph1").style.height="100%";
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
</script>
|
||||
|
||||
{% endblock %}
|
299
charts/templates/charts/p2pool_miners.html
Normal file
299
charts/templates/charts/p2pool_miners.html
Normal file
|
@ -0,0 +1,299 @@
|
|||
{% extends 'charts/base.html' %}
|
||||
|
||||
{% block header %}
|
||||
<title>Moneroj.net - Monero's Coinmarketcap Rank</title>
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" style="background-color:rgb(48, 44, 41)">
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph1" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
P2Pool and P2Pool_mini Miners
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
||||
<!-- Modal -->
|
||||
<div class="modal fade" id="id_Modal" tabindex="-1" role="dialog" aria-labelledby="Modal" aria-hidden="true">
|
||||
<div class="modal-dialog" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title" id="Modal">Help about the chart</h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Cancelar">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
This chart shows Monero's both P2Pool (mining pool) total hashrate (MH/s). Data provided by community member DataHoarder.<br>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Fim do Modal -->
|
||||
|
||||
<!-- Page level plugins -->
|
||||
<script>
|
||||
var data3 = {
|
||||
type: "scatter",
|
||||
mode: "lines",
|
||||
name: 'P2Pool Miners',
|
||||
x: {{ dates|safe }},
|
||||
y: {{ miners|safe }},
|
||||
line: {
|
||||
color: '#dd1d1d'
|
||||
,width: 3
|
||||
}
|
||||
};
|
||||
|
||||
var data3_mobile = {
|
||||
type: "scatter",
|
||||
mode: "lines",
|
||||
name: 'P2Pool Miners',
|
||||
x: {{ dates|safe }},
|
||||
y: {{ miners|safe }},
|
||||
line: {
|
||||
color: '#dd1d1d'
|
||||
,width: 3
|
||||
}
|
||||
};
|
||||
|
||||
var data1 = {
|
||||
type: "scatter",
|
||||
mode: "lines",
|
||||
name: 'Total P2Pool Miners',
|
||||
x: {{ dates|safe }},
|
||||
y: {{ combined|safe }},
|
||||
line: {
|
||||
color: '#00ffff'
|
||||
,width: 3
|
||||
}
|
||||
};
|
||||
|
||||
var data1_mobile = {
|
||||
type: "scatter",
|
||||
mode: "lines",
|
||||
name: 'Total P2Pool Miners',
|
||||
x: {{ dates|safe }},
|
||||
y: {{ combined|safe }},
|
||||
line: {
|
||||
color: '#00ffff'
|
||||
,width: 3
|
||||
}
|
||||
};
|
||||
|
||||
var data2 = {
|
||||
type: "scatter",
|
||||
mode: "lines",
|
||||
name: 'P2Pool_mini Miners',
|
||||
x: {{ dates|safe }},
|
||||
y: {{ miners_mini|safe }},
|
||||
line: {
|
||||
color: '#aa1a1a'
|
||||
,width: 3
|
||||
}
|
||||
};
|
||||
|
||||
var data2_mobile = {
|
||||
type: "scatter",
|
||||
mode: "lines",
|
||||
name: 'P2Pool_mini Miners',
|
||||
x: {{ dates|safe }},
|
||||
y: {{ miners_mini|safe }},
|
||||
line: {
|
||||
color: '#aa1a1a'
|
||||
,width: 3
|
||||
}
|
||||
};
|
||||
|
||||
var data = [data3, data1, data2];
|
||||
var data_mobile = [data3_mobile, data1_mobile, data2_mobile];
|
||||
|
||||
var layout = {
|
||||
plot_bgcolor:"#252221",
|
||||
paper_bgcolor:"#252221",
|
||||
annotations: [
|
||||
{
|
||||
xref: 'paper',
|
||||
yref: 'paper',
|
||||
x: 0,
|
||||
xanchor: 'auto',
|
||||
y: 0.80,
|
||||
yanchor: 'auto',
|
||||
text: 'Moneroj<br>https://www.moneroj.net',
|
||||
showarrow: false,
|
||||
borderwidth: 1,
|
||||
bordercolor: '#5f5f5f',
|
||||
bgcolor: '#333333',
|
||||
borderpad: 5,
|
||||
align: 'center',
|
||||
font: {
|
||||
color: "white",
|
||||
size: 12
|
||||
}
|
||||
}],
|
||||
separators: ",.",
|
||||
legend: {
|
||||
x: 0,
|
||||
y: 1,
|
||||
bgcolor: '#333333',
|
||||
bordercolor: '#5f5f5f',
|
||||
borderwidth: 1,
|
||||
font: {
|
||||
color: 'white',
|
||||
size: 12
|
||||
},
|
||||
traceorder: 'normal',
|
||||
xanchor: 'auto',
|
||||
yanchor: 'auto'
|
||||
},
|
||||
hoverlabel: {
|
||||
namelength: -1
|
||||
},
|
||||
yaxis: {
|
||||
type: "linear",
|
||||
title: {
|
||||
text: '',
|
||||
font: {
|
||||
size: 20,
|
||||
color: 'white'
|
||||
}
|
||||
},
|
||||
tickformat :",.0f"
|
||||
,nticks: 8
|
||||
,tickfont: {
|
||||
color: "#ffffff"
|
||||
,size: 12
|
||||
}
|
||||
,gridcolor: "#333333"
|
||||
},
|
||||
xaxis: {
|
||||
hoverformat: "%Y-%m-%d",
|
||||
showgrid: true,
|
||||
type: 'date',
|
||||
nticks: 10
|
||||
,tickfont: {
|
||||
color: "#dddddd"
|
||||
,size: 13
|
||||
}
|
||||
,gridcolor: "#333333"
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
var layout_mobile = {
|
||||
plot_bgcolor:"black",
|
||||
paper_bgcolor:"black",
|
||||
separators: ",.",
|
||||
hoverlabel: {
|
||||
namelength: -1
|
||||
},
|
||||
legend: {
|
||||
x: 0,
|
||||
y: 0.95,
|
||||
bgcolor: '#000000',
|
||||
bordercolor: '#5f5f5f',
|
||||
borderwidth: 1,
|
||||
font: {
|
||||
color: 'white',
|
||||
size: 5
|
||||
},
|
||||
traceorder: 'normal',
|
||||
xanchor: 'auto',
|
||||
yanchor: 'auto'
|
||||
},
|
||||
showlegend: false,
|
||||
yaxis: {
|
||||
type: "linear",
|
||||
tickformat :",.0f"
|
||||
,nticks: 8
|
||||
,tickfont: {
|
||||
color: "#ffffff"
|
||||
,size: 7
|
||||
}
|
||||
,gridcolor: "#444444"
|
||||
},
|
||||
xaxis: {
|
||||
hoverformat: "%Y",
|
||||
showgrid: true,
|
||||
type: 'date',
|
||||
nticks: 10
|
||||
,tickfont: {
|
||||
color: "#dddddd"
|
||||
,size: 7
|
||||
}
|
||||
,gridcolor: "#444444"
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
function findBootstrapEnvironment() {
|
||||
let envs = ['xs', 'sm', 'md', 'lg', 'xl'];
|
||||
|
||||
let el = document.createElement('div');
|
||||
document.body.appendChild(el);
|
||||
|
||||
let curEnv = envs.shift();
|
||||
|
||||
for (let env of envs.reverse()) {
|
||||
el.classList.add(`d-${env}-none`);
|
||||
|
||||
if (window.getComputedStyle(el).display === 'none') {
|
||||
curEnv = env;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
document.body.removeChild(el);
|
||||
return curEnv;
|
||||
|
||||
}
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
else {
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
</script>
|
||||
|
||||
{% endblock %}
|
301
charts/templates/charts/p2pool_totalblocks.html
Normal file
301
charts/templates/charts/p2pool_totalblocks.html
Normal file
|
@ -0,0 +1,301 @@
|
|||
{% extends 'charts/base.html' %}
|
||||
|
||||
{% block header %}
|
||||
<title>Moneroj.net - Monero's Coinmarketcap Rank</title>
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" style="background-color:rgb(48, 44, 41)">
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph1" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
P2Pool Blocks Found
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
||||
<!-- Modal -->
|
||||
<div class="modal fade" id="id_Modal" tabindex="-1" role="dialog" aria-labelledby="Modal" aria-hidden="true">
|
||||
<div class="modal-dialog" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title" id="Modal">Help about the chart</h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Cancelar">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
This chart shows Monero's both P2Pool (mining pool) total number of blocks found. Data provided by community member DataHoarder.<br>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Fim do Modal -->
|
||||
|
||||
<!-- Page level plugins -->
|
||||
<script>
|
||||
var data3 = {
|
||||
type: "scatter",
|
||||
mode: "lines",
|
||||
name: 'P2Pool Blocks Found',
|
||||
x: {{ dates|safe }},
|
||||
y: {{ totalblocks|safe }},
|
||||
line: {
|
||||
color: '#dd1d1d'
|
||||
,width: 3
|
||||
}
|
||||
};
|
||||
|
||||
var data3_mobile = {
|
||||
type: "scatter",
|
||||
mode: "lines",
|
||||
name: 'P2Pool Blocks Found',
|
||||
x: {{ dates|safe }},
|
||||
y: {{ totalblocks|safe }},
|
||||
line: {
|
||||
color: '#dd1d1d'
|
||||
,width: 3
|
||||
}
|
||||
};
|
||||
|
||||
var data2 = {
|
||||
type: "scatter",
|
||||
mode: "lines",
|
||||
name: 'P2Pool_mini Blocks Found',
|
||||
x: {{ dates|safe }},
|
||||
y: {{ totalblocks_mini|safe }},
|
||||
line: {
|
||||
color: '#aa1a1a'
|
||||
,width: 3
|
||||
}
|
||||
};
|
||||
|
||||
var data2_mobile = {
|
||||
type: "scatter",
|
||||
mode: "lines",
|
||||
name: 'P2Pool_mini Blocks Found',
|
||||
x: {{ dates|safe }},
|
||||
y: {{ totalblocks_mini|safe }},
|
||||
line: {
|
||||
color: '#aa1a1a'
|
||||
,width: 3
|
||||
}
|
||||
};
|
||||
|
||||
var data1 = {
|
||||
type: "scatter",
|
||||
mode: "lines",
|
||||
name: 'Total P2Pool Blocks Found',
|
||||
x: {{ dates|safe }},
|
||||
y: {{ combined|safe }},
|
||||
line: {
|
||||
color: '#00ffff'
|
||||
,width: 3
|
||||
}
|
||||
};
|
||||
|
||||
var data1_mobile = {
|
||||
type: "scatter",
|
||||
mode: "lines",
|
||||
name: 'Total P2Pool Blocks Found',
|
||||
x: {{ dates|safe }},
|
||||
y: {{ combined|safe }},
|
||||
line: {
|
||||
color: '#00ffff'
|
||||
,width: 3
|
||||
}
|
||||
};
|
||||
|
||||
var data = [data3, data2, data1];
|
||||
var data_mobile = [data3_mobile, data2_mobile, data1_mobile];
|
||||
|
||||
var layout = {
|
||||
plot_bgcolor:"#252221",
|
||||
paper_bgcolor:"#252221",
|
||||
annotations: [
|
||||
{
|
||||
xref: 'paper',
|
||||
yref: 'paper',
|
||||
x: 0.5,
|
||||
xanchor: 'auto',
|
||||
y: 0,
|
||||
yanchor: 'auto',
|
||||
text: 'Moneroj<br>https://www.moneroj.net',
|
||||
showarrow: false,
|
||||
borderwidth: 1,
|
||||
bordercolor: '#5f5f5f',
|
||||
bgcolor: '#333333',
|
||||
borderpad: 5,
|
||||
align: 'center',
|
||||
font: {
|
||||
color: "white",
|
||||
size: 12
|
||||
}
|
||||
}],
|
||||
separators: ",.",
|
||||
legend: {
|
||||
x: 0,
|
||||
y: 1,
|
||||
bgcolor: '#333333',
|
||||
bordercolor: '#5f5f5f',
|
||||
borderwidth: 1,
|
||||
font: {
|
||||
color: 'white',
|
||||
size: 12
|
||||
},
|
||||
traceorder: 'normal',
|
||||
xanchor: 'auto',
|
||||
yanchor: 'auto'
|
||||
},
|
||||
hoverlabel: {
|
||||
namelength: -1
|
||||
},
|
||||
yaxis: {
|
||||
type: "linear",
|
||||
title: {
|
||||
text: 'Blocks Found',
|
||||
font: {
|
||||
size: 20,
|
||||
color: 'white'
|
||||
}
|
||||
},
|
||||
tickformat :",.0f"
|
||||
,nticks: 8
|
||||
,tickfont: {
|
||||
color: "#ffffff"
|
||||
,size: 12
|
||||
}
|
||||
,gridcolor: "#333333"
|
||||
},
|
||||
xaxis: {
|
||||
hoverformat: "%Y-%m-%d",
|
||||
showgrid: true,
|
||||
type: 'date',
|
||||
nticks: 10
|
||||
,tickfont: {
|
||||
color: "#dddddd"
|
||||
,size: 13
|
||||
}
|
||||
,gridcolor: "#333333"
|
||||
,range: ['2021-09-09', '']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
var layout_mobile = {
|
||||
plot_bgcolor:"black",
|
||||
paper_bgcolor:"black",
|
||||
separators: ",.",
|
||||
hoverlabel: {
|
||||
namelength: -1
|
||||
},
|
||||
legend: {
|
||||
x: 0.5,
|
||||
y: 0,
|
||||
bgcolor: '#000000',
|
||||
bordercolor: '#5f5f5f',
|
||||
borderwidth: 1,
|
||||
font: {
|
||||
color: 'white',
|
||||
size: 5
|
||||
},
|
||||
traceorder: 'normal',
|
||||
xanchor: 'auto',
|
||||
yanchor: 'auto'
|
||||
},
|
||||
showlegend: false,
|
||||
yaxis: {
|
||||
type: "linear",
|
||||
tickformat :",.0f"
|
||||
,nticks: 8
|
||||
,tickfont: {
|
||||
color: "#ffffff"
|
||||
,size: 7
|
||||
}
|
||||
,gridcolor: "#444444"
|
||||
},
|
||||
xaxis: {
|
||||
hoverformat: "%Y",
|
||||
showgrid: true,
|
||||
type: 'date',
|
||||
nticks: 10
|
||||
,tickfont: {
|
||||
color: "#dddddd"
|
||||
,size: 7
|
||||
}
|
||||
,gridcolor: "#444444"
|
||||
,range: ['2021-09-09', '']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
function findBootstrapEnvironment() {
|
||||
let envs = ['xs', 'sm', 'md', 'lg', 'xl'];
|
||||
|
||||
let el = document.createElement('div');
|
||||
document.body.appendChild(el);
|
||||
|
||||
let curEnv = envs.shift();
|
||||
|
||||
for (let env of envs.reverse()) {
|
||||
el.classList.add(`d-${env}-none`);
|
||||
|
||||
if (window.getComputedStyle(el).display === 'none') {
|
||||
curEnv = env;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
document.body.removeChild(el);
|
||||
return curEnv;
|
||||
|
||||
}
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
else {
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
</script>
|
||||
|
||||
{% endblock %}
|
301
charts/templates/charts/p2pool_totalhashes.html
Normal file
301
charts/templates/charts/p2pool_totalhashes.html
Normal file
|
@ -0,0 +1,301 @@
|
|||
{% extends 'charts/base.html' %}
|
||||
|
||||
{% block header %}
|
||||
<title>Moneroj.net - Monero's Coinmarketcap Rank</title>
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" style="background-color:rgb(48, 44, 41)">
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph1" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
P2Pool Total Hashes (Tera Hashes) Found
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
||||
<!-- Modal -->
|
||||
<div class="modal fade" id="id_Modal" tabindex="-1" role="dialog" aria-labelledby="Modal" aria-hidden="true">
|
||||
<div class="modal-dialog" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title" id="Modal">Help about the chart</h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Cancelar">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
This chart shows Monero's both P2Pool (mining pool) total hashes found. Data provided by community member DataHoarder.<br>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Fim do Modal -->
|
||||
|
||||
<!-- Page level plugins -->
|
||||
<script>
|
||||
var data3 = {
|
||||
type: "scatter",
|
||||
mode: "lines",
|
||||
name: 'P2Pool Hashes Found (TH)',
|
||||
x: {{ dates|safe }},
|
||||
y: {{ totalblocks|safe }},
|
||||
line: {
|
||||
color: '#dd1d1d'
|
||||
,width: 3
|
||||
}
|
||||
};
|
||||
|
||||
var data3_mobile = {
|
||||
type: "scatter",
|
||||
mode: "lines",
|
||||
name: 'P2Pool Hashes Found (TH)',
|
||||
x: {{ dates|safe }},
|
||||
y: {{ totalblocks|safe }},
|
||||
line: {
|
||||
color: '#dd1d1d'
|
||||
,width: 3
|
||||
}
|
||||
};
|
||||
|
||||
var data2 = {
|
||||
type: "scatter",
|
||||
mode: "lines",
|
||||
name: 'P2Pool_mini Hashes Found (TH)',
|
||||
x: {{ dates|safe }},
|
||||
y: {{ totalblocks_mini|safe }},
|
||||
line: {
|
||||
color: '#aa1a1a'
|
||||
,width: 3
|
||||
}
|
||||
};
|
||||
|
||||
var data2_mobile = {
|
||||
type: "scatter",
|
||||
mode: "lines",
|
||||
name: 'P2Pool_mini Hashes Found (TH)',
|
||||
x: {{ dates|safe }},
|
||||
y: {{ totalblocks_mini|safe }},
|
||||
line: {
|
||||
color: '#aa1a1a'
|
||||
,width: 3
|
||||
}
|
||||
};
|
||||
|
||||
var data1 = {
|
||||
type: "scatter",
|
||||
mode: "lines",
|
||||
name: 'Total P2Pool Hashes Found (TH)',
|
||||
x: {{ dates|safe }},
|
||||
y: {{ combined|safe }},
|
||||
line: {
|
||||
color: '#00ffff'
|
||||
,width: 3
|
||||
}
|
||||
};
|
||||
|
||||
var data1_mobile = {
|
||||
type: "scatter",
|
||||
mode: "lines",
|
||||
name: 'Total P2Pool Hashes Found (TH)',
|
||||
x: {{ dates|safe }},
|
||||
y: {{ combined|safe }},
|
||||
line: {
|
||||
color: '#00ffff'
|
||||
,width: 3
|
||||
}
|
||||
};
|
||||
|
||||
var data = [data3, data2, data1];
|
||||
var data_mobile = [data3_mobile, data2_mobile, data1_mobile];
|
||||
|
||||
var layout = {
|
||||
plot_bgcolor:"#252221",
|
||||
paper_bgcolor:"#252221",
|
||||
annotations: [
|
||||
{
|
||||
xref: 'paper',
|
||||
yref: 'paper',
|
||||
x: 0.5,
|
||||
xanchor: 'auto',
|
||||
y: 0,
|
||||
yanchor: 'auto',
|
||||
text: 'Moneroj<br>https://www.moneroj.net',
|
||||
showarrow: false,
|
||||
borderwidth: 1,
|
||||
bordercolor: '#5f5f5f',
|
||||
bgcolor: '#333333',
|
||||
borderpad: 5,
|
||||
align: 'center',
|
||||
font: {
|
||||
color: "white",
|
||||
size: 12
|
||||
}
|
||||
}],
|
||||
separators: ",.",
|
||||
legend: {
|
||||
x: 0,
|
||||
y: 1,
|
||||
bgcolor: '#333333',
|
||||
bordercolor: '#5f5f5f',
|
||||
borderwidth: 1,
|
||||
font: {
|
||||
color: 'white',
|
||||
size: 12
|
||||
},
|
||||
traceorder: 'normal',
|
||||
xanchor: 'auto',
|
||||
yanchor: 'auto'
|
||||
},
|
||||
hoverlabel: {
|
||||
namelength: -1
|
||||
},
|
||||
yaxis: {
|
||||
type: "linear",
|
||||
title: {
|
||||
text: 'Hashes Found (TH)',
|
||||
font: {
|
||||
size: 20,
|
||||
color: 'white'
|
||||
}
|
||||
},
|
||||
tickformat :",.1f"
|
||||
,nticks: 8
|
||||
,tickfont: {
|
||||
color: "#ffffff"
|
||||
,size: 12
|
||||
}
|
||||
,gridcolor: "#333333"
|
||||
},
|
||||
xaxis: {
|
||||
hoverformat: "%Y-%m-%d",
|
||||
showgrid: true,
|
||||
type: 'date',
|
||||
nticks: 10
|
||||
,tickfont: {
|
||||
color: "#dddddd"
|
||||
,size: 13
|
||||
}
|
||||
,gridcolor: "#333333"
|
||||
,range: ['2021-09-09', '']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
var layout_mobile = {
|
||||
plot_bgcolor:"black",
|
||||
paper_bgcolor:"black",
|
||||
separators: ",.",
|
||||
hoverlabel: {
|
||||
namelength: -1
|
||||
},
|
||||
legend: {
|
||||
x: 0.5,
|
||||
y: 0,
|
||||
bgcolor: '#000000',
|
||||
bordercolor: '#5f5f5f',
|
||||
borderwidth: 1,
|
||||
font: {
|
||||
color: 'white',
|
||||
size: 5
|
||||
},
|
||||
traceorder: 'normal',
|
||||
xanchor: 'auto',
|
||||
yanchor: 'auto'
|
||||
},
|
||||
showlegend: false,
|
||||
yaxis: {
|
||||
type: "linear",
|
||||
tickformat :",.1f"
|
||||
,nticks: 8
|
||||
,tickfont: {
|
||||
color: "#ffffff"
|
||||
,size: 7
|
||||
}
|
||||
,gridcolor: "#444444"
|
||||
},
|
||||
xaxis: {
|
||||
hoverformat: "%Y",
|
||||
showgrid: true,
|
||||
type: 'date',
|
||||
nticks: 10
|
||||
,tickfont: {
|
||||
color: "#dddddd"
|
||||
,size: 7
|
||||
}
|
||||
,gridcolor: "#444444"
|
||||
,range: ['2021-09-09', '']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
function findBootstrapEnvironment() {
|
||||
let envs = ['xs', 'sm', 'md', 'lg', 'xl'];
|
||||
|
||||
let el = document.createElement('div');
|
||||
document.body.appendChild(el);
|
||||
|
||||
let curEnv = envs.shift();
|
||||
|
||||
for (let env of envs.reverse()) {
|
||||
el.classList.add(`d-${env}-none`);
|
||||
|
||||
if (window.getComputedStyle(el).display === 'none') {
|
||||
curEnv = env;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
document.body.removeChild(el);
|
||||
return curEnv;
|
||||
|
||||
}
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
else {
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
</script>
|
||||
|
||||
{% endblock %}
|
|
@ -9,56 +9,29 @@
|
|||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" style="background-color:rgb(48, 44, 41)">
|
||||
|
||||
<!-- Main Content -->
|
||||
<div id="content">
|
||||
|
||||
<!-- Begin Page Content -->
|
||||
<div class="container-fluid"><br>
|
||||
<div class="row">
|
||||
<div class="col-xl-12 col-lg-12">
|
||||
<div class="card" id="graph1">
|
||||
<div
|
||||
class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">Total Pageviews and Unique Visitors (Moneroj.net, linear)</h6>
|
||||
<div class="dropdown no-arrow">
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body" style="height: 100px;">
|
||||
<div id="graph" style="height: 100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph1" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
Total Pageviews and Unique Visitors (Moneroj.net, linear)
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
<div class="col-xl-11 col-md-6 mb-4">
|
||||
<div class="alert alert-dark" role="alert">
|
||||
Not financial advice.
|
||||
For information about the chart, click the button >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-1">
|
||||
<button type="button" class="btn btn-dark btn-block" data-toggle="modal" href="#"
|
||||
data-target="#id_Modal">
|
||||
<div class="col-auto">
|
||||
+
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- /.container-fluid -->
|
||||
|
||||
</div>
|
||||
<!-- End of Main Content -->
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
@ -162,8 +135,8 @@ var layout = {
|
|||
}],
|
||||
separators: ",.",
|
||||
legend: {
|
||||
x: 0.98,
|
||||
y: 0.50,
|
||||
x: 0.02,
|
||||
y: 0.98,
|
||||
bgcolor: '#333333',
|
||||
bordercolor: '#5f5f5f',
|
||||
borderwidth: 1,
|
||||
|
@ -207,13 +180,13 @@ var layout = {
|
|||
,gridcolor: "#333333"
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 80,
|
||||
r: 30,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 10
|
||||
}
|
||||
margin: {
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
var layout_mobile = {
|
||||
|
@ -261,13 +234,13 @@ var layout_mobile = {
|
|||
,range: ['2022-07-01', '2023-01-01']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 40,
|
||||
r: 100,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 10
|
||||
}
|
||||
margin: {
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
function findBootstrapEnvironment() {
|
||||
|
@ -293,11 +266,9 @@ var layout_mobile = {
|
|||
}
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
document.getElementById("graph1").style.height="350px";
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
else {
|
||||
document.getElementById("graph1").style.height="700px";
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -9,81 +9,29 @@
|
|||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" style="background-color:rgb(48, 44, 41)">
|
||||
|
||||
<!-- Main Content -->
|
||||
<div id="content">
|
||||
|
||||
<!-- Begin Page Content -->
|
||||
<div class="container-fluid"><br>
|
||||
<div class="row">
|
||||
<div class="col-xl-12 col-lg-12">
|
||||
<div class="card" id="graph1">
|
||||
<div
|
||||
class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">Transaction Percentage (XMR's tx / BTC's tx)</h6>
|
||||
<div class="dropdown no-arrow">
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body" style="height: 100px;">
|
||||
<div id="graph" style="height: 100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph1" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
Transaction Percentage (XMR's tx / BTC's tx)
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-6 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Current Percentage</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_transactions }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-6 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Highest Percentage</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ maximum }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
<div class="col-xl-11 col-md-6 mb-4">
|
||||
<div class="alert alert-dark" role="alert">
|
||||
Not financial advice.
|
||||
For information about the chart, click the button >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-1">
|
||||
<button type="button" class="btn btn-dark btn-block" data-toggle="modal" href="#"
|
||||
data-target="#id_Modal">
|
||||
<div class="col-auto">
|
||||
+
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- /.container-fluid -->
|
||||
|
||||
</div>
|
||||
<!-- End of Main Content -->
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
@ -211,11 +159,11 @@
|
|||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 120,
|
||||
r: 60,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 4
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -265,11 +213,11 @@
|
|||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 40,
|
||||
r: 0,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 0
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -296,11 +244,9 @@
|
|||
}
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
document.getElementById("graph1").style.height="350px";
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
else {
|
||||
document.getElementById("graph1").style.height="700px";
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -9,85 +9,34 @@
|
|||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" style="background-color:rgb(48, 44, 41)">
|
||||
|
||||
<!-- Main Content -->
|
||||
<div id="content">
|
||||
|
||||
<!-- Begin Page Content -->
|
||||
<div class="container-fluid"><br>
|
||||
<div class="row">
|
||||
<div class="col-xl-12 col-lg-12">
|
||||
<div class="card" id="graph1">
|
||||
<div
|
||||
class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">Monthly Percentage (XMR's tx / BTC's tx)</h6>
|
||||
<div class="dropdown no-arrow">
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body pb-0 pt-0 pl-0 pr-0" style="height: 100px;">
|
||||
<div id="graph" style="height: 100%; width:100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph1" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
Monthly Percentage (XMR's tx / BTC's tx)
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
|
||||
<!-- Card -->
|
||||
<div class="col-xl-6 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Monthly Percentage</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_transactions }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Card -->
|
||||
<div class="col-xl-6 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Highest Percentage of Transactions</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ maximum }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
<div class="col-xl-11 col-md-6 mb-4">
|
||||
<div class="alert alert-dark" role="alert">
|
||||
Not financial advice.
|
||||
For information about the chart, click the button >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-1">
|
||||
<button type="button" class="btn btn-dark btn-block" data-toggle="modal" href="#"
|
||||
data-target="#id_Modal">
|
||||
<div class="col-auto">
|
||||
+
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- /.container-fluid -->
|
||||
|
||||
</div>
|
||||
<!-- End of Main Content -->
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
||||
|
||||
<!-- Modal -->
|
||||
<div class="modal fade" id="id_Modal" tabindex="-1" role="dialog" aria-labelledby="Modal" aria-hidden="true">
|
||||
<div class="modal-dialog" role="document">
|
||||
|
@ -225,16 +174,15 @@
|
|||
,size: 13
|
||||
}
|
||||
,gridcolor: "#333333"
|
||||
,range: ['2014-05-01', '2023-06-01']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 120,
|
||||
r: 60,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 4
|
||||
}
|
||||
margin: {
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
var layout_mobile = {
|
||||
|
@ -279,16 +227,15 @@
|
|||
,size: 13
|
||||
}
|
||||
,gridcolor: "#333333"
|
||||
,range: ['2014-05-01', '2023-06-01']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 40,
|
||||
r: 0,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 0
|
||||
}
|
||||
margin: {
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
function findBootstrapEnvironment() {
|
||||
|
@ -314,11 +261,9 @@
|
|||
}
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
document.getElementById("graph1").style.height="350px";
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
else {
|
||||
document.getElementById("graph1").style.height="700px";
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -9,101 +9,29 @@
|
|||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" style="background-color:rgb(48, 44, 41)">
|
||||
|
||||
<!-- Main Content -->
|
||||
<div id="content">
|
||||
|
||||
<!-- Begin Page Content -->
|
||||
<div class="container-fluid"><br>
|
||||
<div class="row">
|
||||
<div class="col-xl-12 col-lg-12">
|
||||
<div class="card" id="graph1">
|
||||
<div
|
||||
class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">Power Law</h6>
|
||||
<div class="dropdown no-arrow">
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body pb-0 pt-0 pl-0 pr-0" style="height: 100px;">
|
||||
<div id="graph" style="height: 100%; width:100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph1" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
Power Law
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-3 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Last Price</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_price }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-3 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Current Stock-to-flow Price</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_sf }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-3 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Highest Daily Close</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ maximum }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-3 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Current Annual Inflation</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_inflation }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
<div class="col-xl-11 col-md-6 mb-4">
|
||||
<div class="alert alert-dark" role="alert">
|
||||
Not financial advice.
|
||||
For information about the chart, click the button >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-1">
|
||||
<button type="button" class="btn btn-dark btn-block" data-toggle="modal" href="#"
|
||||
data-target="#id_Modal">
|
||||
<div class="col-auto">
|
||||
+
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- /.container-fluid -->
|
||||
|
||||
</div>
|
||||
<!-- End of Main Content -->
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
@ -349,13 +277,13 @@ var layout = {
|
|||
,size: 13
|
||||
},
|
||||
},
|
||||
margin: {
|
||||
l: 120,
|
||||
r: 60,
|
||||
b: 60,
|
||||
t: 10,
|
||||
pad: 4
|
||||
}
|
||||
margin: {
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
var layout_mobile = {
|
||||
|
@ -410,13 +338,13 @@ var layout_mobile = {
|
|||
,size: 13
|
||||
},
|
||||
},
|
||||
margin: {
|
||||
l: 40,
|
||||
r: 0,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 0
|
||||
}
|
||||
margin: {
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
function findBootstrapEnvironment() {
|
||||
|
@ -442,11 +370,9 @@ function findBootstrapEnvironment() {
|
|||
}
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
document.getElementById("graph1").style.height="350px";
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
else {
|
||||
document.getElementById("graph1").style.height="700px";
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -9,101 +9,29 @@
|
|||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" style="background-color:rgb(48, 44, 41)">
|
||||
|
||||
<!-- Main Content -->
|
||||
<div id="content">
|
||||
|
||||
<!-- Begin Page Content -->
|
||||
<div class="container-fluid"><br>
|
||||
<div class="row">
|
||||
<div class="col-xl-12 col-lg-12">
|
||||
<div class="card" id="graph1">
|
||||
<div
|
||||
class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">Price (linear scale, USD)</h6>
|
||||
<div class="dropdown no-arrow">
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body pb-0 pt-0 pl-0 pr-0" style="height: 100px;">
|
||||
<div id="graph" style="height: 100%; width:100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph1" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
Price (linear scale, USD)
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-3 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Last Price</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_price }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-3 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Current Stock-to-flow Price</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_sf }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-3 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Highest Daily Close</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ maximum }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-3 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Current Annual Inflation</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_inflation }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
<div class="col-xl-11 col-md-6 mb-4">
|
||||
<div class="alert alert-dark" role="alert">
|
||||
Not financial advice.
|
||||
For information about the chart, click the button >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-1">
|
||||
<button type="button" class="btn btn-dark btn-block" data-toggle="modal" href="#"
|
||||
data-target="#id_Modal">
|
||||
<div class="col-auto">
|
||||
+
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- /.container-fluid -->
|
||||
|
||||
</div>
|
||||
<!-- End of Main Content -->
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
@ -263,16 +191,15 @@ var layout = {
|
|||
,size: 13
|
||||
}
|
||||
,gridcolor: "#333333"
|
||||
,range: ['2014-05-01', '2023-01-01']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 120,
|
||||
r: 60,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 4
|
||||
}
|
||||
margin: {
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
var layout_mobile = {
|
||||
|
@ -317,16 +244,15 @@ var layout_mobile = {
|
|||
,size: 7
|
||||
}
|
||||
,gridcolor: "#444444"
|
||||
,range: ['2009-12-20', '2026-01-10']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 40,
|
||||
r: 0,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 0
|
||||
}
|
||||
margin: {
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
function findBootstrapEnvironment() {
|
||||
|
@ -352,11 +278,9 @@ function findBootstrapEnvironment() {
|
|||
}
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
document.getElementById("graph1").style.height="350px";
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
else {
|
||||
document.getElementById("graph1").style.height="700px";
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -9,101 +9,29 @@
|
|||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" style="background-color:rgb(48, 44, 41)">
|
||||
|
||||
<!-- Main Content -->
|
||||
<div id="content">
|
||||
|
||||
<!-- Begin Page Content -->
|
||||
<div class="container-fluid"><br>
|
||||
<div class="row">
|
||||
<div class="col-xl-12 col-lg-12">
|
||||
<div class="card" id="graph1">
|
||||
<div
|
||||
class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">Price (log scale, USD)</h6>
|
||||
<div class="dropdown no-arrow">
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body pb-0 pt-0 pl-0 pr-0" style="height: 100px;">
|
||||
<div id="graph" style="height: 100%; width:100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph1" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
Price (log scale, USD)
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-3 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Last Price</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_price }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-3 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Current Stock-to-flow Price</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_sf }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-3 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Highest Daily Close</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ maximum }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-3 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Current Annual Inflation</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_inflation }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
<div class="col-xl-11 col-md-6 mb-4">
|
||||
<div class="alert alert-dark" role="alert">
|
||||
Not financial advice.
|
||||
For information about the chart, click the button >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-1">
|
||||
<button type="button" class="btn btn-dark btn-block" data-toggle="modal" href="#"
|
||||
data-target="#id_Modal">
|
||||
<div class="col-auto">
|
||||
+
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- /.container-fluid -->
|
||||
|
||||
</div>
|
||||
<!-- End of Main Content -->
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
@ -119,8 +47,8 @@
|
|||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
This chart shows the price of the coin on a log scale. The color of the points indicate their position
|
||||
on the Bitcoin pair, being red as overbought and blue as cheap.<br>
|
||||
This chart shows the price of the coin on a linear scale. The color of the points indicate their
|
||||
position on the Bitcoin pair, being red as overbought and blue as cheap.<br>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
|
||||
|
@ -131,9 +59,9 @@
|
|||
<!-- Fim do Modal -->
|
||||
|
||||
|
||||
|
||||
<!-- Page level plugins -->
|
||||
<script>
|
||||
|
||||
var data4 = {
|
||||
type: "scatter",
|
||||
mode: "markers",
|
||||
|
@ -202,7 +130,7 @@ var layout = {
|
|||
{
|
||||
xref: 'paper',
|
||||
yref: 'paper',
|
||||
x: 0.50,
|
||||
x: 0.98,
|
||||
xanchor: 'auto',
|
||||
y: 0.02,
|
||||
yanchor: 'auto',
|
||||
|
@ -263,16 +191,15 @@ var layout = {
|
|||
,size: 13
|
||||
}
|
||||
,gridcolor: "#333333"
|
||||
,range: ['2014-05-01', '2023-01-01']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 120,
|
||||
r: 60,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 4
|
||||
}
|
||||
margin: {
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
var layout_mobile = {
|
||||
|
@ -317,16 +244,15 @@ var layout_mobile = {
|
|||
,size: 7
|
||||
}
|
||||
,gridcolor: "#444444"
|
||||
,range: ['2009-12-20', '2026-01-10']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 40,
|
||||
r: 0,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 0
|
||||
}
|
||||
margin: {
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
function findBootstrapEnvironment() {
|
||||
|
@ -352,11 +278,9 @@ function findBootstrapEnvironment() {
|
|||
}
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
document.getElementById("graph1").style.height="350px";
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
else {
|
||||
document.getElementById("graph1").style.height="700px";
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -5,95 +5,32 @@
|
|||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" style="background-color:rgb(48, 44, 41)">
|
||||
|
||||
<!-- Main Content -->
|
||||
<div id="content">
|
||||
|
||||
<!-- Begin Page Content -->
|
||||
<div class="container-fluid"><br>
|
||||
<div class="row">
|
||||
<div class="col-xl-12 col-lg-12">
|
||||
<div class="card" id="graph1">
|
||||
<div
|
||||
class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">Price (BTC)</h6>
|
||||
<div class="dropdown no-arrow">
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body pb-0 pt-0 pl-0 pr-0" style="height: 100px;">
|
||||
<div id="graph" style="height: 100%; width:100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph1" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
Price (BTC)
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-4 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Last Price</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_price }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-4 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Bottom</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ bottom }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-4 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Last Top</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ maximum }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
<div class="col-xl-11 col-md-6 mb-4">
|
||||
<div class="alert alert-dark" role="alert">
|
||||
Not financial advice.
|
||||
For information about the chart, click the button >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-1">
|
||||
<button type="button" class="btn btn-dark btn-block" data-toggle="modal" href="#"
|
||||
data-target="#id_Modal">
|
||||
<div class="col-auto">
|
||||
+
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- /.container-fluid -->
|
||||
|
||||
</div>
|
||||
<!-- End of Main Content -->
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
@ -310,11 +247,11 @@
|
|||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 40,
|
||||
r: 0,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 0
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -341,11 +278,9 @@
|
|||
}
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
document.getElementById("graph1").style.height="350px";
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
else {
|
||||
document.getElementById("graph1").style.height="700px";
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
</script>
|
||||
|
|
287
charts/templates/charts/pricesatslog.html
Normal file
287
charts/templates/charts/pricesatslog.html
Normal file
|
@ -0,0 +1,287 @@
|
|||
{% extends 'charts/base.html' %}
|
||||
|
||||
{% block header %}
|
||||
<title>Moneroj.net - Price</title>
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" style="background-color:rgb(48, 44, 41)">
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph1" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
Price (BTC)
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
||||
<!-- Modal -->
|
||||
<div class="modal fade" id="id_Modal" tabindex="-1" role="dialog" aria-labelledby="Modal" aria-hidden="true">
|
||||
<div class="modal-dialog" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title" id="Modal">Help about the chart</h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Cancelar">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
This chart shows the price of the coin on the BTC pair on a linear scale. The color of the points
|
||||
indicate their position on the Bitcoin pair, being red as overbought and blue as cheap.<br>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Fim do Modal -->
|
||||
|
||||
|
||||
<!-- Page level plugins -->
|
||||
<script>
|
||||
var data4 = {
|
||||
type: "scatter",
|
||||
mode: "markers",
|
||||
name: 'Average price on date',
|
||||
x: {{ dates|safe }},
|
||||
y: {{ values|safe }},
|
||||
line: {color: '#7f421d'},
|
||||
marker: {
|
||||
color: {{ color|safe }},
|
||||
colorbar: {
|
||||
title: {
|
||||
text: 'Cycle on the Bitcoin pair (%)',
|
||||
side: 'right'
|
||||
,font: {
|
||||
color: 'white'
|
||||
,size: 14
|
||||
}
|
||||
}
|
||||
,thickness: 10
|
||||
,tickfont: {
|
||||
color: 'white'
|
||||
,size: 14
|
||||
}
|
||||
,borderwidth: 0
|
||||
},
|
||||
colorscale: [['0', '#0000ff'], ['0.33', '#00ff00'], ['0.66', '#ffff00'], ['1', '#ff0000']],
|
||||
sizemode: 'area',
|
||||
size: 5,
|
||||
cmax: 100,
|
||||
cmin: 0
|
||||
}
|
||||
};
|
||||
|
||||
var data4_mobile = {
|
||||
type: "scatter",
|
||||
mode: "markers",
|
||||
name: 'Average price on date',
|
||||
x: {{ dates|safe }},
|
||||
y: {{ values|safe }},
|
||||
line: {color: '#7f421d'},
|
||||
marker: {
|
||||
color: {{ color|safe }},
|
||||
colorbar: {
|
||||
thickness: 4
|
||||
,tickfont: {
|
||||
color: 'white'
|
||||
,size: 6
|
||||
}
|
||||
,borderwidth: 0
|
||||
},
|
||||
colorscale: [['0', '#0000ff'], ['0.33', '#00ff00'], ['0.66', '#ffff00'], ['1', '#ff0000']],
|
||||
sizemode: 'area',
|
||||
size: 3,
|
||||
cmax: 100,
|
||||
cmin: 0
|
||||
}
|
||||
};
|
||||
|
||||
var data = [data4];
|
||||
var data_mobile = [data4_mobile];
|
||||
|
||||
var layout = {
|
||||
plot_bgcolor:"#252221",
|
||||
paper_bgcolor:"#252221",
|
||||
annotations: [
|
||||
{
|
||||
xref: 'paper',
|
||||
yref: 'paper',
|
||||
x: 0.5,
|
||||
xanchor: 'auto',
|
||||
y: 0.05,
|
||||
yanchor: 'auto',
|
||||
text: 'Moneroj<br>https://www.moneroj.net',
|
||||
showarrow: false,
|
||||
borderwidth: 1,
|
||||
bordercolor: '#5f5f5f',
|
||||
bgcolor: '#333333',
|
||||
borderpad: 5,
|
||||
align: 'center',
|
||||
font: {
|
||||
color: "white",
|
||||
size: 12
|
||||
}
|
||||
}],
|
||||
separators: ",.",
|
||||
legend: {
|
||||
x: 0.5,
|
||||
y: 0.02,
|
||||
bgcolor: '#333333',
|
||||
bordercolor: '#5f5f5f',
|
||||
borderwidth: 1,
|
||||
font: {
|
||||
color: 'white',
|
||||
size: 12
|
||||
},
|
||||
traceorder: 'normal',
|
||||
xanchor: 'auto',
|
||||
yanchor: 'auto'
|
||||
},
|
||||
hoverlabel: {
|
||||
namelength: -1
|
||||
},
|
||||
yaxis: {
|
||||
type: "log",
|
||||
title: {
|
||||
text: 'Price (BTC)',
|
||||
font: {
|
||||
size: 20,
|
||||
color: 'white'
|
||||
}
|
||||
},
|
||||
tickformat :",.4f"
|
||||
,nticks: 10
|
||||
,tickfont: {
|
||||
color: "#ffffff"
|
||||
,size: 12
|
||||
}
|
||||
,gridcolor: "#333333"
|
||||
},
|
||||
xaxis: {
|
||||
hoverformat: "%Y-%m-%d",
|
||||
showgrid: true,
|
||||
type: 'date',
|
||||
nticks: 10
|
||||
,tickfont: {
|
||||
color: "#dddddd"
|
||||
,size: 13
|
||||
}
|
||||
,gridcolor: "#333333"
|
||||
,range: ['2014-05-01', '2023-01-01']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 120,
|
||||
r: 60,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 4
|
||||
}
|
||||
};
|
||||
|
||||
var layout_mobile = {
|
||||
plot_bgcolor:"black",
|
||||
paper_bgcolor:"black",
|
||||
separators: ",.",
|
||||
hoverlabel: {
|
||||
namelength: -1
|
||||
},
|
||||
legend: {
|
||||
x: 0.98,
|
||||
y: 0.05,
|
||||
bgcolor: '#000000',
|
||||
bordercolor: '#5f5f5f',
|
||||
borderwidth: 1,
|
||||
font: {
|
||||
color: 'white',
|
||||
size: 5
|
||||
},
|
||||
traceorder: 'normal',
|
||||
xanchor: 'auto',
|
||||
yanchor: 'auto'
|
||||
},
|
||||
showlegend: false,
|
||||
yaxis: {
|
||||
type: "log",
|
||||
tickformat :",.4f"
|
||||
,nticks: 10
|
||||
,tickfont: {
|
||||
color: "#ffffff"
|
||||
,size: 7
|
||||
}
|
||||
,gridcolor: "#444444"
|
||||
},
|
||||
xaxis: {
|
||||
hoverformat: "%Y",
|
||||
showgrid: true,
|
||||
type: 'date',
|
||||
nticks: 10
|
||||
,tickfont: {
|
||||
color: "#dddddd"
|
||||
,size: 7
|
||||
}
|
||||
,gridcolor: "#444444"
|
||||
,range: ['2014-05-01', '2023-01-01']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
function findBootstrapEnvironment() {
|
||||
let envs = ['xs', 'sm', 'md', 'lg', 'xl'];
|
||||
|
||||
let el = document.createElement('div');
|
||||
document.body.appendChild(el);
|
||||
|
||||
let curEnv = envs.shift();
|
||||
|
||||
for (let env of envs.reverse()) {
|
||||
el.classList.add(`d-${env}-none`);
|
||||
|
||||
if (window.getComputedStyle(el).display === 'none') {
|
||||
curEnv = env;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
document.body.removeChild(el);
|
||||
return curEnv;
|
||||
|
||||
}
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
else {
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
</script>
|
||||
{% endblock %}
|
|
@ -9,100 +9,29 @@
|
|||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" style="background-color:rgb(48, 44, 41)">
|
||||
|
||||
<!-- Main Content -->
|
||||
<div id="content">
|
||||
|
||||
<!-- Begin Page Content -->
|
||||
<div class="container-fluid"><br>
|
||||
<div class="row">
|
||||
<div class="col-xl-12 col-lg-12">
|
||||
<div class="card" id="graph1">
|
||||
<div
|
||||
class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">Total Dominance of Privacy Coins Over the Cryptocurrency Market (%)</h6>
|
||||
<div class="dropdown no-arrow">
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body pb-0 pt-0 pl-0 pr-0" style="height: 100px;">
|
||||
<div id="graph" style="height: 100%; width:100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph1" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
Total Dominance of Privacy Coins Over the Cryptocurrency Market (%)
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-3 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Latest Privacy Marketcap</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_marketcap }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-3 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Highest Privacy Marketcap</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ top_marketcap }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-3 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Latest Privacy Dominance</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_dominance }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-3 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Top Privacy Dominance</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ top_dominance }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
<div class="col-xl-11 col-md-6 mb-4">
|
||||
<div class="alert alert-dark" role="alert">
|
||||
Not financial advice.
|
||||
For information about the chart, click the button >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-1">
|
||||
<button type="button" class="btn btn-dark btn-block" data-toggle="modal" href="#"
|
||||
data-target="#id_Modal">
|
||||
<div class="col-auto">
|
||||
+
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- /.container-fluid -->
|
||||
|
||||
</div>
|
||||
<!-- End of Main Content -->
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
@ -248,11 +177,11 @@
|
|||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 120,
|
||||
r: 60,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 4
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -302,11 +231,11 @@
|
|||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 40,
|
||||
r: 0,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 0
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -333,11 +262,9 @@
|
|||
}
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
document.getElementById("graph1").style.height="350px";
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
else {
|
||||
document.getElementById("graph1").style.height="700px";
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -9,100 +9,29 @@
|
|||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" style="background-color:rgb(48, 44, 41)">
|
||||
|
||||
<!-- Main Content -->
|
||||
<div id="content">
|
||||
|
||||
<!-- Begin Page Content -->
|
||||
<div class="container-fluid"><br>
|
||||
<div class="row">
|
||||
<div class="col-xl-12 col-lg-12">
|
||||
<div class="card" id="graph1">
|
||||
<div
|
||||
class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">Total Marketcap of Privacy Coins (USD)</h6>
|
||||
<div class="dropdown no-arrow">
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body pb-0 pt-0 pl-0 pr-0" style="height: 100px;">
|
||||
<div id="graph" style="height: 100%; width:100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph1" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
Total Marketcap of Privacy Coins (USD)
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-3 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Latest Privacy Marketcap</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_marketcap }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-3 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Highest Privacy Marketcap</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ top_marketcap }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-3 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Latest Privacy Dominance</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_dominance }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-3 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Top Privacy Dominance</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ top_dominance }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
<div class="col-xl-11 col-md-6 mb-4">
|
||||
<div class="alert alert-dark" role="alert">
|
||||
Not financial advice.
|
||||
For information about the chart, click the button >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-1">
|
||||
<button type="button" class="btn btn-dark btn-block" data-toggle="modal" href="#"
|
||||
data-target="#id_Modal">
|
||||
<div class="col-auto">
|
||||
+
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- /.container-fluid -->
|
||||
|
||||
</div>
|
||||
<!-- End of Main Content -->
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
@ -250,15 +179,15 @@
|
|||
,size: 13
|
||||
}
|
||||
,gridcolor: "#333333"
|
||||
,range: ['2014-04-14', '2024-01-01']
|
||||
,range: ['2014-04-14', '2023-01-01']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 120,
|
||||
r: 60,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 4
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -304,15 +233,15 @@
|
|||
,size: 13
|
||||
}
|
||||
,gridcolor: "#333333"
|
||||
,range: ['2014-04-14', '2024-01-01']
|
||||
,range: ['2014-04-14', '2023-01-01']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 40,
|
||||
r: 0,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 0
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -339,11 +268,9 @@
|
|||
}
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
document.getElementById("graph1").style.height="350px";
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
else {
|
||||
document.getElementById("graph1").style.height="700px";
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -118,9 +118,6 @@
|
|||
<div class="dropdown-menu" aria-labelledby="navbarDropdown">
|
||||
{% if user.is_authenticated %}
|
||||
<a class="nav-link" href="{% url 'users:logout' %}">Sair</a>
|
||||
{% else %}
|
||||
<a class="nav-link" href="{% url 'users:login' %}">Entrar</a>
|
||||
<a class="nav-link" href="{% url 'users:register' %}">Registrar</a>
|
||||
{% endif %}
|
||||
<a class="nav-link" href="{% url 'charts:about' %}">Sobre</a>
|
||||
<div class="dropdown-divider"></div>
|
||||
|
@ -136,42 +133,10 @@
|
|||
|
||||
<!-- ======= Hero Section ======= -->
|
||||
<section id="hero" class="d-flex flex-column justify-content-center align-items-center">
|
||||
{% if user.is_authenticated %}
|
||||
<div class="container" style="margin-top: 100px; margin-bottom: 120px;">
|
||||
<h1>Você sabia que todos os seus dados são expostos quando você usa Bitcoin?</h1>
|
||||
<h2>Monero é o que as pessoas pensam que estão comprando quando investem em Bitcoins.</h2>
|
||||
</div>
|
||||
{% else %}
|
||||
|
||||
<div class="container" style="margin-top: 100px; margin-bottom: 120px;">
|
||||
<div class="row">
|
||||
<div class="col-xl-9 d-flex flex-column justify-content-center">
|
||||
<h1>Você sabia que todos os seus dados são expostos quando você usa Bitcoin?</h1>
|
||||
<h2>Monero é o que as pessoas pensam que estão comprando quando investem em Bitcoins.</h2>
|
||||
</div>
|
||||
|
||||
<div class="col-xl-3 d-flex flex-column justify-content-center">
|
||||
<form action="{% url 'users:login' %}" method='POST'>
|
||||
{% csrf_token %}
|
||||
{% if form.errors %}
|
||||
<div class="alert alert-danger">
|
||||
<strong><center>Usuário ou senha incorretos.</center></strong>
|
||||
</div>
|
||||
{% endif %}
|
||||
<div class="form">
|
||||
<h1><i class="bx bx-user text-white"></i></h1>
|
||||
<p class="message">Entrar:</p><br>
|
||||
<input type="text" name="username" placeholder="Usuário">
|
||||
<input type="password" name="password" placeholder="Senha">
|
||||
<button>Entrar</button>
|
||||
<p class="message"><a href="{% url 'users:register' %}">Criar uma conta!</a></p>
|
||||
<input type="hidden" name="next" value="{% url 'charts:index' %}">
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
</section>
|
||||
<!-- End Hero -->
|
||||
|
||||
|
@ -573,7 +538,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="social-links text-center text-lg-right pt-3 pt-lg-0">
|
||||
<a href="http://ilt7jgmfro76wgrtt6752lvfnhcz6wk5sjqhyvntjixygp3cwpvr4nad.onion" class="onion" alt="Tor Version"><i class="bx bx-hide"></i></a>
|
||||
<a href="http://moneroj5xq4ttg4ec7e5secqdyw5mcovzvfvlq6i7omv353i6mnexlqd.onion" class="onion" alt="Tor Version"><i class="bx bx-hide"></i></a>
|
||||
<a href="https://twitter.com/CryptoMorpheus_" class="twitter" alt="Twitter Profile"><i class="bx bxl-twitter"></i></a>
|
||||
<a href="mailto:morpheus.anonymous@protonmail.com" class="email" alt="Send E-mail"><i class="bx bx-mail-send"></i></a>
|
||||
</div>
|
||||
|
|
|
@ -9,81 +9,29 @@
|
|||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" style="background-color:rgb(48, 44, 41)">
|
||||
|
||||
<!-- Main Content -->
|
||||
<div id="content">
|
||||
|
||||
<!-- Begin Page Content -->
|
||||
<div class="container-fluid"><br>
|
||||
<div class="row">
|
||||
<div class="col-xl-12 col-lg-12">
|
||||
<div class="card" id="graph1">
|
||||
<div
|
||||
class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">Monero's Coinmarketcap Rank</h6>
|
||||
<div class="dropdown no-arrow">
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body" style="height: 100px;">
|
||||
<div id="graph" style="height: 100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph1" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
Monero's Coinmarketcap Rank
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-6 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Current Rank</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_value }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-6 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Highest Rank</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ maximum }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
<div class="col-xl-11 col-md-6 mb-4">
|
||||
<div class="alert alert-dark" role="alert">
|
||||
Not financial advice.
|
||||
For information about the chart, click the button >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-1">
|
||||
<button type="button" class="btn btn-dark btn-block" data-toggle="modal" href="#"
|
||||
data-target="#id_Modal">
|
||||
<div class="col-auto">
|
||||
+
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- /.container-fluid -->
|
||||
|
||||
</div>
|
||||
<!-- End of Main Content -->
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
@ -255,13 +203,13 @@ var layout = {
|
|||
,range: ['2014-05-01', '2023-08-01']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 120,
|
||||
r: 120,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 10
|
||||
}
|
||||
margin: {
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
var layout_mobile = {
|
||||
|
@ -320,13 +268,13 @@ var layout_mobile = {
|
|||
,range: ['2014-05-01', '2023-08-01']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 40,
|
||||
r: 100,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 10
|
||||
}
|
||||
margin: {
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
function findBootstrapEnvironment() {
|
||||
|
@ -352,11 +300,9 @@ function findBootstrapEnvironment() {
|
|||
}
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
document.getElementById("graph1").style.height="350px";
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
else {
|
||||
document.getElementById("graph1").style.height="700px";
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -9,81 +9,29 @@
|
|||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" style="background-color:rgb(48, 44, 41)">
|
||||
|
||||
<!-- Main Content -->
|
||||
<div id="content">
|
||||
|
||||
<!-- Begin Page Content -->
|
||||
<div class="container-fluid"><br>
|
||||
<div class="row">
|
||||
<div class="col-xl-12 col-lg-12">
|
||||
<div class="card" id="graph1">
|
||||
<div
|
||||
class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">Security Budget for Monero and Bitcoin (Dollars/second)</h6>
|
||||
<div class="dropdown no-arrow">
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body pb-0 pt-0 pl-0 pr-0" style="height: 100px;">
|
||||
<div id="graph" style="height: 100%; width:100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph1" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
Security Budget for Monero and Bitcoin (Dollars/second)
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-6 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Current Monero Security Budget</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_xmr }} / second</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-6 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Current Bitcoin Security Budget</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_btc }} / second</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
<div class="col-xl-11 col-md-6 mb-4">
|
||||
<div class="alert alert-dark" role="alert">
|
||||
Not financial advice.
|
||||
For information about the chart, click the button >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-1">
|
||||
<button type="button" class="btn btn-dark btn-block" data-toggle="modal" href="#"
|
||||
data-target="#id_Modal">
|
||||
<div class="col-auto">
|
||||
+
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- /.container-fluid -->
|
||||
|
||||
</div>
|
||||
<!-- End of Main Content -->
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
@ -174,7 +122,7 @@
|
|||
yref: 'paper',
|
||||
x: 1,
|
||||
xanchor: 'auto',
|
||||
y: 0.6,
|
||||
y: 0.25,
|
||||
yanchor: 'auto',
|
||||
text: 'Moneroj<br>https://www.moneroj.net',
|
||||
showarrow: false,
|
||||
|
@ -191,7 +139,7 @@
|
|||
separators: ",.",
|
||||
legend: {
|
||||
x: 1,
|
||||
y: 0.95,
|
||||
y: 0.02,
|
||||
bgcolor: '#333333',
|
||||
bordercolor: '#5f5f5f',
|
||||
borderwidth: 1,
|
||||
|
@ -233,16 +181,16 @@
|
|||
,size: 13
|
||||
}
|
||||
,gridcolor: "#333333"
|
||||
,range: ['2009-01-01', '2026-01-01']
|
||||
,range: ['2009-01-01', '2023-01-01']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 120,
|
||||
r: 60,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 4
|
||||
}
|
||||
margin: {
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
var layout_mobile = {
|
||||
|
@ -287,16 +235,16 @@
|
|||
,size: 7
|
||||
}
|
||||
,gridcolor: "#444444"
|
||||
,range: ['2009-01-01', '2026-01-01']
|
||||
,range: ['2009-01-01', '2023-01-01']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 40,
|
||||
r: 0,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 0
|
||||
}
|
||||
margin: {
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
function findBootstrapEnvironment() {
|
||||
|
@ -322,11 +270,9 @@
|
|||
}
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
document.getElementById("graph1").style.height="350px";
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
else {
|
||||
document.getElementById("graph1").style.height="700px";
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -9,99 +9,29 @@
|
|||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" style="background-color:rgb(48, 44, 41)">
|
||||
|
||||
<!-- Main Content -->
|
||||
<div id="content">
|
||||
|
||||
<!-- Begin Page Content -->
|
||||
<div class="container-fluid"><br>
|
||||
<div class="row">
|
||||
<div class="col-xl-12">
|
||||
<div class="alert alert-danger" role="alert">
|
||||
Warning: the price described by the gray line is just a suggestion of future behavior based on
|
||||
past price-action pattern (adjusted for variable inflation).
|
||||
</div>
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph1" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
Stock-to-flow Model
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-xl-12 col-lg-12">
|
||||
<div class="card" id="graph1">
|
||||
<div
|
||||
class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">Stock-to-flow Model (log scale)</h6>
|
||||
<div class="dropdown no-arrow">
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body" style="height: 100px;">
|
||||
<div id="graph" style="height: 100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
</div>
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-4 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Last Price</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_price }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-4 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Current Stock-to-flow Price</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_sf }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-4 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Current Annual Inflation</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_inflation }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
<div class="col-xl-11 col-md-6 mb-4">
|
||||
<div class="alert alert-dark" role="alert">
|
||||
Not financial advice.
|
||||
For information about the chart, click the button >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-1">
|
||||
<button type="button" class="btn btn-dark btn-block" data-toggle="modal" href="#"
|
||||
data-target="#id_Modal">
|
||||
<div class="col-auto">
|
||||
+
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- /.container-fluid -->
|
||||
|
||||
</div>
|
||||
<!-- End of Main Content -->
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
@ -314,13 +244,13 @@ var layout = {
|
|||
,range: ['2014-05-01', '2023-07-31']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 120,
|
||||
r: 60,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 4
|
||||
}
|
||||
margin: {
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
var layout_mobile = {
|
||||
|
@ -368,13 +298,13 @@ var layout_mobile = {
|
|||
,range: ['2014-05-01', '2023-07-31']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 40,
|
||||
r: 0,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 0
|
||||
}
|
||||
margin: {
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
function findBootstrapEnvironment() {
|
||||
|
@ -400,11 +330,9 @@ function findBootstrapEnvironment() {
|
|||
}
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
document.getElementById("graph1").style.height="350px";
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
else {
|
||||
document.getElementById("graph1").style.height="700px";
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -9,91 +9,29 @@
|
|||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" style="background-color:rgb(48, 44, 41)">
|
||||
|
||||
<!-- Main Content -->
|
||||
<div id="content">
|
||||
|
||||
<!-- Begin Page Content -->
|
||||
<div class="container-fluid"><br>
|
||||
<div class="row">
|
||||
<div class="col-xl-12 col-lg-12">
|
||||
<div class="card" id="graph1">
|
||||
<div
|
||||
class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">Stock-to-flow Model (linear scale)</h6>
|
||||
<div class="dropdown no-arrow">
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body pb-0 pt-0 pl-0 pr-0" style="height: 100px;">
|
||||
<div id="graph" style="height: 100%; width:100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph1" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
Stock-to-flow Model
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-4 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Last Price</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_price }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-4 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Current Stock-to-flow Price</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_sf }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-4 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Current Annual Inflation</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_inflation }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
<div class="col-xl-11 col-md-6 mb-4">
|
||||
<div class="alert alert-dark" role="alert">
|
||||
Not financial advice.
|
||||
For information about the chart, click the button >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-1">
|
||||
<button type="button" class="btn btn-dark btn-block" data-toggle="modal" href="#"
|
||||
data-target="#id_Modal">
|
||||
<div class="col-auto">
|
||||
+
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- /.container-fluid -->
|
||||
|
||||
</div>
|
||||
<!-- End of Main Content -->
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
@ -111,7 +49,7 @@
|
|||
<div class="modal-body">
|
||||
This chart shows the price of the coin on each date, coloring the points indicating their position on
|
||||
the Bitcoin pair, being red as overbought and blue as cheap.
|
||||
This chart is plotted on a log scale. The formula is Stocktoflow = (100/Inflation)^Multiplier,
|
||||
This chart is plotted on a linear scale. The formula is Stocktoflow = (100/Inflation)^Multiplier,
|
||||
Multiplier is 1.65 for Monero (it's higher for Bitcoin's stock-to-flow
|
||||
model, for example).<br>
|
||||
</div>
|
||||
|
@ -279,16 +217,16 @@ var layout = {
|
|||
,size: 13
|
||||
}
|
||||
,gridcolor: "#333333"
|
||||
,range: ['2014-05-01', '2023-01-01']
|
||||
,range: ['2014-05-01', '2023-07-31']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 120,
|
||||
r: 60,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 4
|
||||
}
|
||||
margin: {
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
var layout_mobile = {
|
||||
|
@ -333,16 +271,16 @@ var layout_mobile = {
|
|||
,size: 7
|
||||
}
|
||||
,gridcolor: "#444444"
|
||||
,range: ['2014-05-01', '2023-01-01']
|
||||
,range: ['2014-05-01', '2023-07-31']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 40,
|
||||
r: 0,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 0
|
||||
}
|
||||
margin: {
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
function findBootstrapEnvironment() {
|
||||
|
@ -368,11 +306,9 @@ function findBootstrapEnvironment() {
|
|||
}
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
document.getElementById("graph1").style.height="350px";
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
else {
|
||||
document.getElementById("graph1").style.height="700px";
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -9,80 +9,29 @@
|
|||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" style="background-color:rgb(48, 44, 41)">
|
||||
|
||||
<!-- Main Content -->
|
||||
<div id="content">
|
||||
|
||||
<!-- Begin Page Content -->
|
||||
<div class="container-fluid"><br>
|
||||
<div class="row">
|
||||
<div class="col-xl-12 col-lg-12">
|
||||
<div class="card" id="graph1">
|
||||
<div
|
||||
class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">Stock-to-flow Multiple (Price / SF Model)</h6>
|
||||
<div class="dropdown no-arrow">
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body pb-0 pt-0 pl-0 pr-0" style="height: 100px;">
|
||||
<div id="graph" style="height: 100%; width:100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph1" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
Stock-to-flow Multiple (Price / SF Model)
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-6 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Current Stock-to-flow Multiple</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_sf }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-6 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Top Stock-to-flow Multiple Last Cycle</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ maximum }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
<div class="col-xl-11 col-md-6 mb-4">
|
||||
<div class="alert alert-dark" role="alert">
|
||||
Not financial advice.
|
||||
For information about the chart, click the button >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-1">
|
||||
<button type="button" class="btn btn-dark btn-block" data-toggle="modal" href="#"
|
||||
data-target="#id_Modal">
|
||||
<div class="col-auto">
|
||||
+
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- /.container-fluid -->
|
||||
|
||||
</div>
|
||||
<!-- End of Main Content -->
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
@ -295,13 +244,13 @@ var layout = {
|
|||
,range: ['2014-02-01', '2023-06-01']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 120,
|
||||
r: 60,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 4
|
||||
}
|
||||
margin: {
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
var layout_mobile = {
|
||||
|
@ -349,13 +298,13 @@ var layout_mobile = {
|
|||
,range: ['2014-02-01', '2023-06-01']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 40,
|
||||
r: 0,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 0
|
||||
}
|
||||
margin: {
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
function findBootstrapEnvironment() {
|
||||
|
@ -381,11 +330,9 @@ function findBootstrapEnvironment() {
|
|||
}
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
document.getElementById("graph1").style.height="350px";
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
else {
|
||||
document.getElementById("graph1").style.height="700px";
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -9,54 +9,29 @@
|
|||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" style="background-color:rgb(48, 44, 41)">
|
||||
|
||||
<!-- Main Content -->
|
||||
<div id="content">
|
||||
|
||||
<!-- Begin Page Content -->
|
||||
<div class="container-fluid"><br>
|
||||
<div class="row">
|
||||
<div class="col-xl-12 col-lg-12">
|
||||
<div class="card" id="graph1">
|
||||
<div
|
||||
class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">Sharpe Ratio</h6>
|
||||
<div class="dropdown no-arrow">
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body pb-0 pt-0 pl-0 pr-0" style="height: 100px;">
|
||||
<div id="graph" style="height: 100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph1" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
Sharpe Ratio
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
<div class="col-xl-11 col-md-6 mb-4">
|
||||
<div class="alert alert-dark" role="alert">
|
||||
Not financial advice.
|
||||
For information about the chart, click the button >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-1">
|
||||
<button type="button" class="btn btn-dark btn-block" data-toggle="modal" href="#"
|
||||
data-target="#id_Modal">
|
||||
<div class="col-auto">
|
||||
+
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- /.container-fluid -->
|
||||
|
||||
</div>
|
||||
<!-- End of Main Content -->
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
@ -161,7 +136,7 @@
|
|||
yref: 'paper',
|
||||
x: 0.02,
|
||||
xanchor: 'auto',
|
||||
y: 0.50,
|
||||
y: 0.85,
|
||||
yanchor: 'auto',
|
||||
text: 'Moneroj<br>https://www.moneroj.net',
|
||||
showarrow: false,
|
||||
|
@ -243,10 +218,10 @@
|
|||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 120,
|
||||
r: 120,
|
||||
b: 35,
|
||||
t: 10,
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
@ -308,10 +283,10 @@
|
|||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 40,
|
||||
r: 100,
|
||||
b: 35,
|
||||
t: 10,
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
@ -339,11 +314,9 @@
|
|||
}
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
document.getElementById("graph1").style.height="350px";
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
else {
|
||||
document.getElementById("graph1").style.height="800px";
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
</script>
|
||||
|
|
358
charts/templates/charts/shielded.html
Normal file
358
charts/templates/charts/shielded.html
Normal file
|
@ -0,0 +1,358 @@
|
|||
{% extends 'charts/base.html' %}
|
||||
|
||||
{% block header %}
|
||||
<title>Moneroj.net - Dread Subscribers</title>
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" style="background-color:rgb(48, 44, 41)">
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph1" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
Shielded Transactions
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
||||
<!-- Modal -->
|
||||
<div class="modal fade" id="id_Modal" tabindex="-1" role="dialog" aria-labelledby="Modal" aria-hidden="true">
|
||||
<div class="modal-dialog" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title" id="Modal">Help about the chart</h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Cancelar">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
This chart shows all private transactions from Bitcoin (the ones that go via Whirlpool), Zcash shielded transactions and Monero private transactions. Chart provided as courtesy from Cake Wallet and Monero.com. <a href="https://monero.com/charts/shielded" target="_blank">Link.</a><br><br>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Fim do Modal -->
|
||||
|
||||
<!-- Page level plugins -->
|
||||
<script>
|
||||
|
||||
var data1 = {
|
||||
type: "bar",
|
||||
name: 'Zcash Shielded Transactions',
|
||||
x: {{ dates|safe }},
|
||||
y: {{ values|safe }},
|
||||
hovertemplate: '%{y}',
|
||||
line: {
|
||||
color: '#888888'
|
||||
,width: 3
|
||||
},
|
||||
textposition: 'inside',
|
||||
marker: {
|
||||
color: '#888888',
|
||||
opacity: 0.9,
|
||||
line: {
|
||||
color: '#888888',
|
||||
width: 1
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
var data1_mobile = {
|
||||
type: "bar",
|
||||
name: 'Zcash Shielded Transactions',
|
||||
x: {{ dates|safe }},
|
||||
y: {{ values|safe }},
|
||||
hovertemplate: '%{y}',
|
||||
line: {
|
||||
color: '#888888'
|
||||
,width: 3
|
||||
},
|
||||
textposition: 'inside',
|
||||
marker: {
|
||||
color: '#888888',
|
||||
opacity: 0.9,
|
||||
line: {
|
||||
color: '#888888',
|
||||
width: 1
|
||||
}
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
|
||||
var data2 = {
|
||||
type: "bar",
|
||||
name: 'Monero Anonymous Transactions',
|
||||
x: {{ dates|safe }},
|
||||
y: {{ values2|safe }},
|
||||
hovertemplate: '%{y}',
|
||||
line: {
|
||||
color: '#dd1d1d'
|
||||
,width: 3
|
||||
},
|
||||
textposition: 'inside',
|
||||
marker: {
|
||||
color: '#dd1d1d',
|
||||
opacity: 0.9,
|
||||
line: {
|
||||
color: '#fd4d4d',
|
||||
width: 1
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
var data2_mobile = {
|
||||
type: "bar",
|
||||
name: 'Monero Anonymous Transactions',
|
||||
x: {{ dates|safe }},
|
||||
y: {{ values|safe }},
|
||||
hovertemplate: '%{y}',
|
||||
line: {
|
||||
color: '#dd1d1d'
|
||||
,width: 3
|
||||
},
|
||||
textposition: 'inside',
|
||||
marker: {
|
||||
color: '#dd1d1d',
|
||||
opacity: 0.9,
|
||||
line: {
|
||||
color: '#fd4d4d',
|
||||
width: 1
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
var data3 = {
|
||||
type: "bar",
|
||||
name: 'Bitcoin Whirlpool uxt0s',
|
||||
x: {{ dates|safe }},
|
||||
y: {{ values3|safe }},
|
||||
hovertemplate: '%{y}',
|
||||
line: {
|
||||
color: '#ffd311'
|
||||
,width: 3
|
||||
},
|
||||
textposition: 'inside',
|
||||
marker: {
|
||||
color: '#ffd311',
|
||||
opacity: 0.9,
|
||||
line: {
|
||||
color: '#fff331',
|
||||
width: 1
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
var data3_mobile = {
|
||||
type: "bar",
|
||||
name: 'Bitcoin Whirlpool uxt0s',
|
||||
x: {{ dates|safe }},
|
||||
y: {{ values3|safe }},
|
||||
hovertemplate: '%{y}',
|
||||
line: {
|
||||
color: '#ffd311'
|
||||
,width: 3
|
||||
},
|
||||
textposition: 'inside',
|
||||
marker: {
|
||||
color: '#ffd311',
|
||||
opacity: 0.9,
|
||||
line: {
|
||||
color: '#fff331',
|
||||
width: 1
|
||||
}
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
var data = [data1, data2, data3];
|
||||
var data_mobile = [data1_mobile, data2_mobile, data3_mobile];
|
||||
|
||||
var layout = {
|
||||
plot_bgcolor:"#252221",
|
||||
paper_bgcolor:"#252221",
|
||||
annotations: [
|
||||
{
|
||||
xref: 'paper',
|
||||
yref: 'paper',
|
||||
x: 0.02,
|
||||
xanchor: 'auto',
|
||||
y: 0.98,
|
||||
yanchor: 'auto',
|
||||
text: 'Moneroj<br>https://www.moneroj.net<br>Chart provided as courtesy from Cake Wallet and Monero.com',
|
||||
showarrow: false,
|
||||
borderwidth: 1,
|
||||
bordercolor: '#5f5f5f',
|
||||
bgcolor: '#333333',
|
||||
borderpad: 5,
|
||||
align: 'center',
|
||||
font: {
|
||||
color: "white",
|
||||
size: 12
|
||||
}
|
||||
}],
|
||||
separators: ",.",
|
||||
legend: {
|
||||
x: 0.02,
|
||||
y: 0.50,
|
||||
bgcolor: '#333333',
|
||||
bordercolor: '#5f5f5f',
|
||||
borderwidth: 1,
|
||||
font: {
|
||||
color: 'white',
|
||||
size: 12
|
||||
},
|
||||
traceorder: 'normal',
|
||||
xanchor: 'auto',
|
||||
yanchor: 'auto'
|
||||
},
|
||||
hoverlabel: {
|
||||
namelength: -1
|
||||
},
|
||||
yaxis: {
|
||||
type: "linear",
|
||||
title: {
|
||||
text: 'Transactions',
|
||||
font: {
|
||||
size: 20,
|
||||
color: 'white'
|
||||
}
|
||||
},
|
||||
tickformat :",.0f"
|
||||
,nticks: 10
|
||||
,tickfont: {
|
||||
color: "#ffffff"
|
||||
,size: 12
|
||||
}
|
||||
,gridcolor: "#333333"
|
||||
},
|
||||
xaxis: {
|
||||
hoverformat: "%Y-%m",
|
||||
showgrid: true,
|
||||
type: 'date',
|
||||
nticks: 10
|
||||
,tickfont: {
|
||||
color: "#dddddd"
|
||||
,size: 13
|
||||
}
|
||||
,gridcolor: "#333333"
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
var layout_mobile = {
|
||||
plot_bgcolor:"black",
|
||||
paper_bgcolor:"black",
|
||||
separators: ",.",
|
||||
hoverlabel: {
|
||||
namelength: -1
|
||||
},
|
||||
legend: {
|
||||
x: 0.02,
|
||||
y: 0.98,
|
||||
bgcolor: '#000000',
|
||||
bordercolor: '#5f5f5f',
|
||||
borderwidth: 1,
|
||||
font: {
|
||||
color: 'white',
|
||||
size: 5
|
||||
},
|
||||
traceorder: 'normal',
|
||||
xanchor: 'auto',
|
||||
yanchor: 'auto'
|
||||
},
|
||||
showlegend: false,
|
||||
yaxis: {
|
||||
type: "linear",
|
||||
tickformat :",.0f"
|
||||
,nticks: 10
|
||||
,tickfont: {
|
||||
color: "#ffffff"
|
||||
,size: 7
|
||||
}
|
||||
,gridcolor: "#444444"
|
||||
},
|
||||
xaxis: {
|
||||
hoverformat: "%Y-%m",
|
||||
showgrid: true,
|
||||
type: 'date',
|
||||
nticks: 10
|
||||
,tickfont: {
|
||||
color: "#dddddd"
|
||||
,size: 13
|
||||
}
|
||||
,gridcolor: "#333333"
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
function findBootstrapEnvironment() {
|
||||
let envs = ['xs', 'sm', 'md', 'lg', 'xl'];
|
||||
|
||||
let el = document.createElement('div');
|
||||
document.body.appendChild(el);
|
||||
|
||||
let curEnv = envs.shift();
|
||||
|
||||
for (let env of envs.reverse()) {
|
||||
el.classList.add(`d-${env}-none`);
|
||||
|
||||
if (window.getComputedStyle(el).display === 'none') {
|
||||
curEnv = env;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
document.body.removeChild(el);
|
||||
return curEnv;
|
||||
|
||||
}
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
else {
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
{% endblock %}
|
|
@ -9,100 +9,45 @@
|
|||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" style="background-color:rgb(48, 44, 41)">
|
||||
|
||||
<!-- Main Content -->
|
||||
<div id="content">
|
||||
|
||||
<!-- Begin Page Content -->
|
||||
<div class="container-fluid"><br>
|
||||
<div class="row">
|
||||
<div class="col-xl-12 col-lg-12">
|
||||
<div class="card" id="graph1">
|
||||
<div
|
||||
class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">Total Number of Reddit Subscribers for Bitcoin and CryptoCurrency
|
||||
</h6>
|
||||
</div>
|
||||
<div class="card-body pb-0 pt-0 pl-0 pr-0" style="height: 100px;">
|
||||
<div id="graph" style="height: 100%; width:100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph1" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
Total Number of Reddit Subscribers for Bitcoin and CryptoCurrency
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-xl-12 col-lg-12">
|
||||
<div class="card" id="graph_2">
|
||||
<div
|
||||
class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">Total Number of Reddit Subscribers for Monero</h6>
|
||||
</div>
|
||||
<div class="card-body pb-0 pt-0 pl-0 pr-0" style="height: 100px;">
|
||||
<div id="graph2" style="height: 100%; width:100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
</div>
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph_2" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
Total Number of Reddit Subscribers for Monero
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph2" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-4 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Monero Subscribers</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ last_xmr }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-4 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Bitcoin Subscribers</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ last_btc }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-4 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
CryptoCurrency Subscribers</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ last_crypto }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
<div class="col-xl-11 col-md-6 mb-4">
|
||||
<div class="alert alert-dark" role="alert">
|
||||
Not financial advice.
|
||||
For information about the chart, click the button >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-1">
|
||||
<button type="button" class="btn btn-dark btn-block" data-toggle="modal" href="#"
|
||||
data-target="#id_Modal">
|
||||
<div class="col-auto">
|
||||
+
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- /.container-fluid -->
|
||||
|
||||
</div>
|
||||
<!-- End of Main Content -->
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
@ -368,14 +313,10 @@
|
|||
}
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
document.getElementById("graph1").style.height="350px";
|
||||
document.getElementById("graph_2").style.height="350px";
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
Plotly.newPlot('graph2', data_mobile_2, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
else {
|
||||
document.getElementById("graph1").style.height="700px";
|
||||
document.getElementById("graph_2").style.height="700px";
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
Plotly.newPlot('graph2', data_2, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
|
|
|
@ -9,81 +9,29 @@
|
|||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" style="background-color:rgb(48, 44, 41)">
|
||||
|
||||
<!-- Main Content -->
|
||||
<div id="content">
|
||||
|
||||
<!-- Begin Page Content -->
|
||||
<div class="container-fluid"><br>
|
||||
<div class="row">
|
||||
<div class="col-xl-12 col-lg-12">
|
||||
<div class="card" id="graph1">
|
||||
<div
|
||||
class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">Marketcap Divided by Number of Reddit Subscribers</h6>
|
||||
<div class="dropdown no-arrow">
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body pb-0 pt-0 pl-0 pr-0" style="height: 100px;">
|
||||
<div id="graph" style="height: 100%; width:100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph1" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
Marketcap Divided by Number of Reddit Subscribers
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-6 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Current Marketcap / Redditors for Monero</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ last_xmr }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-6 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Current Marketcap / Redditors for Bitcoin</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ last_btc }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
<div class="col-xl-11 col-md-6 mb-4">
|
||||
<div class="alert alert-dark" role="alert">
|
||||
Not financial advice.
|
||||
For information about the chart, click the button >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-1">
|
||||
<button type="button" class="btn btn-dark btn-block" data-toggle="modal" href="#"
|
||||
data-target="#id_Modal">
|
||||
<div class="col-auto">
|
||||
+
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- /.container-fluid -->
|
||||
|
||||
</div>
|
||||
<!-- End of Main Content -->
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
@ -237,11 +185,11 @@
|
|||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 120,
|
||||
r: 60,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 4
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -291,11 +239,11 @@
|
|||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 40,
|
||||
r: 0,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 0
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -322,11 +270,9 @@
|
|||
}
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
document.getElementById("graph1").style.height="350px";
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
else {
|
||||
document.getElementById("graph1").style.height="700px";
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -9,90 +9,45 @@
|
|||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" style="background-color:rgb(48, 44, 41)">
|
||||
|
||||
<!-- Main Content -->
|
||||
<div id="content">
|
||||
|
||||
<!-- Begin Page Content -->
|
||||
<div class="container-fluid"><br>
|
||||
<div class="row">
|
||||
<div class="col-xl-12 col-lg-12">
|
||||
<div class="card" id="graph1">
|
||||
<div
|
||||
class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">Reddit Subscribers of /CryptoCurrency as a Percentage of /Bitcoin
|
||||
</h6>
|
||||
</div>
|
||||
<div class="card-body pb-0 pt-0 pl-0 pr-0" style="height: 100px;">
|
||||
<div id="graph" style="height: 100%; width:100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph1" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
Reddit Subscribers of /CryptoCurrency as a Percentage of /Bitcoin
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-xl-12 col-lg-12">
|
||||
<div class="card" id="graph12">
|
||||
<div
|
||||
class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">Reddit Subscribers of /Monero as a Percentage of /Bitcoin</h6>
|
||||
</div>
|
||||
<div class="card-body pb-0 pt-0 pl-0 pr-0" style="height: 100px;">
|
||||
<div id="graph2" style="height: 100%; width:100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
</div>
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph_2" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
Reddit Subscribers of /Monero as a Percentage of /Bitcoin
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph2" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-6 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Current Monero Subscribers</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ last_xmr }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-64 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Current CryptoCurrency Subscribers</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ last_crypto }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
<div class="col-xl-11 col-md-6 mb-4">
|
||||
<div class="alert alert-dark" role="alert">
|
||||
Not financial advice.
|
||||
For information about the chart, click the button >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-1">
|
||||
<button type="button" class="btn btn-dark btn-block" data-toggle="modal" href="#"
|
||||
data-target="#id_Modal">
|
||||
<div class="col-auto">
|
||||
+
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- /.container-fluid -->
|
||||
|
||||
</div>
|
||||
<!-- End of Main Content -->
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
@ -123,10 +78,10 @@
|
|||
</div>
|
||||
<!-- Fim do Modal -->
|
||||
|
||||
|
||||
<!-- Page level plugins -->
|
||||
<script>
|
||||
var data1 = {
|
||||
|
||||
var data1 = {
|
||||
type: "scatter",
|
||||
mode: "lines",
|
||||
name: '/Monero as % of /Bitcoin',
|
||||
|
@ -179,177 +134,171 @@
|
|||
var data_mobile = [data2_mobile];
|
||||
var data_2 = [data1];
|
||||
var data_mobile_2 = [data1_mobile];
|
||||
|
||||
var layout = {
|
||||
plot_bgcolor:"#252221",
|
||||
paper_bgcolor:"#252221",
|
||||
annotations: [
|
||||
{
|
||||
xref: 'paper',
|
||||
yref: 'paper',
|
||||
x: 1,
|
||||
xanchor: 'auto',
|
||||
y: 0.05,
|
||||
yanchor: 'auto',
|
||||
text: 'Moneroj<br>https://www.moneroj.net',
|
||||
showarrow: false,
|
||||
borderwidth: 1,
|
||||
bordercolor: '#5f5f5f',
|
||||
bgcolor: '#333333',
|
||||
borderpad: 5,
|
||||
align: 'center',
|
||||
font: {
|
||||
color: "white",
|
||||
size: 12
|
||||
}
|
||||
}],
|
||||
separators: ",.",
|
||||
legend: {
|
||||
x: 1,
|
||||
y: 0.85,
|
||||
bgcolor: '#333333',
|
||||
bordercolor: '#5f5f5f',
|
||||
borderwidth: 1,
|
||||
font: {
|
||||
color: 'white',
|
||||
size: 12
|
||||
},
|
||||
traceorder: 'normal',
|
||||
xanchor: 'auto',
|
||||
yanchor: 'auto'
|
||||
},
|
||||
hoverlabel: {
|
||||
namelength: -1
|
||||
},
|
||||
yaxis: {
|
||||
type: "linear",
|
||||
title: {
|
||||
text: 'Subscribers Percentage',
|
||||
var layout = {
|
||||
plot_bgcolor:"#252221",
|
||||
paper_bgcolor:"#252221",
|
||||
annotations: [
|
||||
{
|
||||
xref: 'paper',
|
||||
yref: 'paper',
|
||||
x: 1,
|
||||
xanchor: 'auto',
|
||||
y: 0.05,
|
||||
yanchor: 'auto',
|
||||
text: 'Moneroj<br>https://www.moneroj.net',
|
||||
showarrow: false,
|
||||
borderwidth: 1,
|
||||
bordercolor: '#5f5f5f',
|
||||
bgcolor: '#333333',
|
||||
borderpad: 5,
|
||||
align: 'center',
|
||||
font: {
|
||||
size: 20,
|
||||
color: 'white'
|
||||
color: "white",
|
||||
size: 12
|
||||
}
|
||||
}],
|
||||
separators: ",.",
|
||||
legend: {
|
||||
x: 1,
|
||||
y: 0.40,
|
||||
bgcolor: '#333333',
|
||||
bordercolor: '#5f5f5f',
|
||||
borderwidth: 1,
|
||||
font: {
|
||||
color: 'white',
|
||||
size: 12
|
||||
},
|
||||
traceorder: 'normal',
|
||||
xanchor: 'auto',
|
||||
yanchor: 'auto'
|
||||
},
|
||||
tickformat :",.1f"
|
||||
,nticks: 10
|
||||
,tickfont: {
|
||||
color: "#ffffff"
|
||||
,size: 12
|
||||
hoverlabel: {
|
||||
namelength: -1
|
||||
},
|
||||
yaxis: {
|
||||
type: "linear",
|
||||
title: {
|
||||
text: 'Percentage',
|
||||
font: {
|
||||
size: 20,
|
||||
color: 'white'
|
||||
}
|
||||
},
|
||||
tickformat :",.1f"
|
||||
,nticks: 10
|
||||
,tickfont: {
|
||||
color: "#ffffff"
|
||||
,size: 12
|
||||
}
|
||||
,gridcolor: "#333333"
|
||||
},
|
||||
xaxis: {
|
||||
hoverformat: "%Y-%m-%d",
|
||||
showgrid: true,
|
||||
type: 'date',
|
||||
nticks: 10
|
||||
,tickfont: {
|
||||
color: "#dddddd"
|
||||
,size: 13
|
||||
}
|
||||
,gridcolor: "#333333"
|
||||
,range: ['2014-10-01', '2023-06-01']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 120,
|
||||
r: 60,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 4
|
||||
}
|
||||
,gridcolor: "#333333"
|
||||
},
|
||||
xaxis: {
|
||||
hoverformat: "%Y-%m-%d",
|
||||
showgrid: true,
|
||||
type: 'date',
|
||||
nticks: 10
|
||||
,tickfont: {
|
||||
color: "#dddddd"
|
||||
,size: 13
|
||||
};
|
||||
|
||||
var layout_mobile = {
|
||||
plot_bgcolor:"black",
|
||||
paper_bgcolor:"black",
|
||||
separators: ",.",
|
||||
hoverlabel: {
|
||||
namelength: -1
|
||||
},
|
||||
legend: {
|
||||
x: 0.98,
|
||||
y: 0.05,
|
||||
bgcolor: '#000000',
|
||||
bordercolor: '#5f5f5f',
|
||||
borderwidth: 1,
|
||||
font: {
|
||||
color: 'white',
|
||||
size: 5
|
||||
},
|
||||
traceorder: 'normal',
|
||||
xanchor: 'auto',
|
||||
yanchor: 'auto'
|
||||
},
|
||||
showlegend: false,
|
||||
yaxis: {
|
||||
type: "linear",
|
||||
tickformat :",.0f"
|
||||
,nticks: 10
|
||||
,tickfont: {
|
||||
color: "#ffffff"
|
||||
,size: 7
|
||||
}
|
||||
,gridcolor: "#444444"
|
||||
},
|
||||
xaxis: {
|
||||
hoverformat: "%Y",
|
||||
showgrid: true,
|
||||
type: 'date',
|
||||
nticks: 10
|
||||
,tickfont: {
|
||||
color: "#dddddd"
|
||||
,size: 7
|
||||
}
|
||||
,gridcolor: "#444444"
|
||||
,range: ['2014-10-01', '2023-06-01']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 40,
|
||||
r: 0,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 0
|
||||
}
|
||||
,gridcolor: "#333333"
|
||||
,range: ['2014-05-01', '2023-01-01']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 120,
|
||||
r: 60,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 4
|
||||
};
|
||||
|
||||
function findBootstrapEnvironment() {
|
||||
let envs = ['xs', 'sm', 'md', 'lg', 'xl'];
|
||||
|
||||
let el = document.createElement('div');
|
||||
document.body.appendChild(el);
|
||||
|
||||
let curEnv = envs.shift();
|
||||
|
||||
for (let env of envs.reverse()) {
|
||||
el.classList.add(`d-${env}-none`);
|
||||
|
||||
if (window.getComputedStyle(el).display === 'none') {
|
||||
curEnv = env;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
document.body.removeChild(el);
|
||||
return curEnv;
|
||||
|
||||
}
|
||||
};
|
||||
|
||||
var layout_mobile = {
|
||||
plot_bgcolor:"black",
|
||||
paper_bgcolor:"black",
|
||||
separators: ",.",
|
||||
hoverlabel: {
|
||||
namelength: -1
|
||||
},
|
||||
legend: {
|
||||
x: 0.98,
|
||||
y: 0.05,
|
||||
bgcolor: '#000000',
|
||||
bordercolor: '#5f5f5f',
|
||||
borderwidth: 1,
|
||||
font: {
|
||||
color: 'white',
|
||||
size: 5
|
||||
},
|
||||
traceorder: 'normal',
|
||||
xanchor: 'auto',
|
||||
yanchor: 'auto'
|
||||
},
|
||||
showlegend: false,
|
||||
yaxis: {
|
||||
type: "linear",
|
||||
tickformat :",.1f"
|
||||
,nticks: 10
|
||||
,tickfont: {
|
||||
color: "#ffffff"
|
||||
,size: 7
|
||||
}
|
||||
,gridcolor: "#444444"
|
||||
},
|
||||
xaxis: {
|
||||
hoverformat: "%Y",
|
||||
showgrid: false,
|
||||
type: 'date',
|
||||
nticks: 3
|
||||
,tickfont: {
|
||||
color: "#dddddd"
|
||||
,size: 7
|
||||
}
|
||||
,gridcolor: "#444444"
|
||||
,range: ['2014-05-01', '2023-01-01']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 40,
|
||||
r: 0,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 0
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
Plotly.newPlot('graph2', data_mobile_2, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
};
|
||||
|
||||
function findBootstrapEnvironment() {
|
||||
let envs = ['xs', 'sm', 'md', 'lg', 'xl'];
|
||||
|
||||
let el = document.createElement('div');
|
||||
document.body.appendChild(el);
|
||||
|
||||
let curEnv = envs.shift();
|
||||
|
||||
for (let env of envs.reverse()) {
|
||||
el.classList.add(`d-${env}-none`);
|
||||
|
||||
if (window.getComputedStyle(el).display === 'none') {
|
||||
curEnv = env;
|
||||
break;
|
||||
}
|
||||
else {
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
Plotly.newPlot('graph2', data_2, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
</script>
|
||||
|
||||
document.body.removeChild(el);
|
||||
return curEnv;
|
||||
{% endblock %}
|
||||
|
||||
}
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
document.getElementById("graph1").style.height="350px";
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
|
||||
document.getElementById("graph12").style.height="350px";
|
||||
Plotly.newPlot('graph2', data_mobile_2, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
else {
|
||||
document.getElementById("graph1").style.height="750px";
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
|
||||
document.getElementById("graph12").style.height="750px";
|
||||
Plotly.newPlot('graph2', data_2, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
</script>
|
||||
|
||||
{% endblock %}
|
|
@ -9,100 +9,45 @@
|
|||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" style="background-color:rgb(48, 44, 41)">
|
||||
|
||||
<!-- Main Content -->
|
||||
<div id="content">
|
||||
|
||||
<!-- Begin Page Content -->
|
||||
<div class="container-fluid"><br>
|
||||
<div class="row">
|
||||
<div class="col-xl-12 col-lg-12">
|
||||
<div class="card" id="graph1">
|
||||
<div
|
||||
class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">/Bitcoin, /CryptoCurrency and /Monero Monthly New Subscribers
|
||||
</h6>
|
||||
</div>
|
||||
<div class="card-body pb-0 pt-0 pl-0 pr-0" style="height: 100px;">
|
||||
<div id="graph" style="height: 100%; width:100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph1" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
/Bitcoin, /CryptoCurrency and /Monero Monthly New Subscribers
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-xl-12 col-lg-12">
|
||||
<div class="card" id="graph12">
|
||||
<div
|
||||
class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">/Bitcoin, /CryptoCurrency and /Monero Monthly Percentage Increase
|
||||
in Subscribers</h6>
|
||||
</div>
|
||||
<div class="card-body pb-0 pt-0 pl-0 pr-0" style="height: 100px;">
|
||||
<div id="graph2" style="height: 100%; width:100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
</div>
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph_2" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
/Bitcoin, /CryptoCurrency and /Monero Monthly Percentage Increase
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph2" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-4 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
New Monero Subscribers (Last 30 days)</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ last_xmr }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-4 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
New Bitcoin Subscribers (Last 30 days)</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ last_btc }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-4 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
New CryptoCurrency Subscribers (Last 30 days)</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ last_crypto }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
<div class="col-xl-11 col-md-6 mb-4">
|
||||
<div class="alert alert-dark" role="alert">
|
||||
Not financial advice.
|
||||
For information about the chart, click the button >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-1">
|
||||
<button type="button" class="btn btn-dark btn-block" data-toggle="modal" href="#"
|
||||
data-target="#id_Modal">
|
||||
<div class="col-auto">
|
||||
+
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- /.container-fluid -->
|
||||
|
||||
</div>
|
||||
<!-- End of Main Content -->
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
@ -546,42 +491,37 @@
|
|||
}
|
||||
};
|
||||
|
||||
function findBootstrapEnvironment() {
|
||||
let envs = ['xs', 'sm', 'md', 'lg', 'xl'];
|
||||
function findBootstrapEnvironment() {
|
||||
let envs = ['xs', 'sm', 'md', 'lg', 'xl'];
|
||||
|
||||
let el = document.createElement('div');
|
||||
document.body.appendChild(el);
|
||||
let el = document.createElement('div');
|
||||
document.body.appendChild(el);
|
||||
|
||||
let curEnv = envs.shift();
|
||||
let curEnv = envs.shift();
|
||||
|
||||
for (let env of envs.reverse()) {
|
||||
el.classList.add(`d-${env}-none`);
|
||||
for (let env of envs.reverse()) {
|
||||
el.classList.add(`d-${env}-none`);
|
||||
|
||||
if (window.getComputedStyle(el).display === 'none') {
|
||||
curEnv = env;
|
||||
break;
|
||||
if (window.getComputedStyle(el).display === 'none') {
|
||||
curEnv = env;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
document.body.removeChild(el);
|
||||
return curEnv;
|
||||
|
||||
}
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
Plotly.newPlot('graph2', data_mobile_2, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
else {
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
Plotly.newPlot('graph2', data_2, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
</script>
|
||||
|
||||
document.body.removeChild(el);
|
||||
return curEnv;
|
||||
{% endblock %}
|
||||
|
||||
}
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
document.getElementById("graph1").style.height="350px";
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
|
||||
document.getElementById("graph12").style.height="350px";
|
||||
Plotly.newPlot('graph2', data_mobile_2, layout_mobile_2, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
else {
|
||||
document.getElementById("graph1").style.height="700px";
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
|
||||
document.getElementById("graph12").style.height="700px";
|
||||
Plotly.newPlot('graph2', data_2, layout_2, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
</script>
|
||||
|
||||
{% endblock %}
|
|
@ -9,80 +9,29 @@
|
|||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" style="background-color:rgb(48, 44, 41)">
|
||||
|
||||
<!-- Main Content -->
|
||||
<div id="content">
|
||||
|
||||
<!-- Begin Page Content -->
|
||||
<div class="container-fluid"><br>
|
||||
<div class="row">
|
||||
<div class="col-xl-12 col-lg-12">
|
||||
<div class="card" id="graph1">
|
||||
<div
|
||||
class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">Total Number of Reddit Subscribers for Monero and Number of Transactions</h6>
|
||||
<div class="dropdown no-arrow">
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body pb-0 pt-0 pl-0 pr-0" style="height: 100px;">
|
||||
<div id="graph2" style="height: 100%; width:100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph1" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
Total Number of Reddit Subscribers for Monero and Number of Transactions
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-6 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Monero Subscribers</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ last_xmr }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-6 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Daily Transactions</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_transactions }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph2" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
<div class="col-xl-11 col-md-6 mb-4">
|
||||
<div class="alert alert-dark" role="alert">
|
||||
Not financial advice.
|
||||
For information about the chart, click the button >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-1">
|
||||
<button type="button" class="btn btn-dark btn-block" data-toggle="modal" href="#"
|
||||
data-target="#id_Modal">
|
||||
<div class="col-auto">
|
||||
+
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- /.container-fluid -->
|
||||
|
||||
</div>
|
||||
<!-- End of Main Content -->
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
@ -255,11 +204,11 @@
|
|||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 120,
|
||||
r: 120,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 4
|
||||
l: 100,
|
||||
r: 100,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -320,11 +269,11 @@
|
|||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 40,
|
||||
r: 0,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 0
|
||||
l: 100,
|
||||
r: 100,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -351,11 +300,9 @@
|
|||
}
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
document.getElementById("graph1").style.height="350px";
|
||||
Plotly.newPlot('graph2', data_mobile_2, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
else {
|
||||
document.getElementById("graph1").style.height="700px";
|
||||
Plotly.newPlot('graph2', data_2, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{% extends 'charts/base.html' %}
|
||||
|
||||
{% block header %}
|
||||
<title>Moneroj.net - Reddit Comments</title>
|
||||
<title>Moneroj.net - Reddit Subscribers</title>
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
@ -9,100 +9,45 @@
|
|||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" style="background-color:rgb(48, 44, 41)">
|
||||
|
||||
<!-- Main Content -->
|
||||
<div id="content">
|
||||
|
||||
<!-- Begin Page Content -->
|
||||
<div class="container-fluid"><br>
|
||||
<div class="row">
|
||||
<div class="col-xl-12 col-lg-12">
|
||||
<div class="card" id="graph1">
|
||||
<div
|
||||
class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">Comments per day on Subreddits /Bitcoin and /CryptoCurrency
|
||||
</h6>
|
||||
</div>
|
||||
<div class="card-body pb-0 pt-0 pl-0 pr-0" style="height: 100px;">
|
||||
<div id="graph" style="height: 100%; width:100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph1" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
Comments per day on Subreddits /Bitcoin and /CryptoCurrency
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-xl-12 col-lg-12">
|
||||
<div class="card" id="graph_2">
|
||||
<div
|
||||
class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">Comments per day on Subreddit /Monero</h6>
|
||||
</div>
|
||||
<div class="card-body pb-0 pt-0 pl-0 pr-0" style="height: 100px;">
|
||||
<div id="graph2" style="height: 100%; width:100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
</div>
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph_2" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
Comments per day on Subreddit /Monero
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph2" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-4 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Monero Daily Comments</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ last_xmr }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-4 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Bitcoin Daily Comments</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ last_btc }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-4 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
CryptoCurrency Daily Comments</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ last_crypto }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
<div class="col-xl-11 col-md-6 mb-4">
|
||||
<div class="alert alert-dark" role="alert">
|
||||
Not financial advice.
|
||||
For information about the chart, click the button >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-1">
|
||||
<button type="button" class="btn btn-dark btn-block" data-toggle="modal" href="#"
|
||||
data-target="#id_Modal">
|
||||
<div class="col-auto">
|
||||
+
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- /.container-fluid -->
|
||||
|
||||
</div>
|
||||
<!-- End of Main Content -->
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
@ -118,9 +63,13 @@
|
|||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
These charts show the total number of daily comments for Subreddits: Monero, CryptoCurrency and Bitcoin. The more
|
||||
users the subreddit has, more likely it is to
|
||||
achieve mass adoption.</div>
|
||||
These charts show the total number of users for subreddits /Monero ang /CryptoCurrency as a percentage
|
||||
of the total users of /Bitcoin subreddit.
|
||||
Sudden spikes in total percentage indicate there's a new wave of people getting into other
|
||||
cryptocurrencies, not only in Bitcoin. When /CryptoCurrency dominance increase,
|
||||
it makes sense to expect that such projects will appreciate against the BTC pair. However, this is just
|
||||
and idea to observe.
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
|
||||
</div>
|
||||
|
@ -216,9 +165,9 @@
|
|||
{
|
||||
xref: 'paper',
|
||||
yref: 'paper',
|
||||
x: 1,
|
||||
x: 0.02,
|
||||
xanchor: 'auto',
|
||||
y: 0.05,
|
||||
y: 0.98,
|
||||
yanchor: 'auto',
|
||||
text: 'Moneroj<br>https://www.moneroj.net',
|
||||
showarrow: false,
|
||||
|
@ -234,8 +183,8 @@
|
|||
}],
|
||||
separators: ",.",
|
||||
legend: {
|
||||
x: 1,
|
||||
y: 0.40,
|
||||
x: 0.02,
|
||||
y: 0.80,
|
||||
bgcolor: '#333333',
|
||||
bordercolor: '#5f5f5f',
|
||||
borderwidth: 1,
|
||||
|
@ -297,8 +246,8 @@
|
|||
namelength: -1
|
||||
},
|
||||
legend: {
|
||||
x: 0.98,
|
||||
y: 0.05,
|
||||
x: 0.02,
|
||||
y: 0.98,
|
||||
bgcolor: '#000000',
|
||||
bordercolor: '#5f5f5f',
|
||||
borderwidth: 1,
|
||||
|
@ -343,6 +292,7 @@
|
|||
}
|
||||
};
|
||||
|
||||
|
||||
function findBootstrapEnvironment() {
|
||||
let envs = ['xs', 'sm', 'md', 'lg', 'xl'];
|
||||
|
||||
|
@ -366,17 +316,14 @@
|
|||
}
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
document.getElementById("graph1").style.height="350px";
|
||||
document.getElementById("graph_2").style.height="350px";
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
Plotly.newPlot('graph2', data_mobile_2, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
else {
|
||||
document.getElementById("graph1").style.height="700px";
|
||||
document.getElementById("graph_2").style.height="700px";
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
Plotly.newPlot('graph2', data_2, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
</script>
|
||||
|
||||
{% endblock %}
|
||||
{% endblock %}
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{% extends 'charts/base.html' %}
|
||||
|
||||
{% block header %}
|
||||
<title>Moneroj.net - Reddit Posts</title>
|
||||
<title>Moneroj.net - Reddit Subscribers</title>
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
@ -9,99 +9,45 @@
|
|||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" style="background-color:rgb(48, 44, 41)">
|
||||
|
||||
<!-- Main Content -->
|
||||
<div id="content">
|
||||
|
||||
<!-- Begin Page Content -->
|
||||
<div class="container-fluid"><br>
|
||||
<div class="row">
|
||||
<div class="col-xl-12 col-lg-12">
|
||||
<div class="card" id="graph1">
|
||||
<div
|
||||
class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">Posts per day on Subreddits /Bitcoin and /CryptoCurrency
|
||||
</h6>
|
||||
</div>
|
||||
<div class="card-body pb-0 pt-0 pl-0 pr-0" style="height: 100px;">
|
||||
<div id="graph" style="height: 100%; width:100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph1" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
Posts per day on Subreddits /Bitcoin and /CryptoCurrency
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-xl-12 col-lg-12">
|
||||
<div class="card" id="graph_2">
|
||||
<div
|
||||
class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">Posts per day on Reddit /Monero</h6>
|
||||
</div>
|
||||
<div class="card-body pb-0 pt-0 pl-0 pr-0" style="height: 100px;">
|
||||
<div id="graph2" style="height: 100%; width:100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
</div>
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph_2" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
Posts per day on Reddit /Monero
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph2" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-4 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Monero Posts (24h)</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ last_xmr }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-4 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Bitcoin Posts (24h)</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ last_btc }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-4 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
CryptoCurrency Posts (24h)</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ last_crypto }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
<div class="col-xl-11 col-md-6 mb-4">
|
||||
<div class="alert alert-dark" role="alert">
|
||||
Not financial advice.
|
||||
For information about the chart, click the button >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-1">
|
||||
<button type="button" class="btn btn-dark btn-block" data-toggle="modal" href="#"
|
||||
data-target="#id_Modal">
|
||||
<div class="col-auto">
|
||||
+
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- /.container-fluid -->
|
||||
|
||||
</div>
|
||||
<!-- End of Main Content -->
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
@ -117,9 +63,13 @@
|
|||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
These charts show the total number of daily posts for Subreddits: Monero, CryptoCurrency and Bitcoin. The more
|
||||
users the subreddit has, more likely it is to
|
||||
achieve mass adoption.</div>
|
||||
These charts show the total number of users for subreddits /Monero ang /CryptoCurrency as a percentage
|
||||
of the total users of /Bitcoin subreddit.
|
||||
Sudden spikes in total percentage indicate there's a new wave of people getting into other
|
||||
cryptocurrencies, not only in Bitcoin. When /CryptoCurrency dominance increase,
|
||||
it makes sense to expect that such projects will appreciate against the BTC pair. However, this is just
|
||||
and idea to observe.
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
|
||||
</div>
|
||||
|
@ -130,8 +80,8 @@
|
|||
|
||||
<!-- Page level plugins -->
|
||||
<script>
|
||||
|
||||
var data1 = {
|
||||
|
||||
var data1 = {
|
||||
type: "scatter",
|
||||
mode: "lines",
|
||||
name: '/Cryptocurrency',
|
||||
|
@ -215,9 +165,9 @@
|
|||
{
|
||||
xref: 'paper',
|
||||
yref: 'paper',
|
||||
x: 1,
|
||||
x: 0.02,
|
||||
xanchor: 'auto',
|
||||
y: 0.05,
|
||||
y: 0.80,
|
||||
yanchor: 'auto',
|
||||
text: 'Moneroj<br>https://www.moneroj.net',
|
||||
showarrow: false,
|
||||
|
@ -233,8 +183,8 @@
|
|||
}],
|
||||
separators: ",.",
|
||||
legend: {
|
||||
x: 1,
|
||||
y: 0.40,
|
||||
x: 0.02,
|
||||
y: 0.98,
|
||||
bgcolor: '#333333',
|
||||
bordercolor: '#5f5f5f',
|
||||
borderwidth: 1,
|
||||
|
@ -296,8 +246,8 @@
|
|||
namelength: -1
|
||||
},
|
||||
legend: {
|
||||
x: 0.98,
|
||||
y: 0.05,
|
||||
x: 0.02,
|
||||
y: 0.98,
|
||||
bgcolor: '#000000',
|
||||
bordercolor: '#5f5f5f',
|
||||
borderwidth: 1,
|
||||
|
@ -365,17 +315,14 @@
|
|||
}
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
document.getElementById("graph1").style.height="350px";
|
||||
document.getElementById("graph_2").style.height="350px";
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
Plotly.newPlot('graph2', data_mobile_2, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
else {
|
||||
document.getElementById("graph1").style.height="700px";
|
||||
document.getElementById("graph_2").style.height="700px";
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
Plotly.newPlot('graph2', data_2, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
</script>
|
||||
|
||||
{% endblock %}
|
||||
{% endblock %}
|
||||
|
||||
|
|
|
@ -9,70 +9,29 @@
|
|||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" style="background-color:rgb(48, 44, 41)">
|
||||
|
||||
<!-- Main Content -->
|
||||
<div id="content">
|
||||
|
||||
<!-- Begin Page Content -->
|
||||
<div class="container-fluid"><br>
|
||||
<div class="row">
|
||||
<div class="col-xl-12 col-lg-12">
|
||||
<div class="card" id="graph1">
|
||||
<div
|
||||
class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">Monero's Tail Emission</h6>
|
||||
<div class="dropdown no-arrow">
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body pb-0 pt-0 pl-0 pr-0" style="height: 100px;">
|
||||
<div id="graph" style="height: 100%; width:100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph1" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
Monero's Tail Emission
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-12 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Current Monero Annualized Inflation (%)</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_xmr }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
<div class="col-xl-11 col-md-6 mb-4">
|
||||
<div class="alert alert-dark" role="alert">
|
||||
Not financial advice.
|
||||
For information about the chart, click the button >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-1">
|
||||
<button type="button" class="btn btn-dark btn-block" data-toggle="modal" href="#"
|
||||
data-target="#id_Modal">
|
||||
<div class="col-auto">
|
||||
+
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- /.container-fluid -->
|
||||
|
||||
</div>
|
||||
<!-- End of Main Content -->
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
@ -199,13 +158,13 @@
|
|||
,range: ['2022-06-01', '2622-06-01']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 120,
|
||||
r: 60,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 4
|
||||
}
|
||||
margin: {
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
var layout_mobile = {
|
||||
|
@ -253,13 +212,13 @@
|
|||
,range: ['2022-06-01', '2622-06-01']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 40,
|
||||
r: 0,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 0
|
||||
}
|
||||
margin: {
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
function findBootstrapEnvironment() {
|
||||
|
@ -285,11 +244,9 @@
|
|||
}
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
document.getElementById("graph1").style.height="350px";
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
else {
|
||||
document.getElementById("graph1").style.height="700px";
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -9,54 +9,29 @@
|
|||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" style="background-color:rgb(48, 44, 41)">
|
||||
|
||||
<!-- Main Content -->
|
||||
<div id="content">
|
||||
|
||||
<!-- Begin Page Content -->
|
||||
<div class="container-fluid"><br>
|
||||
<div class="row">
|
||||
<div class="col-xl-12 col-lg-12">
|
||||
<div class="card" id="graph1">
|
||||
<div
|
||||
class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">Thermocap Multiple</h6>
|
||||
<div class="dropdown no-arrow">
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body" style="height: 100px;">
|
||||
<div id="graph" style="height: 100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph1" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
Thermocap Multiple
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
<div class="col-xl-11 col-md-6 mb-4">
|
||||
<div class="alert alert-dark" role="alert">
|
||||
Not financial advice.
|
||||
For information about the chart, click the button >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-1">
|
||||
<button type="button" class="btn btn-dark btn-block" data-toggle="modal" href="#"
|
||||
data-target="#id_Modal">
|
||||
<div class="col-auto">
|
||||
+
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- /.container-fluid -->
|
||||
|
||||
</div>
|
||||
<!-- End of Main Content -->
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
@ -320,13 +295,13 @@
|
|||
,range: ['2014-02-01', '2023-02-01']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 120,
|
||||
r: 120,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 10
|
||||
}
|
||||
margin: {
|
||||
l: 120,
|
||||
r: 120,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
var layout_mobile = {
|
||||
|
@ -385,13 +360,13 @@
|
|||
,range: ['2014-02-01', '2023-12-01']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 40,
|
||||
r: 100,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 10
|
||||
}
|
||||
margin: {
|
||||
l: 100,
|
||||
r: 100,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
function findBootstrapEnvironment() {
|
||||
|
@ -417,11 +392,9 @@
|
|||
}
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
document.getElementById("graph1").style.height="350px";
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
else {
|
||||
document.getElementById("graph1").style.height="800px";
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -9,81 +9,29 @@
|
|||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" style="background-color:rgb(48, 44, 41)">
|
||||
|
||||
<!-- Main Content -->
|
||||
<div id="content">
|
||||
|
||||
<!-- Begin Page Content -->
|
||||
<div class="container-fluid"><br>
|
||||
<div class="row">
|
||||
<div class="col-xl-12 col-lg-12">
|
||||
<div class="card" id="graph1">
|
||||
<div
|
||||
class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">Monero's Dominance Over the Number of Transactions on the Privacy Market (%)</h6>
|
||||
<div class="dropdown no-arrow">
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="fas fa-arrows-alt fa-sm fa-fw text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body" style="height: 100px;">
|
||||
<div id="graph" style="height: 100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph1" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
Monero's Dominance Over the Number of Transactions on the Privacy Market (%)
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-6 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Current Dominance</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_xmr }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-6 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Highest Dominance</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ maximum }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
<div class="col-xl-11 col-md-6 mb-4">
|
||||
<div class="alert alert-dark" role="alert">
|
||||
Not financial advice.
|
||||
For information about the chart, click the button >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-1">
|
||||
<button type="button" class="btn btn-dark btn-block" data-toggle="modal" href="#"
|
||||
data-target="#id_Modal">
|
||||
<div class="col-auto">
|
||||
+
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- /.container-fluid -->
|
||||
|
||||
</div>
|
||||
<!-- End of Main Content -->
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
@ -211,10 +159,10 @@
|
|||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 120,
|
||||
r: 120,
|
||||
b: 35,
|
||||
t: 10,
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
@ -265,10 +213,10 @@
|
|||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 40,
|
||||
r: 100,
|
||||
b: 35,
|
||||
t: 10,
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
@ -296,11 +244,9 @@
|
|||
}
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
document.getElementById("graph1").style.height="350px";
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
else {
|
||||
document.getElementById("graph1").style.height="700px";
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -9,81 +9,29 @@
|
|||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" style="background-color:rgb(48, 44, 41)">
|
||||
|
||||
<!-- Main Content -->
|
||||
<div id="content">
|
||||
|
||||
<!-- Begin Page Content -->
|
||||
<div class="container-fluid"><br>
|
||||
<div class="row">
|
||||
<div class="col-xl-12 col-lg-12">
|
||||
<div class="card" id="graph1">
|
||||
<div
|
||||
class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">Average Transaction Size for both Monero and Bitcoin (Bytes)</h6>
|
||||
<div class="dropdown no-arrow">
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body pb-0 pt-0 pl-0 pr-0" style="height: 100px;">
|
||||
<div id="graph" style="height: 100%; width:100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph1" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
Average Transaction Size for both Monero and Bitcoin (Bytes)
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-6 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Current Monero Average Transaction Size</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_xmr }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-6 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Current Bitcoin Average Transaction Size</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_btc }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
<div class="col-xl-11 col-md-6 mb-4">
|
||||
<div class="alert alert-dark" role="alert">
|
||||
Not financial advice.
|
||||
For information about the chart, click the button >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-1">
|
||||
<button type="button" class="btn btn-dark btn-block" data-toggle="modal" href="#"
|
||||
data-target="#id_Modal">
|
||||
<div class="col-auto">
|
||||
+
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- /.container-fluid -->
|
||||
|
||||
</div>
|
||||
<!-- End of Main Content -->
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
@ -173,7 +121,7 @@
|
|||
yref: 'paper',
|
||||
x: 1,
|
||||
xanchor: 'auto',
|
||||
y: 0.6,
|
||||
y: 0.8,
|
||||
yanchor: 'auto',
|
||||
text: 'Moneroj<br>https://www.moneroj.net',
|
||||
showarrow: false,
|
||||
|
@ -232,16 +180,16 @@
|
|||
,size: 13
|
||||
}
|
||||
,gridcolor: "#333333"
|
||||
,range: ['2009-01-01', '2026-01-01']
|
||||
,range: ['2009-01-01', '2023-01-01']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 120,
|
||||
r: 60,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 4
|
||||
}
|
||||
margin: {
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
var layout_mobile = {
|
||||
|
@ -286,16 +234,16 @@
|
|||
,size: 7
|
||||
}
|
||||
,gridcolor: "#444444"
|
||||
,range: ['2009-01-01', '2026-01-01']
|
||||
,range: ['2009-01-01', '2023-01-01']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 40,
|
||||
r: 0,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 0
|
||||
}
|
||||
margin: {
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
function findBootstrapEnvironment() {
|
||||
|
@ -321,11 +269,9 @@
|
|||
}
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
document.getElementById("graph1").style.height="350px";
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
else {
|
||||
document.getElementById("graph1").style.height="700px";
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -9,81 +9,29 @@
|
|||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" style="background-color:rgb(48, 44, 41)">
|
||||
|
||||
<!-- Main Content -->
|
||||
<div id="content">
|
||||
|
||||
<!-- Begin Page Content -->
|
||||
<div class="container-fluid"><br>
|
||||
<div class="row">
|
||||
<div class="col-xl-12 col-lg-12">
|
||||
<div class="card" id="graph1">
|
||||
<div
|
||||
class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">Average Transaction Cost</h6>
|
||||
<div class="dropdown no-arrow">
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body pb-0 pt-0 pl-0 pr-0" style="height: 100px;">
|
||||
<div id="graph" style="height: 100%; width:100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph1" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
Average Transaction Cost
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-6 col-md-6 mb-4">
|
||||
<div class="card border-left-new">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Monero's Transaction Cost</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_xmr }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-6 col-md-6 mb-4">
|
||||
<div class="card border-left-new">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Bitcoin's Transaction Cost</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_btc }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
<div class="col-xl-11 col-md-6 mb-4">
|
||||
<div class="alert alert-dark" role="alert">
|
||||
Not financial advice.
|
||||
For information about the chart, click the button >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-1">
|
||||
<button type="button" class="btn btn-dark btn-block" data-toggle="modal" href="#"
|
||||
data-target="#id_Modal">
|
||||
<div class="col-auto">
|
||||
+
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- /.container-fluid -->
|
||||
|
||||
</div>
|
||||
<!-- End of Main Content -->
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
@ -235,11 +183,11 @@
|
|||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 120,
|
||||
r: 60,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 4
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -289,11 +237,11 @@
|
|||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 40,
|
||||
r: 0,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 0
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -320,11 +268,9 @@
|
|||
}
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
document.getElementById("graph1").style.height="350px";
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
else {
|
||||
document.getElementById("graph1").style.height="700px";
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -9,81 +9,29 @@
|
|||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" style="background-color:rgb(48, 44, 41)">
|
||||
|
||||
<!-- Main Content -->
|
||||
<div id="content">
|
||||
|
||||
<!-- Begin Page Content -->
|
||||
<div class="container-fluid"><br>
|
||||
<div class="row">
|
||||
<div class="col-xl-12 col-lg-12">
|
||||
<div class="card" id="graph1">
|
||||
<div
|
||||
class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">Average Transaction Cost (Native Units)</h6>
|
||||
<div class="dropdown no-arrow">
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body" style="height: 100px;">
|
||||
<div id="graph" style="height: 100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph1" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
Average Transaction Cost (Native Units)
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-6 col-md-6 mb-4">
|
||||
<div class="card border-left-new">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Monero's Transaction Cost</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_xmr }} XMR</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-6 col-md-6 mb-4">
|
||||
<div class="card border-left-new">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Bitcoin's Transaction Cost</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_btc }} BTC</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
<div class="col-xl-11 col-md-6 mb-4">
|
||||
<div class="alert alert-dark" role="alert">
|
||||
Not financial advice.
|
||||
For information about the chart, click the button >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-1">
|
||||
<button type="button" class="btn btn-dark btn-block" data-toggle="modal" href="#"
|
||||
data-target="#id_Modal">
|
||||
<div class="col-auto">
|
||||
+
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- /.container-fluid -->
|
||||
|
||||
</div>
|
||||
<!-- End of Main Content -->
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
@ -236,11 +184,11 @@
|
|||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 120,
|
||||
r: 60,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 4
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -290,11 +238,11 @@
|
|||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 40,
|
||||
r: 0,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 0
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -321,11 +269,9 @@
|
|||
}
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
document.getElementById("graph1").style.height="350px";
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
else {
|
||||
document.getElementById("graph1").style.height="700px";
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -9,81 +9,29 @@
|
|||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" style="background-color:rgb(48, 44, 41)">
|
||||
|
||||
<!-- Main Content -->
|
||||
<div id="content">
|
||||
|
||||
<!-- Begin Page Content -->
|
||||
<div class="container-fluid"><br>
|
||||
<div class="row">
|
||||
<div class="col-xl-12 col-lg-12">
|
||||
<div class="card" id="graph1">
|
||||
<div
|
||||
class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">Transaction Count (linear)</h6>
|
||||
<div class="dropdown no-arrow">
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body" style="height: 100px;">
|
||||
<div id="graph" style="height: 100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph1" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
Transaction Count (linear)
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-6 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Daily Transactions</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_transactions }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-6 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Highest Number of Transactions</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ maximum }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
<div class="col-xl-11 col-md-6 mb-4">
|
||||
<div class="alert alert-dark" role="alert">
|
||||
Not financial advice.
|
||||
For information about the chart, click the button >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-1">
|
||||
<button type="button" class="btn btn-dark btn-block" data-toggle="modal" href="#"
|
||||
data-target="#id_Modal">
|
||||
<div class="col-auto">
|
||||
+
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- /.container-fluid -->
|
||||
|
||||
</div>
|
||||
<!-- End of Main Content -->
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
@ -257,13 +205,13 @@ var layout = {
|
|||
,range: ['2014-05-01', '2023-01-01']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 120,
|
||||
r: 120,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 10
|
||||
}
|
||||
margin: {
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
var layout_mobile = {
|
||||
|
@ -322,13 +270,13 @@ var layout_mobile = {
|
|||
,range: ['2014-05-01', '2023-01-01']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 40,
|
||||
r: 100,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 10
|
||||
}
|
||||
margin: {
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
function findBootstrapEnvironment() {
|
||||
|
@ -354,11 +302,9 @@ var layout_mobile = {
|
|||
}
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
document.getElementById("graph1").style.height="350px";
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
else {
|
||||
document.getElementById("graph1").style.height="700px";
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -9,81 +9,29 @@
|
|||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" style="background-color:rgb(48, 44, 41)">
|
||||
|
||||
<!-- Main Content -->
|
||||
<div id="content">
|
||||
|
||||
<!-- Begin Page Content -->
|
||||
<div class="container-fluid"><br>
|
||||
<div class="row">
|
||||
<div class="col-xl-12 col-lg-12">
|
||||
<div class="card" id="graph1">
|
||||
<div
|
||||
class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">Transaction Count (log scale)</h6>
|
||||
<div class="dropdown no-arrow">
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body" style="height: 100px;">
|
||||
<div id="graph" style="height: 100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph1" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
Transaction Count (log scale)
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-6 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Daily Transactions</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_transactions }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-6 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Highest Number of Transactions</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ maximum }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
<div class="col-xl-11 col-md-6 mb-4">
|
||||
<div class="alert alert-dark" role="alert">
|
||||
Not financial advice.
|
||||
For information about the chart, click the button >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-1">
|
||||
<button type="button" class="btn btn-dark btn-block" data-toggle="modal" href="#"
|
||||
data-target="#id_Modal">
|
||||
<div class="col-auto">
|
||||
+
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- /.container-fluid -->
|
||||
|
||||
</div>
|
||||
<!-- End of Main Content -->
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
@ -140,227 +88,225 @@
|
|||
},
|
||||
yaxis: "y2"
|
||||
};
|
||||
var data1 = {
|
||||
type: "scatter",
|
||||
mode: "lines",
|
||||
name: 'Price',
|
||||
x: {{ dates|safe }},
|
||||
y: {{ pricexmr|safe }},
|
||||
line: {
|
||||
color: '#444444'
|
||||
,width: 1
|
||||
}
|
||||
};
|
||||
|
||||
var data1_mobile = {
|
||||
type: "scatter",
|
||||
mode: "lines",
|
||||
name: 'Price',
|
||||
x: {{ dates|safe }},
|
||||
y: {{ pricexmr|safe }},
|
||||
line: {
|
||||
color: '#444444'
|
||||
,width: 1
|
||||
}
|
||||
};
|
||||
|
||||
var data = [data3, data1];
|
||||
var data_mobile = [data3_mobile, data1_mobile];
|
||||
|
||||
var layout = {
|
||||
plot_bgcolor:"#252221",
|
||||
paper_bgcolor:"#252221",
|
||||
annotations: [
|
||||
{
|
||||
xref: 'paper',
|
||||
yref: 'paper',
|
||||
x: 0.50,
|
||||
xanchor: 'auto',
|
||||
y: 0.02,
|
||||
yanchor: 'auto',
|
||||
text: 'Moneroj<br>https://www.moneroj.net',
|
||||
showarrow: false,
|
||||
borderwidth: 1,
|
||||
bordercolor: '#5f5f5f',
|
||||
bgcolor: '#333333',
|
||||
borderpad: 5,
|
||||
align: 'center',
|
||||
font: {
|
||||
color: "white",
|
||||
size: 12
|
||||
var data1 = {
|
||||
type: "scatter",
|
||||
mode: "lines",
|
||||
name: 'Price',
|
||||
x: {{ dates|safe }},
|
||||
y: {{ pricexmr|safe }},
|
||||
line: {
|
||||
color: '#444444'
|
||||
,width: 1
|
||||
}
|
||||
}],
|
||||
separators: ",.",
|
||||
legend: {
|
||||
x: 0.02,
|
||||
y: 0.98,
|
||||
bgcolor: '#333333',
|
||||
bordercolor: '#5f5f5f',
|
||||
borderwidth: 1,
|
||||
font: {
|
||||
color: 'white',
|
||||
};
|
||||
|
||||
var data1_mobile = {
|
||||
type: "scatter",
|
||||
mode: "lines",
|
||||
name: 'Price',
|
||||
x: {{ dates|safe }},
|
||||
y: {{ pricexmr|safe }},
|
||||
line: {
|
||||
color: '#444444'
|
||||
,width: 1
|
||||
}
|
||||
};
|
||||
|
||||
var data = [data3, data1];
|
||||
var data_mobile = [data3_mobile, data1_mobile];
|
||||
|
||||
var layout = {
|
||||
plot_bgcolor:"#252221",
|
||||
paper_bgcolor:"#252221",
|
||||
annotations: [
|
||||
{
|
||||
xref: 'paper',
|
||||
yref: 'paper',
|
||||
x: 0.50,
|
||||
xanchor: 'auto',
|
||||
y: 0.02,
|
||||
yanchor: 'auto',
|
||||
text: 'Moneroj<br>https://www.moneroj.net',
|
||||
showarrow: false,
|
||||
borderwidth: 1,
|
||||
bordercolor: '#5f5f5f',
|
||||
bgcolor: '#333333',
|
||||
borderpad: 5,
|
||||
align: 'center',
|
||||
font: {
|
||||
color: "white",
|
||||
size: 12
|
||||
},
|
||||
traceorder: 'normal',
|
||||
xanchor: 'auto',
|
||||
yanchor: 'auto'
|
||||
},
|
||||
hoverlabel: {
|
||||
namelength: -1
|
||||
},
|
||||
yaxis: {
|
||||
}
|
||||
}],
|
||||
separators: ",.",
|
||||
legend: {
|
||||
x: 0.02,
|
||||
y: 0.98,
|
||||
bgcolor: '#333333',
|
||||
bordercolor: '#5f5f5f',
|
||||
borderwidth: 1,
|
||||
font: {
|
||||
color: 'white',
|
||||
size: 12
|
||||
},
|
||||
traceorder: 'normal',
|
||||
xanchor: 'auto',
|
||||
yanchor: 'auto'
|
||||
},
|
||||
hoverlabel: {
|
||||
namelength: -1
|
||||
},
|
||||
yaxis: {
|
||||
type: "log",
|
||||
title: {
|
||||
text: 'Price (USD)',
|
||||
font: {
|
||||
size: 20,
|
||||
color: 'white'
|
||||
}
|
||||
},
|
||||
tickformat :",.2f"
|
||||
,nticks: 10
|
||||
,tickfont: {
|
||||
color: "#ffffff"
|
||||
,size: 12
|
||||
}
|
||||
,gridcolor: "#333333"
|
||||
},
|
||||
yaxis2: {
|
||||
type: "log",
|
||||
title: {
|
||||
text: 'Price (USD)',
|
||||
text: 'Transactions',
|
||||
font: {
|
||||
size: 20,
|
||||
color: 'white'
|
||||
}
|
||||
},
|
||||
tickformat :",.0f"
|
||||
,nticks: 10
|
||||
,tickfont: {
|
||||
color: "#ffffff"
|
||||
,size: 12
|
||||
}
|
||||
,gridcolor: "#252221"
|
||||
,side: "right"
|
||||
,overlaying: 'y'
|
||||
},
|
||||
xaxis: {
|
||||
hoverformat: "%Y-%m-%d",
|
||||
showgrid: true,
|
||||
type: 'date',
|
||||
nticks: 10
|
||||
,tickfont: {
|
||||
color: "#dddddd"
|
||||
,size: 13
|
||||
}
|
||||
,gridcolor: "#333333"
|
||||
,range: ['2014-05-01', '2023-01-01']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
var layout_mobile = {
|
||||
plot_bgcolor:"black",
|
||||
paper_bgcolor:"black",
|
||||
separators: ",.",
|
||||
hoverlabel: {
|
||||
namelength: -1
|
||||
},
|
||||
legend: {
|
||||
x: 0.02,
|
||||
y: 0.98,
|
||||
bgcolor: '#000000',
|
||||
bordercolor: '#5f5f5f',
|
||||
borderwidth: 1,
|
||||
font: {
|
||||
color: 'white',
|
||||
size: 5
|
||||
},
|
||||
traceorder: 'normal',
|
||||
xanchor: 'auto',
|
||||
yanchor: 'auto'
|
||||
},
|
||||
showlegend: false,
|
||||
yaxis: {
|
||||
type: "log",
|
||||
tickformat :",.0f"
|
||||
,nticks: 10
|
||||
,tickfont: {
|
||||
color: "#ffffff"
|
||||
,size: 7
|
||||
}
|
||||
,gridcolor: "#444444"
|
||||
},
|
||||
yaxis2: {
|
||||
type: "log",
|
||||
tickformat :",.2f"
|
||||
,nticks: 10
|
||||
,tickfont: {
|
||||
color: "#ffffff"
|
||||
,size: 12
|
||||
color: "white"
|
||||
}
|
||||
,gridcolor: "#333333"
|
||||
},
|
||||
yaxis2: {
|
||||
type: "log",
|
||||
title: {
|
||||
text: 'Transactions',
|
||||
font: {
|
||||
size: 20,
|
||||
color: 'white'
|
||||
,gridcolor: "#252221"
|
||||
,side: "right"
|
||||
,overlaying: 'y'
|
||||
},
|
||||
xaxis: {
|
||||
hoverformat: "%Y",
|
||||
showgrid: true,
|
||||
type: 'date',
|
||||
nticks: 10
|
||||
,tickfont: {
|
||||
color: "#dddddd"
|
||||
,size: 7
|
||||
}
|
||||
,gridcolor: "#444444"
|
||||
,range: ['2014-05-01', '2023-01-01']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
},
|
||||
tickformat :",.0f"
|
||||
,nticks: 10
|
||||
,tickfont: {
|
||||
color: "#ffffff"
|
||||
,size: 12
|
||||
};
|
||||
|
||||
function findBootstrapEnvironment() {
|
||||
let envs = ['xs', 'sm', 'md', 'lg', 'xl'];
|
||||
|
||||
let el = document.createElement('div');
|
||||
document.body.appendChild(el);
|
||||
|
||||
let curEnv = envs.shift();
|
||||
|
||||
for (let env of envs.reverse()) {
|
||||
el.classList.add(`d-${env}-none`);
|
||||
|
||||
if (window.getComputedStyle(el).display === 'none') {
|
||||
curEnv = env;
|
||||
break;
|
||||
}
|
||||
}
|
||||
,gridcolor: "#252221"
|
||||
,side: "right"
|
||||
,overlaying: 'y'
|
||||
},
|
||||
xaxis: {
|
||||
hoverformat: "%Y-%m-%d",
|
||||
showgrid: true,
|
||||
type: 'date',
|
||||
nticks: 10
|
||||
,tickfont: {
|
||||
color: "#dddddd"
|
||||
,size: 13
|
||||
}
|
||||
,gridcolor: "#333333"
|
||||
,range: ['2014-05-01', '2023-01-01']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 120,
|
||||
r: 120,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 10
|
||||
|
||||
document.body.removeChild(el);
|
||||
return curEnv;
|
||||
|
||||
}
|
||||
};
|
||||
|
||||
var layout_mobile = {
|
||||
plot_bgcolor:"black",
|
||||
paper_bgcolor:"black",
|
||||
separators: ",.",
|
||||
hoverlabel: {
|
||||
namelength: -1
|
||||
},
|
||||
legend: {
|
||||
x: 0.02,
|
||||
y: 0.98,
|
||||
bgcolor: '#000000',
|
||||
bordercolor: '#5f5f5f',
|
||||
borderwidth: 1,
|
||||
font: {
|
||||
color: 'white',
|
||||
size: 5
|
||||
},
|
||||
traceorder: 'normal',
|
||||
xanchor: 'auto',
|
||||
yanchor: 'auto'
|
||||
},
|
||||
showlegend: false,
|
||||
yaxis: {
|
||||
type: "log",
|
||||
tickformat :",.0f"
|
||||
,nticks: 10
|
||||
,tickfont: {
|
||||
color: "#ffffff"
|
||||
,size: 7
|
||||
}
|
||||
,gridcolor: "#444444"
|
||||
},
|
||||
yaxis2: {
|
||||
type: "log",
|
||||
tickformat :",.2f"
|
||||
,nticks: 10
|
||||
,tickfont: {
|
||||
color: "white"
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
,gridcolor: "#252221"
|
||||
,side: "right"
|
||||
,overlaying: 'y'
|
||||
},
|
||||
xaxis: {
|
||||
hoverformat: "%Y",
|
||||
showgrid: true,
|
||||
type: 'date',
|
||||
nticks: 10
|
||||
,tickfont: {
|
||||
color: "#dddddd"
|
||||
,size: 7
|
||||
}
|
||||
,gridcolor: "#444444"
|
||||
,range: ['2014-05-01', '2023-01-01']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 40,
|
||||
r: 100,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 10
|
||||
else {
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
};
|
||||
|
||||
function findBootstrapEnvironment() {
|
||||
let envs = ['xs', 'sm', 'md', 'lg', 'xl'];
|
||||
|
||||
let el = document.createElement('div');
|
||||
document.body.appendChild(el);
|
||||
|
||||
let curEnv = envs.shift();
|
||||
|
||||
for (let env of envs.reverse()) {
|
||||
el.classList.add(`d-${env}-none`);
|
||||
|
||||
if (window.getComputedStyle(el).display === 'none') {
|
||||
curEnv = env;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
document.body.removeChild(el);
|
||||
return curEnv;
|
||||
|
||||
}
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
document.getElementById("graph1").style.height="350px";
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
else {
|
||||
document.getElementById("graph1").style.height="700px";
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
</script>
|
||||
</script>
|
||||
|
||||
{% endblock %}
|
|
@ -9,81 +9,29 @@
|
|||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" style="background-color:rgb(48, 44, 41)">
|
||||
|
||||
<!-- Main Content -->
|
||||
<div id="content">
|
||||
|
||||
<!-- Begin Page Content -->
|
||||
<div class="container-fluid"><br>
|
||||
<div class="row">
|
||||
<div class="col-xl-12 col-lg-12">
|
||||
<div class="card" id="graph1">
|
||||
<div
|
||||
class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">Monthly Transactions</h6>
|
||||
<div class="dropdown no-arrow">
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body pb-0 pt-0 pl-0 pr-0" style="height: 100px;">
|
||||
<div id="graph" style="height: 100%; width:100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<!-- Content Row -->
|
||||
<div class="row" style="height: 92%; margin: 10px 10px 10px 10px;">
|
||||
<div class="card" id="graph1" style="width: 100%; height: 100%;">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between text-white">
|
||||
<h6 class="m-0 text-light">
|
||||
Monthly Transactions
|
||||
</h6>
|
||||
|
||||
<div class="dropdown no-arrow">
|
||||
<a data-toggle="modal" href="#" class="link_graph" data-target="#id_Modal">
|
||||
About this chart?
|
||||
</a>
|
||||
<a class="dropdown-toggle" href="#" role="button"
|
||||
onclick="$('#graph1').toggleClass('fullscreen');window.dispatchEvent(new Event('resize'));">
|
||||
<i class="bx bx-expand text-gray-400"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
|
||||
<!-- Card -->
|
||||
<div class="col-xl-6 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Monthly Transactions</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ now_transactions }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Card -->
|
||||
<div class="col-xl-6 col-md-6 mb-4">
|
||||
<div class="card border-left-new h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
|
||||
Highest Number of Transactions</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ maximum }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card-body" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
|
||||
<div id="graph" style="width: 100%; height: 100%; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"></div>
|
||||
</div>
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
<div class="col-xl-11 col-md-6 mb-4">
|
||||
<div class="alert alert-dark" role="alert">
|
||||
Not financial advice.
|
||||
For information about the chart, click the button >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-1">
|
||||
<button type="button" class="btn btn-dark btn-block" data-toggle="modal" href="#"
|
||||
data-target="#id_Modal">
|
||||
<div class="col-auto">
|
||||
+
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- /.container-fluid -->
|
||||
|
||||
</div>
|
||||
<!-- End of Main Content -->
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
@ -225,16 +173,15 @@
|
|||
,size: 13
|
||||
}
|
||||
,gridcolor: "#333333"
|
||||
,range: ['2014-05-01', '2023-06-01']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 120,
|
||||
r: 60,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 4
|
||||
}
|
||||
margin: {
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
var layout_mobile = {
|
||||
|
@ -279,16 +226,15 @@
|
|||
,size: 13
|
||||
}
|
||||
,gridcolor: "#333333"
|
||||
,range: ['2014-05-01', '2023-06-01']
|
||||
,zeroline: true
|
||||
},
|
||||
margin: {
|
||||
l: 40,
|
||||
r: 0,
|
||||
b: 35,
|
||||
t: 10,
|
||||
pad: 0
|
||||
}
|
||||
margin: {
|
||||
l: 100,
|
||||
r: 50,
|
||||
b: 50,
|
||||
t: 20,
|
||||
pad: 10
|
||||
}
|
||||
};
|
||||
|
||||
function findBootstrapEnvironment() {
|
||||
|
@ -314,11 +260,9 @@
|
|||
}
|
||||
env_size = findBootstrapEnvironment();
|
||||
if (env_size == "xs") {
|
||||
document.getElementById("graph1").style.height="350px";
|
||||
Plotly.newPlot('graph', data_mobile, layout_mobile, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
else {
|
||||
document.getElementById("graph1").style.height="700px";
|
||||
Plotly.newPlot('graph', data, layout, {responsive: true, modeBarButtonsToRemove: ['toImage', 'hoverCompareCartesian', 'hoverClosest2d', 'toggleSpikelines', 'lasso2d', 'select2d', 'hoverClosestCartesian'], displaylogo: false});
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -85,6 +85,18 @@ urlpatterns = [
|
|||
path('pageviews/', views.pageviews, name='pageviews'),
|
||||
path('securitybudget/', views.securitybudget, name='securitybudget'),
|
||||
path('efficiency/', views.efficiency, name='efficiency'),
|
||||
path('p2pool_hashrate/', views.p2pool_hashrate, name='p2pool_hashrate'),
|
||||
path('p2pool_dominance/', views.p2pool_dominance, name='p2pool_dominance'),
|
||||
path('p2pool_miners/', views.p2pool_miners, name='p2pool_miners'),
|
||||
path('p2pool_totalblocks/', views.p2pool_totalblocks, name='p2pool_totalblocks'),
|
||||
path('metcalfesats_deviation/', views.metcalfesats_deviation, name='metcalfesats_deviation'),
|
||||
path('metcalfe_deviation/', views.metcalfe_deviation, name='metcalfe_deviation'),
|
||||
path('marketcycle/', views.marketcycle, name='marketcycle'),
|
||||
path('shielded/', views.shielded, name='shielded'),
|
||||
path('pricesatslog/', views.pricesatslog, name='pricesatslog'),
|
||||
path('comptransactions/', views.comptransactions, name='comptransactions'),
|
||||
path('p2pool_totalhashes/', views.p2pool_totalhashes, name='p2pool_totalhashes'),
|
||||
path('miningprofitability/', views.miningprofitability, name='miningprofitability'),
|
||||
|
||||
# URLs to useful functions on charts/views.py
|
||||
# Only admins can use these
|
||||
|
@ -92,10 +104,12 @@ urlpatterns = [
|
|||
path('get_complete_history/<str:symbol>/', views.get_history, name='get_complete_history'),
|
||||
path('load_dominance/<str:symbol>/', views.load_dominance, name='load_dominance'),
|
||||
path('load_rank/<str:symbol>/', views.load_rank, name='load_rank'),
|
||||
path('load_p2pool/', views.load_p2pool, name='load_p2pool'),
|
||||
path('populate_database/', views.populate_database, name='populate_database'),
|
||||
path('importer/', views.importer, name='importer'),
|
||||
path('reset/<str:symbol>/', views.reset, name='reset'),
|
||||
path('update/<str:date_from>/<str:date_to>/', views.update_database_admin, name='update'),
|
||||
path('add_coin/', views.add_coin, name="add_coin"),
|
||||
|
||||
# URLs to old functions in case they need to be restablished
|
||||
# Everyone can use these, but they are hidden
|
||||
|
|
768
charts/views.py
768
charts/views.py
|
@ -6,6 +6,7 @@ from django.urls import reverse
|
|||
import requests
|
||||
import json
|
||||
from .models import *
|
||||
from .forms import *
|
||||
from users.models import PageViews
|
||||
from users.views import update_visitors
|
||||
import datetime
|
||||
|
@ -35,6 +36,53 @@ api = PushshiftAPI()
|
|||
# Useful functions for admins
|
||||
###########################################
|
||||
|
||||
# Add manually a new entrance for coin
|
||||
# To be used when there's a problem with the API
|
||||
@login_required
|
||||
def add_coin(request):
|
||||
if request.user.username != "Administrador" and request.user.username != "Morpheus":
|
||||
return render(request, 'users/error.html')
|
||||
|
||||
if request.method != 'POST':
|
||||
#create new page with blank form
|
||||
form = CoinForm()
|
||||
else:
|
||||
#process data and submit article
|
||||
form = CoinForm(data=request.POST)
|
||||
if form.is_valid():
|
||||
add_coin = form.save(commit=False)
|
||||
|
||||
try:
|
||||
day = datetime.datetime.strftime(add_coin.date, '%Y-%m-%d')
|
||||
coin = Coin.objects.filter(name=add_coin.name).get(date=day)
|
||||
coin.delete()
|
||||
print('coin found and deleted')
|
||||
except:
|
||||
print('coin not found')
|
||||
pass
|
||||
|
||||
add_coin.stocktoflow = (100/add_coin.inflation)**1.65
|
||||
add_coin.save()
|
||||
print('coin saved')
|
||||
message = 'Coin added to the database!'
|
||||
|
||||
print(str(add_coin.name) + ' ' +str(add_coin.date) + ' ' +str(add_coin.priceusd) + ' ' +str(add_coin.pricebtc) + ' ' +str(add_coin.inflation) + ' ' +str(add_coin.name) + ' ' +str(add_coin.transactions) + ' ' +str(add_coin.hashrate) + ' ' +str(add_coin.stocktoflow) + ' ' +str(add_coin.supply) + ' ' + ' ' +str(add_coin.fee) + ' ' + ' ' +str(add_coin.revenue) )
|
||||
|
||||
print('updating p2pool')
|
||||
update_p2pool()
|
||||
|
||||
print('updating database')
|
||||
update_database(day, day)
|
||||
context = {'form': form, 'message': message}
|
||||
return render(request, 'charts/add_coin.html', context)
|
||||
else:
|
||||
message = 'An error has happened. Try again.'
|
||||
context = {'form': form, 'message': message}
|
||||
return render(request, 'charts/add_coin.html', context)
|
||||
|
||||
context = {'form': form}
|
||||
return render(request, 'charts/add_coin.html', context)
|
||||
|
||||
# Get all history for metrics of a certain coin named as 'symbol'
|
||||
# Only authorized users can download all price data via URL request
|
||||
@login_required
|
||||
|
@ -183,6 +231,59 @@ def load_rank(request, symbol):
|
|||
context = {'message': message}
|
||||
return render(request, 'charts/maintenance.html', context)
|
||||
|
||||
# Populate database with p2pool history
|
||||
# Only authorized users can do this
|
||||
@login_required
|
||||
def load_p2pool(request):
|
||||
if request.user.username != "Administrador" and request.user.username != "Morpheus":
|
||||
return render(request, 'users/error.html')
|
||||
|
||||
count = 0
|
||||
gc = pygsheets.authorize(service_file='service_account_credentials.json')
|
||||
sh = gc.open('zcash_bitcoin')
|
||||
wks = sh.worksheet_by_title('p2pool')
|
||||
values_mat = wks.get_values(start=(3,1), end=(9999,6), returnas='matrix')
|
||||
P2Pool.objects.all().delete()
|
||||
|
||||
for k in range(0,len(values_mat)):
|
||||
if values_mat[k][0] and values_mat[k][1]:
|
||||
p2pool_stat = P2Pool()
|
||||
p2pool_stat.date = values_mat[k][0]
|
||||
p2pool_stat.miners = float(values_mat[k][1].replace(',', '.'))
|
||||
p2pool_stat.hashrate = float(values_mat[k][2].replace(',', '.'))
|
||||
p2pool_stat.percentage = float(values_mat[k][3].replace(',', '.'))
|
||||
p2pool_stat.totalhashes = float(values_mat[k][4].replace(',', '.'))
|
||||
p2pool_stat.totalblocksfound = float(values_mat[k][5].replace(',', '.'))
|
||||
p2pool_stat.mini = False
|
||||
p2pool_stat.save()
|
||||
count += 1
|
||||
#print('p2poolmini data saved - ' + str(p2pool_stat.date) + ' - ' + str(p2pool_stat.percentage) + ' - ' + str(p2pool_stat.miners))
|
||||
else:
|
||||
break
|
||||
|
||||
wks = sh.worksheet_by_title('p2poolmini')
|
||||
values_mat = wks.get_values(start=(3,1), end=(9999,6), returnas='matrix')
|
||||
|
||||
for k in range(0,len(values_mat)):
|
||||
if values_mat[k][0] and values_mat[k][1]:
|
||||
p2pool_stat = P2Pool()
|
||||
p2pool_stat.date = values_mat[k][0]
|
||||
p2pool_stat.miners = float(values_mat[k][1].replace(',', '.'))
|
||||
p2pool_stat.hashrate = float(values_mat[k][2].replace(',', '.'))
|
||||
p2pool_stat.percentage = float(values_mat[k][3].replace(',', '.'))
|
||||
p2pool_stat.totalhashes = float(values_mat[k][4].replace(',', '.'))
|
||||
p2pool_stat.totalblocksfound = float(values_mat[k][5].replace(',', '.'))
|
||||
p2pool_stat.mini = True
|
||||
p2pool_stat.save()
|
||||
count += 1
|
||||
#print('p2poolmini data saved - ' + str(p2pool_stat.date) + ' - ' + str(p2pool_stat.percentage) + ' - ' + str(p2pool_stat.miners))
|
||||
else:
|
||||
break
|
||||
|
||||
message = 'Total of ' + str(count) + ' data imported'
|
||||
context = {'message': message}
|
||||
return render(request, 'charts/maintenance.html', context)
|
||||
|
||||
# Populate database with dominance history
|
||||
# Only authorized users can do this
|
||||
@login_required
|
||||
|
@ -993,14 +1094,18 @@ def check_new_social(symbol):
|
|||
|
||||
# Update database DailyData with most recent coin data
|
||||
def update_database(date_from=None, date_to=None):
|
||||
date_zero = '2014-05-20'
|
||||
|
||||
if not(date_from) or not(date_to):
|
||||
date_to = date.today()
|
||||
date_from = date_to - timedelta(5)
|
||||
amount = date_from - datetime.datetime.strptime(date_zero, '%Y-%m-%d')
|
||||
else:
|
||||
print(str(date_from) + ' to ' + str(date_to))
|
||||
date_from = datetime.datetime.strptime(date_from, '%Y-%m-%d')
|
||||
date_to = datetime.datetime.strptime(date_to, '%Y-%m-%d')
|
||||
|
||||
amount = date_from - datetime.datetime.strptime(date_zero, '%Y-%m-%d')
|
||||
|
||||
count = 0
|
||||
date_aux = date_from
|
||||
while date_aux <= date_to:
|
||||
|
@ -1008,14 +1113,24 @@ def update_database(date_from=None, date_to=None):
|
|||
date_aux2 = date_aux - timedelta(1)
|
||||
try:
|
||||
coin_xmr = Coin.objects.filter(name='xmr').get(date=date_aux)
|
||||
coin_btc = Coin.objects.filter(name='btc').get(date=date_aux)
|
||||
coin_dash = Coin.objects.filter(name='dash').get(date=date_aux)
|
||||
coin_zcash = Coin.objects.filter(name='zec').get(date=date_aux)
|
||||
coin_grin = Coin.objects.filter(name='grin').get(date=date_aux)
|
||||
|
||||
coin_xmr2 = Coin.objects.filter(name='xmr').get(date=date_aux2)
|
||||
coin_btc = Coin.objects.filter(name='btc').get(date=date_aux)
|
||||
coin_btc2 = Coin.objects.filter(name='btc').get(date=date_aux2)
|
||||
|
||||
try:
|
||||
coin_dash = Coin.objects.filter(name='dash').get(date=date_aux)
|
||||
except:
|
||||
coin_dash = Coin()
|
||||
try:
|
||||
coin_zcash = Coin.objects.filter(name='zec').get(date=date_aux)
|
||||
except:
|
||||
coin_zcash = Coin()
|
||||
try:
|
||||
coin_grin = Coin.objects.filter(name='grin').get(date=date_aux)
|
||||
except:
|
||||
coin_grin = Coin()
|
||||
|
||||
|
||||
if coin_btc.inflation == 0 or coin_xmr.inflation == 0:
|
||||
return count
|
||||
|
||||
|
@ -1055,10 +1170,10 @@ def update_database(date_from=None, date_to=None):
|
|||
reward = 0.6*(10**12)
|
||||
inflation = 100*reward*720*365/supply
|
||||
data.stocktoflow = (100/(inflation))**1.65
|
||||
if data.color == 0:
|
||||
v0 = 0.002
|
||||
delta = (0.015 - 0.002)/(6*365)
|
||||
data.color = 30*coin_xmr.pricebtc/(int(coin_xmr.id)*delta + v0)
|
||||
v0 = 0.002
|
||||
delta = (0.015 - 0.002)/(6*365)
|
||||
data.color = 30*coin_xmr.pricebtc/((amount.days)*delta + v0)
|
||||
amount += timedelta(1)
|
||||
data.save()
|
||||
|
||||
try:
|
||||
|
@ -1239,6 +1354,166 @@ def update_database(date_from=None, date_to=None):
|
|||
|
||||
return count
|
||||
|
||||
# Get latest P2Pool data
|
||||
def update_p2pool():
|
||||
today = date.today()
|
||||
yesterday = date.today() - timedelta(1)
|
||||
try:
|
||||
p2pool_stat = P2Pool.objects.filter(mini=False).get(date=today)
|
||||
print('achou p2pool de hoje')
|
||||
if p2pool_stat.percentage > 0:
|
||||
|
||||
print('porcentagem > 0')
|
||||
update = False
|
||||
else:
|
||||
print('porcentagem < 0')
|
||||
p2pool_stat.delete()
|
||||
try:
|
||||
coin = Coin.objects.filter(name='xmr').get(date=yesterday)
|
||||
|
||||
print('achou coin de ontem')
|
||||
if coin.hashrate > 0:
|
||||
update = True
|
||||
else:
|
||||
update = False
|
||||
except:
|
||||
print('nao achou coin de ontem')
|
||||
update = False
|
||||
except:
|
||||
|
||||
print('nao achou p2pool de hoje')
|
||||
try:
|
||||
coin = Coin.objects.filter(name='xmr').get(date=yesterday)
|
||||
if coin.hashrate > 0:
|
||||
update = True
|
||||
else:
|
||||
update = False
|
||||
except:
|
||||
update = False
|
||||
|
||||
if update:
|
||||
p2pool_stat = P2Pool()
|
||||
p2pool_stat.date = today
|
||||
response = requests.get('https://p2pool.io/api/pool/stats')
|
||||
|
||||
data = json.loads(response.text)
|
||||
p2pool_stat.hashrate = data['pool_statistics']['hashRate']
|
||||
p2pool_stat.percentage = 100*data['pool_statistics']['hashRate']/coin.hashrate
|
||||
p2pool_stat.miners = data['pool_statistics']['miners']
|
||||
p2pool_stat.totalhashes = data['pool_statistics']['totalHashes']
|
||||
p2pool_stat.totalblocksfound = data['pool_statistics']['totalBlocksFound']
|
||||
p2pool_stat.mini = False
|
||||
p2pool_stat.save()
|
||||
print('p2pool saved!')
|
||||
|
||||
gc = pygsheets.authorize(service_file='service_account_credentials.json')
|
||||
sh = gc.open('zcash_bitcoin')
|
||||
wks = sh.worksheet_by_title('p2pool')
|
||||
|
||||
values_mat = wks.get_values(start=(3,1), end=(9999,3), returnas='matrix')
|
||||
|
||||
k = len(values_mat)
|
||||
date_aux = datetime.datetime.strptime(values_mat[k-1][0], '%Y-%m-%d')
|
||||
date_aux2 = datetime.datetime.strftime(date.today(), '%Y-%m-%d')
|
||||
date_aux2 = datetime.datetime.strptime(date_aux2, '%Y-%m-%d')
|
||||
if date_aux < date_aux2:
|
||||
cell = 'F' + str(k + 3)
|
||||
wks.update_value(cell, p2pool_stat.totalblocksfound)
|
||||
cell = 'E' + str(k + 3)
|
||||
wks.update_value(cell, p2pool_stat.totalhashes)
|
||||
cell = 'D' + str(k + 3)
|
||||
wks.update_value(cell, p2pool_stat.percentage)
|
||||
cell = 'C' + str(k + 3)
|
||||
wks.update_value(cell, p2pool_stat.hashrate)
|
||||
cell = 'B' + str(k + 3)
|
||||
wks.update_value(cell, p2pool_stat.miners)
|
||||
cell = 'A' + str(k + 3)
|
||||
wks.update_value(cell, datetime.datetime.strftime(p2pool_stat.date, '%Y-%m-%d'))
|
||||
print('spreadsheet updated')
|
||||
else:
|
||||
print('spreadsheet already with the latest data')
|
||||
return data
|
||||
|
||||
today = date.today()
|
||||
yesterday = date.today() - timedelta(1)
|
||||
try:
|
||||
p2pool_stat = P2Pool.objects.filter(mini=True).get(date=today)
|
||||
print('achou p2pool_mini de hoje')
|
||||
if p2pool_stat.percentage > 0:
|
||||
|
||||
print('porcentagem > 0')
|
||||
update = False
|
||||
else:
|
||||
print('porcentagem < 0')
|
||||
p2pool_stat.delete()
|
||||
try:
|
||||
coin = Coin.objects.filter(name='xmr').get(date=yesterday)
|
||||
|
||||
print('achou coin de ontem')
|
||||
if coin.hashrate > 0:
|
||||
update = True
|
||||
else:
|
||||
update = False
|
||||
except:
|
||||
print('nao achou coin de ontem')
|
||||
update = False
|
||||
except:
|
||||
|
||||
print('nao achou p2pool_mini de hoje')
|
||||
try:
|
||||
coin = Coin.objects.filter(name='xmr').get(date=yesterday)
|
||||
if coin.hashrate > 0:
|
||||
update = True
|
||||
else:
|
||||
update = False
|
||||
except:
|
||||
update = False
|
||||
|
||||
if update:
|
||||
p2pool_stat = P2Pool()
|
||||
p2pool_stat.date = today
|
||||
response = requests.get('https://p2pool.io/mini/api/pool/stats')
|
||||
|
||||
data = json.loads(response.text)
|
||||
p2pool_stat.hashrate = data['pool_statistics']['hashRate']
|
||||
p2pool_stat.percentage = 100*data['pool_statistics']['hashRate']/coin.hashrate
|
||||
p2pool_stat.miners = data['pool_statistics']['miners']
|
||||
p2pool_stat.totalhashes = data['pool_statistics']['totalHashes']
|
||||
p2pool_stat.totalblocksfound = data['pool_statistics']['totalBlocksFound']
|
||||
p2pool_stat.mini = True
|
||||
p2pool_stat.save()
|
||||
print('p2pool_mini saved!')
|
||||
|
||||
gc = pygsheets.authorize(service_file='service_account_credentials.json')
|
||||
sh = gc.open('zcash_bitcoin')
|
||||
wks = sh.worksheet_by_title('p2poolmini')
|
||||
|
||||
values_mat = wks.get_values(start=(3,1), end=(9999,3), returnas='matrix')
|
||||
|
||||
k = len(values_mat)
|
||||
date_aux = datetime.datetime.strptime(values_mat[k-1][0], '%Y-%m-%d')
|
||||
date_aux2 = datetime.datetime.strftime(date.today(), '%Y-%m-%d')
|
||||
date_aux2 = datetime.datetime.strptime(date_aux2, '%Y-%m-%d')
|
||||
if date_aux < date_aux2:
|
||||
cell = 'F' + str(k + 3)
|
||||
wks.update_value(cell, p2pool_stat.totalblocksfound)
|
||||
cell = 'E' + str(k + 3)
|
||||
wks.update_value(cell, p2pool_stat.totalhashes)
|
||||
cell = 'D' + str(k + 3)
|
||||
wks.update_value(cell, p2pool_stat.percentage)
|
||||
cell = 'C' + str(k + 3)
|
||||
wks.update_value(cell, p2pool_stat.hashrate)
|
||||
cell = 'B' + str(k + 3)
|
||||
wks.update_value(cell, p2pool_stat.miners)
|
||||
cell = 'A' + str(k + 3)
|
||||
wks.update_value(cell, datetime.datetime.strftime(p2pool_stat.date, '%Y-%m-%d'))
|
||||
print('spreadsheet updated')
|
||||
else:
|
||||
print('spreadsheet already with the latest data')
|
||||
return data
|
||||
|
||||
return True
|
||||
|
||||
###########################################
|
||||
# Views
|
||||
###########################################
|
||||
|
@ -2010,6 +2285,46 @@ def pricesats(request):
|
|||
context = {'values': values, 'dates': dates, 'maximum': maximum, 'now_price': now_price, 'color': color, 'bottom': bottom}
|
||||
return render(request, 'charts/pricesats.html', context)
|
||||
|
||||
def pricesatslog(request):
|
||||
if request.user.username != "Administrador" and request.user.username != "Morpheus":
|
||||
update_visitors(False)
|
||||
|
||||
dt = datetime.datetime.now(timezone.utc).timestamp()
|
||||
|
||||
dates = []
|
||||
color = []
|
||||
values = []
|
||||
now_price = 0
|
||||
maximum = 0
|
||||
bottom = 1
|
||||
|
||||
data = Sfmodel.objects.order_by('date')
|
||||
for item in data:
|
||||
dates.append(datetime.datetime.strftime(item.date, '%Y-%m-%d'))
|
||||
if item.color != 0:
|
||||
color.append(item.color)
|
||||
else:
|
||||
color.append('')
|
||||
|
||||
if item.pricebtc > 0.0001:
|
||||
values.append(item.pricebtc)
|
||||
now_price = item.pricebtc
|
||||
if bottom > item.pricebtc:
|
||||
bottom = item.pricebtc
|
||||
if maximum < item.pricebtc:
|
||||
maximum = item.pricebtc
|
||||
else:
|
||||
values.append('')
|
||||
|
||||
now_price = locale.format('%.4f', now_price, grouping=True) + ' BTC'
|
||||
maximum = locale.format('%.4f', maximum, grouping=True) + ' BTC'
|
||||
bottom = locale.format('%.4f', bottom, grouping=True) + ' BTC'
|
||||
|
||||
dt = 'pricesatslog.html ' + locale.format('%.2f', datetime.datetime.now(timezone.utc).timestamp() - dt, grouping=True)+' seconds'
|
||||
print(dt)
|
||||
context = {'values': values, 'dates': dates, 'maximum': maximum, 'now_price': now_price, 'color': color, 'bottom': bottom}
|
||||
return render(request, 'charts/pricesatslog.html', context)
|
||||
|
||||
def fractal(request):
|
||||
if request.user.username != "Administrador" and request.user.username != "Morpheus":
|
||||
update_visitors(False)
|
||||
|
@ -3058,6 +3373,70 @@ def metcalfesats(request):
|
|||
context = {'metcalfe': metcalfe, 'dates': dates, 'maximum': maximum, 'now_metcalfe': now_metcalfe, 'color': color, 'prices': prices, 'now_price': now_price}
|
||||
return render(request, 'charts/metcalfesats.html', context)
|
||||
|
||||
def metcalfesats_deviation(request):
|
||||
if request.user.username != "Administrador" and request.user.username != "Morpheus":
|
||||
update_visitors(False)
|
||||
|
||||
dt = datetime.datetime.now(timezone.utc).timestamp()
|
||||
data = DailyData.objects.order_by('date')
|
||||
|
||||
metcalfe_percentage = []
|
||||
metcalfe = []
|
||||
dates = []
|
||||
now_metcalfe = 0
|
||||
now_metcalfe_percentage = 0
|
||||
|
||||
for item in data:
|
||||
dates.append(datetime.datetime.strftime(item.date, '%Y-%m-%d'))
|
||||
if item.xmr_metcalfebtc < 0.0007 and item.xmr_pricebtc <= 0:
|
||||
metcalfe.append('')
|
||||
metcalfe_percentage.append('')
|
||||
else:
|
||||
now_metcalfe = item.xmr_metcalfebtc - item.xmr_pricebtc
|
||||
now_metcalfe_percentage = 100*((item.xmr_metcalfebtc/item.xmr_pricebtc) - 1)
|
||||
metcalfe.append(now_metcalfe)
|
||||
metcalfe_percentage.append(now_metcalfe_percentage)
|
||||
|
||||
now_metcalfe = locale.format('%.4f', now_metcalfe, grouping=True)
|
||||
now_metcalfe_percentage = locale.format('%.0f', now_metcalfe_percentage, grouping=True)
|
||||
|
||||
dt = 'metcalfesats_deviation.html ' + locale.format('%.2f', datetime.datetime.now(timezone.utc).timestamp() - dt, grouping=True)+' seconds'
|
||||
print(dt)
|
||||
context = {'metcalfe': metcalfe, 'dates': dates, 'now_metcalfe': now_metcalfe, 'now_metcalfe_percentage': now_metcalfe_percentage, 'metcalfe_percentage': metcalfe_percentage}
|
||||
return render(request, 'charts/metcalfesats_deviation.html', context)
|
||||
|
||||
def metcalfe_deviation(request):
|
||||
if request.user.username != "Administrador" and request.user.username != "Morpheus":
|
||||
update_visitors(False)
|
||||
|
||||
dt = datetime.datetime.now(timezone.utc).timestamp()
|
||||
data = DailyData.objects.order_by('date')
|
||||
|
||||
metcalfe_percentage = []
|
||||
metcalfe = []
|
||||
dates = []
|
||||
now_metcalfe = 0
|
||||
now_metcalfe_percentage = 0
|
||||
|
||||
for item in data:
|
||||
dates.append(datetime.datetime.strftime(item.date, '%Y-%m-%d'))
|
||||
if item.xmr_metcalfeusd < 0.0007 and item.xmr_priceusd <= 0:
|
||||
metcalfe.append('')
|
||||
metcalfe_percentage.append('')
|
||||
else:
|
||||
now_metcalfe = item.xmr_metcalfeusd - item.xmr_priceusd
|
||||
now_metcalfe_percentage = 100*((item.xmr_metcalfeusd/item.xmr_priceusd) - 1)
|
||||
metcalfe.append(now_metcalfe)
|
||||
metcalfe_percentage.append(now_metcalfe_percentage)
|
||||
|
||||
now_metcalfe = locale.format('%.0f', now_metcalfe, grouping=True)
|
||||
now_metcalfe_percentage = locale.format('%.0f', now_metcalfe_percentage, grouping=True)
|
||||
|
||||
dt = 'metcalfe_deviation.html ' + locale.format('%.2f', datetime.datetime.now(timezone.utc).timestamp() - dt, grouping=True)+' seconds'
|
||||
print(dt)
|
||||
context = {'metcalfe': metcalfe, 'dates': dates, 'now_metcalfe': now_metcalfe, 'now_metcalfe_percentage': now_metcalfe_percentage, 'metcalfe_percentage': metcalfe_percentage}
|
||||
return render(request, 'charts/metcalfe_deviation.html', context)
|
||||
|
||||
def metcalfeusd(request):
|
||||
if request.user.username != "Administrador" and request.user.username != "Morpheus":
|
||||
update_visitors(False)
|
||||
|
@ -3722,6 +4101,70 @@ def compinflation(request):
|
|||
'now_xmr': now_xmr, 'now_btc': now_btc, 'now_dash': now_dash, 'now_grin': now_grin, 'now_zcash': now_zcash, 'now_btc': now_btc, 'dates': dates}
|
||||
return render(request, 'charts/compinflation.html', context)
|
||||
|
||||
|
||||
def comptransactions(request):
|
||||
if request.user.username != "Administrador" and request.user.username != "Morpheus":
|
||||
update_visitors(False)
|
||||
|
||||
dt = datetime.datetime.now(timezone.utc).timestamp()
|
||||
data = DailyData.objects.order_by('date')
|
||||
|
||||
dates = []
|
||||
xmr = []
|
||||
dash = []
|
||||
grin = []
|
||||
zcash = []
|
||||
btc = []
|
||||
now_xmr = 999999
|
||||
now_dash = 999999
|
||||
now_grin = 999999
|
||||
now_zcash = 999999
|
||||
now_btc = 999999
|
||||
|
||||
for item in data:
|
||||
dates.append(datetime.datetime.strftime(item.date, '%Y-%m-%d'))
|
||||
|
||||
if item.btc_transactions > 10:
|
||||
btc.append(item.btc_transactions)
|
||||
now_btc = item.btc_transactions
|
||||
else:
|
||||
btc.append('')
|
||||
|
||||
if item.zcash_transactions > 10:
|
||||
zcash.append(item.zcash_transactions)
|
||||
now_zcash = item.zcash_transactions
|
||||
else:
|
||||
zcash.append('')
|
||||
|
||||
if item.dash_transactions > 10:
|
||||
dash.append(item.dash_transactions)
|
||||
now_dash = item.dash_transactions
|
||||
else:
|
||||
dash.append('')
|
||||
|
||||
if item.xmr_transactions > 10:
|
||||
xmr.append(item.xmr_transactions)
|
||||
now_xmr = item.xmr_transactions
|
||||
else:
|
||||
xmr.append('')
|
||||
|
||||
if item.grin_transactions > 10:
|
||||
grin.append(item.grin_transactions)
|
||||
now_grin = item.grin_transactions
|
||||
else:
|
||||
grin.append('')
|
||||
|
||||
now_dash = locale.format('%.0f', now_dash, grouping=True)
|
||||
now_grin = locale.format('%.0f', now_grin, grouping=True)
|
||||
now_zcash = locale.format('%.0f', now_zcash, grouping=True)
|
||||
now_xmr = locale.format('%.0f', now_xmr, grouping=True)
|
||||
now_btc = locale.format('%.0f', now_btc, grouping=True)
|
||||
|
||||
dt = 'comptransactions.html ' + locale.format('%.2f', datetime.datetime.now(timezone.utc).timestamp() - dt, grouping=True)+' seconds'
|
||||
print(dt)
|
||||
context = {'xmr': xmr, 'dash': dash, 'grin': grin, 'zcash': zcash, 'btc': btc, 'now_xmr': now_xmr, 'now_btc': now_btc, 'now_dash': now_dash, 'now_grin': now_grin, 'now_zcash': now_zcash, 'now_btc': now_btc, 'dates': dates}
|
||||
return render(request, 'charts/comptransactions.html', context)
|
||||
|
||||
def sfmodel(request):
|
||||
if request.user.username != "Administrador" and request.user.username != "Morpheus":
|
||||
update_visitors(False)
|
||||
|
@ -3733,7 +4176,7 @@ def sfmodel(request):
|
|||
yesterday = date.today() - timedelta(1)
|
||||
start_time = datetime.datetime.strftime(date.today() - timedelta(5), '%Y-%m-%d')
|
||||
try:
|
||||
coin = Coin.objects.filter(name='xmr').get(date=yesterday)
|
||||
coin = Coin.objects.filter(name='btc').get(date=yesterday)
|
||||
#coin_aux = Coin.objects.filter(name='btc').get(date=yesterday)
|
||||
if coin: #and coin_aux:
|
||||
print('coin found yesterday')
|
||||
|
@ -3752,8 +4195,7 @@ def sfmodel(request):
|
|||
|
||||
now = datetime.datetime.now()
|
||||
current_time = int(now.strftime("%H"))
|
||||
print(current_time)
|
||||
|
||||
|
||||
if update and (current_time >= 5):
|
||||
print('social')
|
||||
check_new_social('Bitcoin')
|
||||
|
@ -3781,6 +4223,9 @@ def sfmodel(request):
|
|||
url = data["metrics_provider"][0]["metrics_url_new"] + symbol + '/' + start_time #url = data["metrics_provider"][0]["metrics_url"] + symbol + data["metrics_provider"][0]["metrics"] + '&start_time=' + start_time
|
||||
get_latest_metrics(symbol, url)
|
||||
|
||||
print('p2pool')
|
||||
update_p2pool()
|
||||
|
||||
print('updating database')
|
||||
update_database(start_time, today)
|
||||
print('done')
|
||||
|
@ -3948,6 +4393,92 @@ def sfmultiple(request):
|
|||
context = {'dates': dates, 'maximum': maximum, 'stock_to_flow': stock_to_flow, 'now_sf': now_sf, 'buy': buy, 'sell': sell, 'color': color}
|
||||
return render(request, 'charts/sfmultiple.html', context)
|
||||
|
||||
def marketcycle(request):
|
||||
if request.user.username != "Administrador" and request.user.username != "Morpheus":
|
||||
update_visitors(False)
|
||||
|
||||
dt = datetime.datetime.now(timezone.utc).timestamp()
|
||||
dates = []
|
||||
color = []
|
||||
sell = []
|
||||
buy = []
|
||||
|
||||
data = Sfmodel.objects.order_by('date')
|
||||
for item in data:
|
||||
if item.color > 0:
|
||||
color.append(item.color - 5)
|
||||
else:
|
||||
color.append('')
|
||||
|
||||
sell.append(100)
|
||||
buy.append(0)
|
||||
dates.append(datetime.datetime.strftime(item.date, '%Y-%m-%d'))
|
||||
|
||||
now_cycle = locale.format('%.2f', item.color, grouping=True)
|
||||
|
||||
dt = 'marketcycle.html ' + locale.format('%.2f', datetime.datetime.now(timezone.utc).timestamp() - dt, grouping=True)+' seconds'
|
||||
print(dt)
|
||||
context = {'dates': dates, 'color': color, 'sell': sell, 'buy': buy, 'now_cycle': now_cycle}
|
||||
return render(request, 'charts/marketcycle.html', context)
|
||||
|
||||
def shielded(request):
|
||||
if request.user.username != "Administrador" and request.user.username != "Morpheus":
|
||||
update_visitors(False)
|
||||
|
||||
dt = datetime.datetime.now(timezone.utc).timestamp()
|
||||
dates = []
|
||||
values = []
|
||||
values2 = []
|
||||
values3 = []
|
||||
|
||||
gc = pygsheets.authorize(service_file='service_account_credentials.json')
|
||||
sh = gc.open('zcash_bitcoin')
|
||||
wks = sh.worksheet_by_title('Sheet1')
|
||||
|
||||
dominance = 0
|
||||
monthly = 0
|
||||
|
||||
values_mat = wks.get_values(start=(3,1), end=(999,5), returnas='matrix')
|
||||
|
||||
for k in range(0,len(values_mat)):
|
||||
if values_mat[k][0] and values_mat[k][3]:
|
||||
date = values_mat[k][0]
|
||||
value = values_mat[k][3]
|
||||
value3 = values_mat[k][4]
|
||||
if not(value) or not(value):
|
||||
break
|
||||
else:
|
||||
dates.append(date)
|
||||
values.append(int(value))
|
||||
values3.append(int(value3))
|
||||
else:
|
||||
break
|
||||
|
||||
previous_date = 0
|
||||
coins = Coin.objects.order_by('date').filter(name='xmr')
|
||||
for date in dates:
|
||||
value2 = 0
|
||||
for coin in coins:
|
||||
aux = str(coin.date)
|
||||
month = aux.split("-")[0] + '-' + aux.split("-")[1]
|
||||
if month == date:
|
||||
if previous_date != coin.date:
|
||||
value2 += coin.transactions
|
||||
previous_date = coin.date
|
||||
|
||||
values2.append(int(value2))
|
||||
|
||||
dominance = 100*int(value2)/(int(value2)+int(value)+int(value3))
|
||||
monthly = int(value2)
|
||||
|
||||
monthly = format(int(monthly),',')
|
||||
dominance = locale.format('%.2f', dominance, grouping=True)
|
||||
|
||||
dt = 'shielded.html ' + locale.format('%.2f', datetime.datetime.now(timezone.utc).timestamp() - dt, grouping=True)+' seconds'
|
||||
print(dt)
|
||||
context = {'dates': dates, 'values': values, 'values2': values2, 'values3': values3, "monthly": monthly, "dominance": dominance}
|
||||
return render(request, 'charts/shielded.html', context)
|
||||
|
||||
def thermocap(request):
|
||||
if request.user.username != "Administrador" and request.user.username != "Morpheus":
|
||||
update_visitors(False)
|
||||
|
@ -4974,6 +5505,217 @@ def rank(request):
|
|||
context = {'values': values, 'dates': dates, 'maximum': maximum, 'now_value': now_value, 'pricexmr': pricexmr}
|
||||
return render(request, 'charts/rank.html', context)
|
||||
|
||||
def p2pool_hashrate(request):
|
||||
if request.user.username != "Administrador" and request.user.username != "Morpheus":
|
||||
update_visitors(False)
|
||||
|
||||
dt = datetime.datetime.now(timezone.utc).timestamp()
|
||||
hashrate = []
|
||||
hashrate_mini = []
|
||||
combined = []
|
||||
dates = []
|
||||
now_hashrate = 0
|
||||
now_hashrate_mini = 0
|
||||
now_combined = 0
|
||||
|
||||
p2pool_stats = P2Pool.objects.order_by('date').filter(mini=False)
|
||||
for p2pool_stat in p2pool_stats:
|
||||
now_combined = 0
|
||||
if p2pool_stat.hashrate and p2pool_stat.percentage > 0:
|
||||
now_hashrate = p2pool_stat.hashrate/1000000
|
||||
now_combined = p2pool_stat.hashrate/1000000
|
||||
hashrate.append(now_hashrate)
|
||||
|
||||
try:
|
||||
p2pool_stat_mini = P2Pool.objects.filter(mini=True).get(date=p2pool_stat.date)
|
||||
if p2pool_stat_mini.hashrate and p2pool_stat_mini.percentage > 0:
|
||||
now_hashrate_mini = p2pool_stat_mini.hashrate/1000000
|
||||
now_combined += p2pool_stat_mini.hashrate/1000000
|
||||
except:
|
||||
pass
|
||||
hashrate_mini.append(now_hashrate_mini)
|
||||
combined.append(now_combined)
|
||||
|
||||
dates.append(datetime.datetime.strftime(p2pool_stat.date, '%Y-%m-%d'))
|
||||
|
||||
dt = 'p2pool_hashrate.html ' + locale.format('%.2f', datetime.datetime.now(timezone.utc).timestamp() - dt, grouping=True)+' seconds'
|
||||
print(dt)
|
||||
context = {'hashrate': hashrate, 'dates': dates, 'hashrate_mini': hashrate_mini, 'combined': combined}
|
||||
return render(request, 'charts/p2pool_hashrate.html', context)
|
||||
|
||||
def p2pool_dominance(request):
|
||||
if request.user.username != "Administrador" and request.user.username != "Morpheus":
|
||||
update_visitors(False)
|
||||
|
||||
dt = datetime.datetime.now(timezone.utc).timestamp()
|
||||
dominance = []
|
||||
dominance_mini = []
|
||||
dates = []
|
||||
combined = []
|
||||
now_dominance = 0
|
||||
now_dominance_mini = 0
|
||||
|
||||
p2pool_stats = P2Pool.objects.order_by('date').filter(mini=False)
|
||||
for p2pool_stat in p2pool_stats:
|
||||
now_combined = 0
|
||||
if p2pool_stat.hashrate and p2pool_stat.percentage > 0:
|
||||
now_dominance = p2pool_stat.percentage
|
||||
now_combined += p2pool_stat.percentage
|
||||
dominance.append(now_dominance)
|
||||
|
||||
try:
|
||||
p2pool_stat_mini = P2Pool.objects.filter(mini=True).get(date=p2pool_stat.date)
|
||||
if p2pool_stat_mini.hashrate and p2pool_stat_mini.percentage > 0:
|
||||
now_dominance_mini = p2pool_stat_mini.percentage
|
||||
now_combined += p2pool_stat_mini.percentage
|
||||
except:
|
||||
pass
|
||||
dominance_mini.append(now_dominance_mini)
|
||||
combined.append(now_combined)
|
||||
|
||||
dates.append(datetime.datetime.strftime(p2pool_stat.date, '%Y-%m-%d'))
|
||||
|
||||
dt = 'p2pool_dominance.html ' + locale.format('%.2f', datetime.datetime.now(timezone.utc).timestamp() - dt, grouping=True)+' seconds'
|
||||
print(dt)
|
||||
context = {'dominance': dominance, 'dates': dates, 'dominance_mini': dominance_mini,'combined': combined}
|
||||
return render(request, 'charts/p2pool_dominance.html', context)
|
||||
|
||||
def p2pool_totalblocks(request):
|
||||
if request.user.username != "Administrador" and request.user.username != "Morpheus":
|
||||
update_visitors(False)
|
||||
|
||||
dt = datetime.datetime.now(timezone.utc).timestamp()
|
||||
dates = []
|
||||
totalblocks = []
|
||||
totalblocks_mini = []
|
||||
combined = []
|
||||
now_totalblocks = 0
|
||||
now_totalblocks_mini = 0
|
||||
now_combined = 0
|
||||
|
||||
p2pool_stats = P2Pool.objects.order_by('date').filter(mini=False)
|
||||
for p2pool_stat in p2pool_stats:
|
||||
now_combined = 0
|
||||
if p2pool_stat.totalblocksfound > now_totalblocks:
|
||||
now_totalblocks = p2pool_stat.totalblocksfound
|
||||
now_combined += p2pool_stat.totalblocksfound
|
||||
totalblocks.append(now_totalblocks)
|
||||
|
||||
p2pool_stats_mini = P2Pool.objects.filter(mini=True).filter(date=p2pool_stat.date)
|
||||
for p2pool_stat_mini in p2pool_stats_mini:
|
||||
if p2pool_stat_mini.totalblocksfound >= now_totalblocks_mini:
|
||||
now_totalblocks_mini = p2pool_stat_mini.totalblocksfound
|
||||
now_combined += p2pool_stat_mini.totalblocksfound
|
||||
break
|
||||
|
||||
|
||||
totalblocks_mini.append(now_totalblocks_mini)
|
||||
combined.append(now_combined)
|
||||
|
||||
dates.append(datetime.datetime.strftime(p2pool_stat.date, '%Y-%m-%d'))
|
||||
|
||||
dt = 'p2pool_totalblocks.html ' + locale.format('%.2f', datetime.datetime.now(timezone.utc).timestamp() - dt, grouping=True)+' seconds'
|
||||
print(dt)
|
||||
context = {'totalblocks': totalblocks, 'totalblocks_mini': totalblocks_mini, 'dates': dates, 'combined': combined}
|
||||
return render(request, 'charts/p2pool_totalblocks.html', context)
|
||||
|
||||
def p2pool_totalhashes(request):
|
||||
if request.user.username != "Administrador" and request.user.username != "Morpheus":
|
||||
update_visitors(False)
|
||||
|
||||
dt = datetime.datetime.now(timezone.utc).timestamp()
|
||||
dates = []
|
||||
totalblocks = []
|
||||
totalblocks_mini = []
|
||||
combined = []
|
||||
now_totalblocks = 0
|
||||
now_totalblocks_mini = 0
|
||||
now_combined = 0
|
||||
|
||||
p2pool_stats = P2Pool.objects.order_by('date').filter(mini=False)
|
||||
for p2pool_stat in p2pool_stats:
|
||||
now_combined = 0
|
||||
if p2pool_stat.totalhashes > now_totalblocks:
|
||||
now_totalblocks = p2pool_stat.totalhashes/1000000000000
|
||||
now_combined += p2pool_stat.totalhashes/1000000000000
|
||||
totalblocks.append(now_totalblocks)
|
||||
|
||||
try:
|
||||
p2pool_stat_mini = P2Pool.objects.filter(mini=True).get(date=p2pool_stat.date)
|
||||
if p2pool_stat_mini.totalhashes >= now_totalblocks_mini:
|
||||
now_totalblocks_mini = p2pool_stat_mini.totalhashes/1000000000000
|
||||
now_combined += p2pool_stat_mini.totalhashes/1000000000000
|
||||
except:
|
||||
pass
|
||||
totalblocks_mini.append(now_totalblocks_mini)
|
||||
combined.append(now_combined)
|
||||
|
||||
dates.append(datetime.datetime.strftime(p2pool_stat.date, '%Y-%m-%d'))
|
||||
|
||||
dt = 'p2pool_totalhashes.html ' + locale.format('%.2f', datetime.datetime.now(timezone.utc).timestamp() - dt, grouping=True)+' seconds'
|
||||
print(dt)
|
||||
context = {'totalblocks': totalblocks, 'totalblocks_mini': totalblocks_mini, 'dates': dates, 'combined': combined}
|
||||
return render(request, 'charts/p2pool_totalhashes.html', context)
|
||||
|
||||
def p2pool_miners(request):
|
||||
if request.user.username != "Administrador" and request.user.username != "Morpheus":
|
||||
update_visitors(False)
|
||||
|
||||
dt = datetime.datetime.now(timezone.utc).timestamp()
|
||||
miners = []
|
||||
miners_mini = []
|
||||
dates = []
|
||||
combined = []
|
||||
now_miners = 0
|
||||
now_miners_mini = 0
|
||||
|
||||
p2pool_stats = P2Pool.objects.order_by('date').filter(mini=False)
|
||||
for p2pool_stat in p2pool_stats:
|
||||
now_combined = 0
|
||||
if p2pool_stat.miners > 0:
|
||||
now_miners = p2pool_stat.miners
|
||||
now_combined += p2pool_stat.miners
|
||||
miners.append(now_miners)
|
||||
|
||||
try:
|
||||
p2pool_stat_mini = P2Pool.objects.filter(mini=True).get(date=p2pool_stat.date)
|
||||
if p2pool_stat_mini.miners > 0:
|
||||
now_miners_mini = p2pool_stat_mini.miners
|
||||
now_combined += p2pool_stat_mini.miners
|
||||
except:
|
||||
pass
|
||||
miners_mini.append(now_miners_mini)
|
||||
combined.append(now_combined)
|
||||
|
||||
dates.append(datetime.datetime.strftime(p2pool_stat.date, '%Y-%m-%d'))
|
||||
|
||||
dt = 'p2pool_miners.html ' + locale.format('%.2f', datetime.datetime.now(timezone.utc).timestamp() - dt, grouping=True)+' seconds'
|
||||
print(dt)
|
||||
context = {'miners': miners, 'dates': dates, 'miners_mini': miners_mini, 'combined': combined}
|
||||
return render(request, 'charts/p2pool_miners.html', context)
|
||||
|
||||
def miningprofitability(request):
|
||||
if request.user.username != "Administrador" and request.user.username != "Morpheus":
|
||||
update_visitors(False)
|
||||
|
||||
dt = datetime.datetime.now(timezone.utc).timestamp()
|
||||
dates = []
|
||||
value = []
|
||||
now_value = 0
|
||||
|
||||
coins = Coin.objects.order_by('date').filter(name='xmr')
|
||||
for coin in coins:
|
||||
if coin.hashrate > 0 and coin.priceusd > 0 and coin.revenue > 0:
|
||||
if 1000*coin.priceusd*coin.revenue/coin.hashrate < 5000:
|
||||
now_value = 1000*coin.priceusd*coin.revenue/coin.hashrate
|
||||
dates.append(datetime.datetime.strftime(coin.date, '%Y-%m-%d'))
|
||||
value.append(now_value)
|
||||
|
||||
dt = 'miningprofitability.html ' + locale.format('%.2f', datetime.datetime.now(timezone.utc).timestamp() - dt, grouping=True)+' seconds'
|
||||
print(dt)
|
||||
context = {'value': value, 'dates': dates}
|
||||
return render(request, 'charts/miningprofitability.html', context)
|
||||
|
||||
def tail_emission(request):
|
||||
if request.user.username != "Administrador" and request.user.username != "Morpheus":
|
||||
update_visitors(False)
|
||||
|
|
|
@ -36,7 +36,7 @@ SECRET_KEY = 'dafsdasdfasfa7sdfs9d7das7f9as7df8ad43525fsffdssdg455$$###77saf9df7
|
|||
DEBUG = False
|
||||
STATIC_ROOT = "/var/www/moneropro/static/"
|
||||
|
||||
ALLOWED_HOSTS = ['www.moneroj.net', 'localhost', '127.0.0.1', 'moneroj.net', 'ilt7jgmfro76wgrtt6752lvfnhcz6wk5sjqhyvntjixygp3cwpvr4nad.onion']
|
||||
ALLOWED_HOSTS = ['80.78.22.34', 'www.moneroj.net', 'localhost', '127.0.0.1', 'moneroj.net', 'moneroj5xq4ttg4ec7e5secqdyw5mcovzvfvlq6i7omv353i6mnexlqd.onion']
|
||||
|
||||
# Application definition
|
||||
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
{% load static %}
|
||||
|
||||
<head>
|
||||
<meta http-equiv="onion-location" content="http://moneroj5xq4ttg4ec7e5secqdyw5mcovzvfvlq6i7omv353i6mnexlqd.onion" />
|
||||
<meta content="text/html; charset=UTF-8" name="Content-Type" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
<meta name="description" content="Your information source about Monero, with metrics, charts, stats and articles.">
|
||||
|
@ -84,15 +85,10 @@
|
|||
</a>
|
||||
{% endif %}
|
||||
<div class="dropdown-menu" aria-labelledby="navbarDropdown">
|
||||
{% if user.is_authenticated %}
|
||||
{% if user.username == 'Administrador' or user.username == 'Morpheus' %}
|
||||
<a class="nav-link" href="{% url 'articles:write' %}">Write / Review</a>
|
||||
{% if user.username == 'Administrador' or user.username == 'Morpheus' %}
|
||||
<a class="nav-link" href="{% url 'users:users' %}">Users</a>
|
||||
{% endif %}
|
||||
<a class="nav-link" href="{% url 'users:users' %}">Control Panel</a>
|
||||
<a class="nav-link" href="{% url 'users:logout' %}">Logout</a>
|
||||
{% else %}
|
||||
<a class="nav-link" href="{% url 'users:login' %}">Login</a>
|
||||
<a class="nav-link" href="{% url 'users:register' %}">Register</a>
|
||||
{% endif %}
|
||||
<a class="nav-link" href="{% url 'charts:about' %}">About</a>
|
||||
<div class="dropdown-divider"></div>
|
||||
|
@ -148,7 +144,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="social-links text-center text-lg-right pt-3 pt-lg-0">
|
||||
<a href="http://ilt7jgmfro76wgrtt6752lvfnhcz6wk5sjqhyvntjixygp3cwpvr4nad.onion" class="onion" alt="Tor Version"><i class="bx bx-hide"></i></a>
|
||||
<a href="http://moneroj5xq4ttg4ec7e5secqdyw5mcovzvfvlq6i7omv353i6mnexlqd.onion" class="onion" alt="Tor Version"><i class="bx bx-hide"></i></a>
|
||||
<a href="https://twitter.com/CryptoMorpheus_" class="twitter" alt="Twitter Profile"><i class="bx bxl-twitter"></i></a>
|
||||
<a href="mailto:morpheus.anonymous@protonmail.com" class="email" alt="Send E-mail"><i class="bx bx-mail-send"></i></a>
|
||||
</div>
|
||||
|
|
|
@ -2,12 +2,48 @@
|
|||
{% block header %}
|
||||
|
||||
<title>Moneroj.net - Users</title>
|
||||
<style>
|
||||
.break {
|
||||
word-break: break-all;
|
||||
}
|
||||
<style>
|
||||
.form {
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
background: #313030;
|
||||
margin: 20px 20px 20px 20px;
|
||||
max-width: 100%;
|
||||
padding: 20px;
|
||||
text-align: center;
|
||||
border-radius: 20px
|
||||
}
|
||||
|
||||
.form button {
|
||||
font-family: "Roboto", Sans-serif;
|
||||
outline: 0;
|
||||
background: #ff4d21;
|
||||
width: 100%;
|
||||
border: 0;
|
||||
border-radius: 5px;
|
||||
padding: 5px;
|
||||
color: #ffffff;
|
||||
font-size: 14px;
|
||||
cursor: pointer
|
||||
}
|
||||
|
||||
.form button:hover,
|
||||
.form button:active {
|
||||
background: #db3b13
|
||||
}
|
||||
|
||||
.form .message {
|
||||
margin: 10px 0 0;
|
||||
color: rgb(255, 255, 255);
|
||||
font-size: 16px
|
||||
}
|
||||
|
||||
.form .message a {
|
||||
color: #ff4d21;
|
||||
text-decoration: none
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
{% endblock %}
|
||||
{% block content %}
|
||||
|
||||
|
@ -15,10 +51,15 @@
|
|||
<section id="Subscribe" class="section-bg">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-xl-12 d-flex flex-column justify-content-center">
|
||||
<div class="col-xl-8 d-flex flex-column justify-content-center">
|
||||
<h1>Control Panel</h1>
|
||||
<h3>Edit user's profiles and access.</h3>
|
||||
</div>
|
||||
<div class="col-xl-3 form">
|
||||
<h1><i class="bx bx-pen" style="color: #ffffff"></i></h1>
|
||||
<p class="message">Problem with the API?</p><br>
|
||||
<a href="{% url 'charts:add_coin' %}"><button type="submit">Add a coin</button></a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -169,4 +169,4 @@ def edit_user(request, identification, type):
|
|||
profile.type = type
|
||||
profile.save()
|
||||
|
||||
return HttpResponseRedirect(reverse('users:users'))
|
||||
return HttpResponseRedirect(reverse('users:users'))
|
||||
|
|
Loading…
Reference in a new issue