mirror of
https://github.com/Retropex/custom-ocean.xyz-dashboard.git
synced 2025-05-12 19:20:45 +02:00

- Updated `App.py` to add a datetime formatting filter and enhance the earnings route with better error handling and currency conversion. - Revised `README.md` to document new features, including earnings breakdown and API endpoints. - Added default currency setting in `config.json` and a function to retrieve it in `config.py`. - Improved `data_service.py` with a new method for fetching payment history and enhanced error handling. - Updated `setup.py` to include new CSS and JS files for the earnings page. - Enhanced styling in `common.css`, `dashboard.css`, and `earnings.css` for better responsiveness. - Optimized `workers.js` for improved performance with a progressive loading approach. - Updated multiple HTML files to reflect new dashboard structure and features. - Enhanced `worker_service.py` for consistent hashrate values and improved logging.
95 lines
3.5 KiB
HTML
95 lines
3.5 KiB
HTML
{% extends "base.html" %}
|
|
|
|
{% block title %}BLOCKS - BTC-OS Dashboard {% endblock %}
|
|
|
|
{% block css %}
|
|
<link rel="stylesheet" href="/static/css/blocks.css">
|
|
<link rel="stylesheet" href="/static/css/theme-toggle.css">
|
|
{% endblock %}
|
|
|
|
{% block header %}BLOCKCHAIN MONITOR v 0.1{% endblock %}
|
|
|
|
{% block blocks_active %}active{% endblock %}
|
|
|
|
{% block content %}
|
|
|
|
<!-- Latest block stats -->
|
|
<div class="row mb-2 equal-height">
|
|
<div class="col-12">
|
|
<div class="card">
|
|
<div class="card-header">LATEST BLOCK STATS</div>
|
|
<div class="card-body">
|
|
<div class="latest-block-stats">
|
|
<div class="stat-item">
|
|
<strong>BLOCK HEIGHT:</strong>
|
|
<span id="latest-height" class="metric-value white">Loading...</span>
|
|
</div>
|
|
<div class="stat-item">
|
|
<strong>TIME:</strong>
|
|
<span id="latest-time" class="metric-value blue">Loading...</span>
|
|
</div>
|
|
<div class="stat-item">
|
|
<strong>TRANSACTIONS:</strong>
|
|
<span id="latest-tx-count" class="metric-value white">Loading...</span>
|
|
</div>
|
|
<div class="stat-item">
|
|
<strong>SIZE:</strong>
|
|
<span id="latest-size" class="metric-value white">Loading...</span>
|
|
</div>
|
|
<div class="stat-item">
|
|
<strong>DIFFICULTY:</strong>
|
|
<span id="latest-difficulty" class="metric-value yellow">Loading...</span>
|
|
</div>
|
|
<div class="stat-item">
|
|
<strong>POOL:</strong>
|
|
<span id="latest-pool" class="metric-value green">Loading...</span>
|
|
</div>
|
|
<div class="stat-item">
|
|
<strong>AVG FEE RATE:</strong>
|
|
<span id="latest-fee-rate" class="metric-value yellow" style="animation: pulse 1s infinite;">Loading...</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Blocks grid -->
|
|
<div class="row">
|
|
<div class="col-12">
|
|
<div class="card">
|
|
<div class="card-header">RECENT BLOCKS</div>
|
|
<div class="card-body">
|
|
<div class="blocks-container">
|
|
<div id="blocks-grid" class="blocks-grid">
|
|
<!-- Blocks will be generated here via JavaScript -->
|
|
<div class="loader">
|
|
<span class="loader-text">Connecting to mempool.guide API<span class="terminal-cursor"></span></span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Block details modal -->
|
|
<div id="block-modal" class="block-modal">
|
|
<div class="block-modal-content">
|
|
<div class="block-modal-header">
|
|
<span class="block-modal-title">BLOCK DETAILS</span>
|
|
<span class="block-modal-close">×</span>
|
|
</div>
|
|
<div class="block-modal-body">
|
|
<div id="block-details">
|
|
<!-- Block details will be displayed here -->
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{% endblock %}
|
|
|
|
{% block javascript %}
|
|
<script src="/static/js/blocks.js"></script>
|
|
{% endblock %}
|