Convert payment details to collapsible panel

This commit is contained in:
Victor Andersson
2025-11-09 12:19:21 +01:00
parent e23f9e909d
commit 399bf64573

View File

@@ -139,57 +139,72 @@
</div>
{% if claim.status == 'approved' %}
<div class="mx-6 mt-4 grid gap-4 rounded-3xl border border-green-100 bg-green-50 px-6 py-4 text-sm text-green-900 md:grid-cols-[2fr,1fr]">
<div class="space-y-3">
<p class="text-xs font-semibold uppercase tracking-wide text-green-600">{% trans "Utbetalningsdetaljer" %}</p>
<dl class="grid gap-2 text-sm text-green-900 md:grid-cols-2">
<div>
<dt class="text-xs uppercase tracking-wide text-green-700">{% trans "Belopp" %}</dt>
<dd class="text-lg font-semibold">{{ claim.amount }} {{ claim.currency }}</dd>
</div>
<div>
<dt class="text-xs uppercase tracking-wide text-green-700">{% trans "Kontonummer" %}</dt>
<dd class="font-mono text-base">{{ claim.account_number }}</dd>
</div>
<div>
<dt class="text-xs uppercase tracking-wide text-green-700">{% trans "Referens (Claim ID)" %}</dt>
<dd class="font-semibold">#{{ claim.id }}</dd>
</div>
<div>
<dt class="text-xs uppercase tracking-wide text-green-700">{% trans "Skapad" %}</dt>
<dd>{{ claim.created_at|date:"Y-m-d H:i" }}</dd>
</div>
</dl>
<p class="text-xs text-green-700">{% trans "Använd referens och belopp när du lägger upp betalningen i banken hjälper att undvika dubbletter." %}</p>
</div>
<div class="flex flex-col items-start gap-3 md:items-end">
{% if payments_enabled %}
{% if claim.is_paid %}
<div class="rounded-2xl bg-emerald-100 px-4 py-3 text-xs font-semibold uppercase tracking-wide text-emerald-800">
{% trans "Markerad som betald" %}
<div class="text-[11px] font-normal text-emerald-700">
{{ claim.paid_at|date:"Y-m-d H:i" }}
{% if claim.paid_by %}
· {% trans "av" %} {{ claim.paid_by.get_username }}
{% endif %}
</div>
<div class="mx-6 mt-4 rounded-3xl border border-green-100 bg-green-50 px-6 py-4 text-sm text-green-900">
<div class="flex flex-col gap-4 md:flex-row md:items-start md:justify-between">
<details class="w-full space-y-3 rounded-2xl bg-white/60 px-4 py-3 text-green-900" {% if not claim.is_paid %}open{% endif %}>
<summary class="flex cursor-pointer items-center justify-between text-sm font-semibold text-green-800">
<span>{% trans "Utbetalningsdetaljer" %}</span>
<svg class="h-4 w-4 transition group-open:-rotate-180" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M19.5 8.25l-7.5 7.5-7.5-7.5" />
</svg>
</summary>
<dl class="grid gap-3 text-sm md:grid-cols-2">
<div>
<dt class="text-xs uppercase tracking-wide text-green-700">{% trans "Belopp" %}</dt>
<dd class="text-lg font-semibold">{{ claim.amount }} {{ claim.currency }}</dd>
</div>
<div>
<dt class="text-xs uppercase tracking-wide text-green-700">{% trans "Kontonummer" %}</dt>
<dd class="font-mono text-base">{{ claim.account_number }}</dd>
</div>
<div>
<dt class="text-xs uppercase tracking-wide text-green-700">{% trans "Referens (Claim ID)" %}</dt>
<dd class="font-semibold">#{{ claim.id }}</dd>
</div>
<div>
<dt class="text-xs uppercase tracking-wide text-green-700">{% trans "Skapad" %}</dt>
<dd>{{ claim.created_at|date:"Y-m-d H:i" }}</dd>
</div>
<div>
<dt class="text-xs uppercase tracking-wide text-green-700">{% trans "E-post" %}</dt>
<dd>{{ claim.email }}</dd>
</div>
<div>
<dt class="text-xs uppercase tracking-wide text-green-700">{% trans "Projekt" %}</dt>
<dd>{{ claim.project|default:"-" }}</dd>
</div>
</dl>
<p class="text-[11px] text-green-700">{% trans "Använd uppgifterna ovan när du registrerar betalningen håll samma referens för att undvika dubbletter." %}</p>
</details>
<div class="flex w-full max-w-xs flex-col items-stretch gap-3">
{% if payments_enabled %}
{% if claim.is_paid %}
<div class="rounded-2xl bg-emerald-100 px-4 py-3 text-xs font-semibold uppercase tracking-wide text-emerald-800">
{% trans "Markerad som betald" %}
<div class="text-[11px] font-normal text-emerald-700">
{{ claim.paid_at|date:"Y-m-d H:i" }}
{% if claim.paid_by %}
· {% trans "av" %} {{ claim.paid_by.get_username }}
{% endif %}
</div>
</div>
{% else %}
<form method="post" onsubmit="return confirm('{% trans "Är du säker att du har lagt upp betalningen? Markera endast som betald om beloppet skickas till banken." %}');">
{% csrf_token %}
<input type="hidden" name="action_type" value="payment">
<input type="hidden" name="payment_claim_id" value="{{ claim.id }}">
<button type="submit" class="flex w-full items-center justify-center gap-2 rounded-2xl bg-emerald-600 px-4 py-3 text-xs font-semibold uppercase tracking-wide text-white transition hover:bg-emerald-700">
{% trans "Markera som betald" %}
</button>
</form>
<p class="text-[11px] text-green-700">{% trans "Dubbelkolla belopp och kontonummer i panelen innan du bekräftar." %}</p>
{% endif %}
{% else %}
<form method="post" class="w-full max-w-xs" onsubmit="return confirm('{% trans "Är du säker att du har lagt upp betalningen? Markera endast som betald om beloppet skickas till banken." %}');">
{% csrf_token %}
<input type="hidden" name="action_type" value="payment">
<input type="hidden" name="payment_claim_id" value="{{ claim.id }}">
<button type="submit" class="flex w-full items-center justify-center gap-2 rounded-2xl bg-emerald-600 px-4 py-3 text-xs font-semibold uppercase tracking-wide text-white transition hover:bg-emerald-700">
{% trans "Markera som betald" %}
</button>
</form>
<p class="text-[11px] text-green-700">{% trans "Dubbelkolla belopp och kontonummer ovan innan du bekräftar." %}</p>
<p class="rounded-2xl bg-white/70 px-4 py-3 text-xs text-green-800">
{% trans "Intern betalningshantering är av gör betalningen externt och använd reset-knappen i admin vid behov." %}
</p>
{% endif %}
{% else %}
<p class="rounded-2xl bg-white/70 px-4 py-3 text-xs text-green-800">
{% trans "Intern betalningshantering är av markera betalning i ekonomisystemet och resetta status vid behov." %}
</p>
{% endif %}
</div>
</div>
</div>
{% endif %}