feat: first batch of work

This commit is contained in:
Herculino Trotta
2025-11-01 03:15:44 -03:00
parent e600d87968
commit a63367a772
175 changed files with 3433 additions and 2245 deletions

View File

@@ -1,9 +1,9 @@
{% load i18n %}
<div class="tw:container tw:px-md-3 tw:py-3 tw:column-gap-5">
<div class="tw:text-3xl tw:font-bold tw:font-mono tw:w-full tw:mb-3">
<div class="container px-md-3 py-3 column-gap-5">
<div class="text-3xl font-bold font-mono w-full mb-3">
{% spaceless %}
<div>{% translate 'Recurring Transactions' %}<span>
<a class="tw:no-underline tw:text-2xl tw:p-1 category-action"
<a class="no-underline text-2xl p-1 category-action"
role="button"
data-bs-toggle="tooltip"
data-bs-title="{% translate "Add" %}"
@@ -14,16 +14,16 @@
{% endspaceless %}
</div>
<div class="tw:card tw:bg-base-100 tw:shadow-xl">
<div class="tw:card-header tw:bg-base-200 tw:p-4">
<div role="tablist" class="tw:tabs tw:tabs-lifted">
<button class="tw:tab tw:tab-active" data-bs-toggle="tab" type="button" role="tab" aria-selected="true" hx-get="{% url 'active_recurring_transaction_list' %}" hx-trigger="load, click" hx-target="#recurring-transactions-table">{% translate 'Active' %}</button>
<button class="tw:tab" hx-get="{% url 'paused_recurring_transaction_list' %}" hx-target="#recurring-transactions-table" data-bs-toggle="tab" type="button" role="tab" aria-selected="false">{% translate 'Paused' %}</button>
<button class="tw:tab" hx-get="{% url 'finished_recurring_transaction_list' %}" hx-target="#recurring-transactions-table" data-bs-toggle="tab" type="button" role="tab" aria-selected="false">{% translate 'Finished' %}</button>
<div class="card bg-base-100 shadow-xl">
<div class="card-header bg-base-200 p-4">
<div role="tablist" class="tabs tabs-lifted">
<button class="tab tab-active" data-bs-toggle="tab" type="button" role="tab" aria-selected="true" hx-get="{% url 'active_recurring_transaction_list' %}" hx-trigger="load, click" hx-target="#recurring-transactions-table">{% translate 'Active' %}</button>
<button class="tab" hx-get="{% url 'paused_recurring_transaction_list' %}" hx-target="#recurring-transactions-table" data-bs-toggle="tab" type="button" role="tab" aria-selected="false">{% translate 'Paused' %}</button>
<button class="tab" hx-get="{% url 'finished_recurring_transaction_list' %}" hx-target="#recurring-transactions-table" data-bs-toggle="tab" type="button" role="tab" aria-selected="false">{% translate 'Finished' %}</button>
</div>
</div>
<div class="tw:card-body">
<div class="card-body">
<div id="recurring-transactions-table"></div>
</div>

View File

@@ -10,11 +10,11 @@
{% if recurring_transactions %}
<c-config.search></c-config.search>
<div class="tw:overflow-x-auto">
<table class="tw:table tw:table-zebra">
<div class="overflow-x-auto">
<table class="table table-zebra">
<thead>
<tr>
<th scope="col" class="tw:w-auto"></th>
<th scope="col" class="w-auto"></th>
<th scope="col">{% translate 'Name' %}</th>
<th scope="col">{% translate 'Account' %}</th>
<th scope="col">{% translate 'Amount' %}</th>
@@ -23,9 +23,9 @@
<tbody>
{% for recurring_transaction in recurring_transactions %}
<tr class="recurring_transaction">
<td class="tw:w-auto tw:text-center">
<div class="tw:join" role="group" aria-label="{% translate 'Actions' %}">
<a class="tw:btn tw:btn-secondary tw:btn-sm tw:join-item"
<td class="w-auto text-center">
<div class="join" role="group" aria-label="{% translate 'Actions' %}">
<a class="btn btn-secondary btn-sm join-item"
role="button"
data-bs-toggle="tooltip"
data-bs-title="{% translate "Edit" %}"
@@ -33,7 +33,7 @@
hx-swap="innerHTML"
hx-target="#generic-offcanvas">
<i class="fa-solid fa-pencil fa-fw"></i></a>
<a class="tw:btn tw:btn-secondary tw:btn-sm tw:join-item"
<a class="btn btn-secondary btn-sm join-item"
role="button"
data-bs-toggle="tooltip"
data-bs-title="{% translate "Transactions" %}"
@@ -43,7 +43,7 @@
<i class="fa-solid fa-eye fa-fw"></i></a>
{% if status != 'finished' %}
{% if recurring_transaction.is_paused %}
<a class="tw:btn tw:btn-secondary tw:btn-sm tw:join-item tw:text-info"
<a class="btn btn-secondary btn-sm join-item text-info"
role="button"
data-bs-toggle="tooltip"
data-bs-title="{% translate "Unpause" %}"
@@ -57,7 +57,7 @@
data-confirm-text="{% translate "Yes, unpause it!" %}"
_="install prompt_swal"><i class="fa-solid fa-play fa-fw"></i></a>
{% else %}
<a class="tw:btn tw:btn-secondary tw:btn-sm tw:join-item tw:text-info"
<a class="btn btn-secondary btn-sm join-item text-info"
role="button"
data-bs-toggle="tooltip"
data-bs-title="{% translate "Pause" %}"
@@ -72,7 +72,7 @@
_="install prompt_swal">
<i class="fa-solid fa-pause fa-fw"></i></a>
{% endif %}
<a class="tw:btn tw:btn-secondary tw:btn-sm tw:join-item tw:text-info"
<a class="btn btn-secondary btn-sm join-item text-info"
role="button"
data-bs-toggle="tooltip"
data-bs-title="{% translate "Finish" %}"
@@ -87,7 +87,7 @@
_="install prompt_swal">
<i class="fa-solid fa-flag-checkered fa-fw"></i></a>
{% endif %}
<a class="tw:btn tw:btn-secondary tw:btn-sm tw:join-item tw:text-error"
<a class="btn btn-secondary btn-sm join-item text-error"
role="button"
data-bs-toggle="tooltip"
data-bs-title="{% translate "Delete" %}"
@@ -102,15 +102,15 @@
</div>
</td>
<td>
<div class="{% if recurring_transaction.type == 'EX' %}tw:text-red-400{% else %}tw:text-green-400{% endif %}">
<div class="{% if recurring_transaction.type == 'EX' %}text-red-400{% else %}text-green-400{% endif %}">
{{ recurring_transaction.description }}
</div>
<div class="tw:text-sm tw:text-base-content/60">{{ recurring_transaction.notes|linebreaksbr }}</div>
<div class="text-sm text-base-content/60">{{ recurring_transaction.notes|linebreaksbr }}</div>
</td>
<td class="tw:w-auto">
<td class="w-auto">
{% if recurring_transaction.account.group %}{{ recurring_transaction.account.group }} • {% endif %}{{ recurring_transaction.account }}
</td>
<td class="tw:w-auto">
<td class="w-auto">
<c-amount.display
:amount="recurring_transaction.amount"
:prefix="recurring_transaction.account.currency.prefix"