Add Business Metrics card to dashboard
This commit is contained in:
parent
34fde746e7
commit
ad3b94c168
2 changed files with 31 additions and 0 deletions
|
|
@ -526,6 +526,9 @@ def register_routes(app: Flask) -> None:
|
||||||
# Activity Center summary for dashboard widget (empty fallback)
|
# Activity Center summary for dashboard widget (empty fallback)
|
||||||
activity_summary = {}
|
activity_summary = {}
|
||||||
|
|
||||||
|
# Load business metrics for dashboard widget
|
||||||
|
metrics_data = _load_metrics_data()
|
||||||
|
|
||||||
return render_template(
|
return render_template(
|
||||||
"dashboard.html",
|
"dashboard.html",
|
||||||
user=user,
|
user=user,
|
||||||
|
|
@ -543,6 +546,7 @@ def register_routes(app: Flask) -> None:
|
||||||
sync_settings=sync_settings,
|
sync_settings=sync_settings,
|
||||||
account_details=account_details,
|
account_details=account_details,
|
||||||
activity_summary=activity_summary,
|
activity_summary=activity_summary,
|
||||||
|
metrics_data=metrics_data,
|
||||||
)
|
)
|
||||||
|
|
||||||
@app.route("/catalog")
|
@app.route("/catalog")
|
||||||
|
|
|
||||||
|
|
@ -1957,6 +1957,33 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
{% if metrics_data %}
|
||||||
|
{% set metrics_total = namespace(n=0) %}
|
||||||
|
{% for c in metrics_data %}{% set metrics_total.n = metrics_total.n + c.metrics|length %}{% endfor %}
|
||||||
|
<div class="data-source">
|
||||||
|
<div class="data-source-header">
|
||||||
|
<div class="data-source-info">
|
||||||
|
<div class="data-source-icon">
|
||||||
|
<svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round">
|
||||||
|
<path d="M3 3v18h18"/>
|
||||||
|
<path d="M18.7 8l-5.1 5.2-2.8-2.7L7 14.3"/>
|
||||||
|
</svg>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<div class="data-source-name">Business Metrics</div>
|
||||||
|
<div class="data-source-status">
|
||||||
|
{{ metrics_total.n }} metrics across {{ metrics_data|length }} categories
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<span class="badge-included">Always included</span>
|
||||||
|
</div>
|
||||||
|
<div class="data-source-details">
|
||||||
|
{% for c in metrics_data %}{{ c.label }} ({{ c.metrics|length }}){% if not loop.last %}, {% endif %}{% endfor %}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
<div class="catalog-cta">
|
<div class="catalog-cta">
|
||||||
<div class="catalog-cta-text">Manage your data subscriptions or discover new data sources</div>
|
<div class="catalog-cta-text">Manage your data subscriptions or discover new data sources</div>
|
||||||
<a href="{{ url_for('catalog') }}" class="catalog-cta-link">
|
<a href="{{ url_for('catalog') }}" class="catalog-cta-link">
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue