feat: add current price and other info to DCA strategy detail

This commit is contained in:
Herculino Trotta
2024-11-15 22:24:07 -03:00
parent 7f6e6514d5
commit 2c15a284af
5 changed files with 98 additions and 37 deletions

View File

@@ -1,7 +1,8 @@
{% load currency_display %}
<div class="{% if text_end %}text-end{% elif text_start %}text-start{% endif %}">
<div class="amount{% if color == 'grey' or color == "gray" %} tw-text-gray-500{% elif color == 'green' %} tw-text-green-400{% elif color == 'red' %} tw-text-red-400{% endif %}"
data-original-value="{% currency_display amount=amount prefix=prefix suffix=suffix decimal_places=decimal_places %}" data-amount="{{ amount|floatformat:"-40u" }}">
</div>
<span class="amount{% if color == 'grey' or color == "gray" %} tw-text-gray-500{% elif color == 'green' %} tw-text-green-400{% elif color == 'red' %} tw-text-red-400{% endif %}"
data-original-value="{% currency_display amount=amount prefix=prefix suffix=suffix decimal_places=decimal_places %}"
data-amount="{{ amount|floatformat:"-40u" }}">
</span><span>{{ slot }}</span>
</div>

View File

@@ -1,7 +1,27 @@
{% load i18n %}
<div class="container-fluid px-md-3 py-3 column-gap-5">
<div class="tw-text-3xl fw-bold font-monospace tw-w-full mb-3">
<div>{{ strategy.name }}</div>
<div class="d-lg-flex justify-content-between mb-3 w-100">
<div class="tw-text-3xl fw-bold font-monospace d-flex align-items-center">
{{ strategy.name }}
</div>
<div class="tw-text-sm text-lg-end mt-2 mt-lg-0">
<div class="mb-2">
<span class="badge rounded-pill text-bg-secondary">{{ strategy.payment_currency.name }}</span> x <span class="badge rounded-pill text-bg-secondary">{{ strategy.target_currency.name }}</span>
</div>
<div>
{% if strategy.current_price %}
<c-amount.display
:amount="strategy.current_price.0"
:prefix="strategy.payment_currency.prefix"
:suffix="strategy.payment_currency.suffix"
:decimal_places="strategy.payment_currency.decimal_places">
• {{ strategy.current_price.1|date:"SHORT_DATETIME_FORMAT" }}
</c-amount.display>
{% else %}
<div class="tw-text-red-400">{% trans "No exchange rate available" %}</div>
{% endif %}
</div>
</div>
</div>
<div class="row gy-3 gx-3">
@@ -108,6 +128,28 @@
</div>
<div class="col-xl-6 col">
<div class="row row-cols-1 row-cols-md-2 row-cols-xl-3 gy-3 gx-3">
<div class="col">
<div class="card h-100">
<div class="card-body">
<h5 class="card-title">{% trans "Current value" %}</h5>
<div class="card-text">
{% if strategy.current_price %}
<c-amount.display
:amount="strategy.current_price.0"
:prefix="strategy.payment_currency.prefix"
:suffix="strategy.payment_currency.suffix"
:decimal_places="strategy.payment_currency.decimal_places">
</c-amount.display>
{% else %}
<div>{% trans "No exchange rate available" %}</div>
{% endif %}
</div>
</div>
<div class="card-footer text-body-secondary">
2 days ago
</div>
</div>
</div>
<div class="col">
<div class="card h-100">
<div class="card-body">
@@ -169,7 +211,7 @@
<div class="card-body">
<h5 class="card-title">{% trans "Total P/L" %}</h5>
<div
class="card-text {% if strategy.total_profit_loss >= 0 %}text-success{% else %}text-danger{% endif %}">
class="card-text {% if strategy.total_profit_loss >= 0 %}tw-text-green-400{% else %}tw-text-red-400{% endif %}">
<c-amount.display
:amount="strategy.total_profit_loss"
:prefix="strategy.payment_currency.prefix"
@@ -185,7 +227,7 @@
<div class="card-body">
<h5 class="card-title">{% trans "Total % P/L" %}</h5>
<div
class="card-text {% if strategy.total_profit_loss >= 0 %}text-success{% else %}text-danger{% endif %}">
class="card-text {% if strategy.total_profit_loss >= 0 %}tw-text-green-400{% else %}tw-text-red-400{% endif %}">
{{ strategy.total_profit_loss_percentage|floatformat:2 }}%
</div>
</div>