Implement dashboard data logic

This commit is contained in:
Oliver Traber 2025-05-25 21:07:28 +00:00
parent 1c810e6293
commit 5fa13de642
Signed by: Bluemedia
GPG key ID: C0674B105057136C
7 changed files with 115 additions and 78 deletions

View file

@ -1,18 +1,9 @@
<script lang="ts">
import i18n from '$lib/i18n'
import type { Transaction } from '$lib/types/transaction'
let props: {
transactions: {
id: string
begin: Date
end: Date
chargepoint: {
name: string
id: string
}
energyAmmount: number
cost: number
}[]
transactions: Transaction[]
} = $props()
</script>
@ -36,7 +27,7 @@
<div>
<p>
{$i18n.t('common:transactionTable.startTime', {
time: transaction.begin,
time: new Date(transaction.started_at),
formatParams: {
time: {
year: 'numeric',
@ -51,7 +42,7 @@
</p>
<p>
{$i18n.t('common:transactionTable.endTime', {
time: transaction.end,
time: new Date(transaction.ended_at!),
formatParams: {
time: {
year: 'numeric',
@ -70,11 +61,15 @@
<td>
<a href="/chargepoint/{transaction.chargepoint.id}" class="btn btn-sm btn-primary">
<i class="bi bi-plug-fill text-lg"></i>
{transaction.chargepoint.name}
{transaction.chargepoint.identity}
</a>
</td>
<td class="font-bold">{transaction.energyAmmount} kWh</td>
<td class="font-bold">{transaction.cost}</td>
<td class="font-bold"
>{(transaction.meter_end - transaction.meter_start).toFixed(2)} kWh</td
>
<td class="font-bold"
>{((transaction.meter_end - transaction.meter_start) * transaction.price).toFixed(2)}</td
>
<th>
<a href="/transaction/{transaction.id}" class="btn btn-sm btn-primary">
{$i18n.t('common:transactionTable.detailButton')}