From 89957757fcfc48cec9d1a937b9895d416454a81a Mon Sep 17 00:00:00 2001 From: Robert Goldmann <deadlocker@gmx.de> Date: Fri, 19 Aug 2022 22:49:17 +0200 Subject: [PATCH] #400 - group transactions by date --- .../src/main/resources/static/css/colors.css | 4 ++ .../resources/static/css/transactions.css | 12 ++++-- .../templates/transactions/transactions.ftl | 39 ++++++++++--------- .../transactions/transactionsMacros.ftl | 14 +++---- 4 files changed, 40 insertions(+), 29 deletions(-) diff --git a/BudgetMasterServer/src/main/resources/static/css/colors.css b/BudgetMasterServer/src/main/resources/static/css/colors.css index 1180c6202..213991007 100644 --- a/BudgetMasterServer/src/main/resources/static/css/colors.css +++ b/BudgetMasterServer/src/main/resources/static/css/colors.css @@ -114,6 +114,10 @@ background-color: var(--color-black) !important; } +.background-light { + background-color: var(--color-background-light) !important; +} + /* text colors*/ .text-blue { diff --git a/BudgetMasterServer/src/main/resources/static/css/transactions.css b/BudgetMasterServer/src/main/resources/static/css/transactions.css index dba193019..6798b857a 100644 --- a/BudgetMasterServer/src/main/resources/static/css/transactions.css +++ b/BudgetMasterServer/src/main/resources/static/css/transactions.css @@ -39,12 +39,12 @@ } .transaction-row-top { - padding-top: 14px; + padding: 14px 0.5rem 0 0.5rem; + min-height: 3.4rem; } .transaction-row-bottom { - padding-bottom: 5px; - margin-bottom: 0; + padding-bottom: 14px; } .transaction-row-transparent { @@ -55,6 +55,10 @@ opacity: 1.0 !important; } +.transaction-card { + margin: 0.4rem 0 0.8rem 0; +} + .transaction-text { font-size: 1.2rem; } @@ -71,6 +75,8 @@ .transaction-date { min-width: 5.5rem; + margin-top: 1.6rem; + margin-bottom: 0.5rem; } .new-transaction-button { diff --git a/BudgetMasterServer/src/main/resources/templates/transactions/transactions.ftl b/BudgetMasterServer/src/main/resources/templates/transactions/transactions.ftl index 28a841526..e9e671fae 100644 --- a/BudgetMasterServer/src/main/resources/templates/transactions/transactions.ftl +++ b/BudgetMasterServer/src/main/resources/templates/transactions/transactions.ftl @@ -50,39 +50,42 @@ <@transactionsMacros.buttons filterConfiguration.isActive()/> <#-- transactions list --> - <br> + <#assign lastDate=''/> + <#list transactions as transaction> <#assign shouldHighlight = highlightID?? && transaction.getID()?? && transaction.getID()==highlightID/> - <div class="hide-on-large-only transaction-row-top <#if transaction.isFuture()>transaction-row-transparent</#if> <#if shouldHighlight>background-blue-light transaction-row-transparent-override" id="highlighted-small"<#else>"</#if>> - <div class="row valign-wrapper transaction-row-bottom"> - <div class="col s3 center-align bold transaction-text"> - ${dateService.getDateStringWithoutYear(transaction.date)} - </div> - <@transactionsMacros.transactionType transaction/> - <@transactionsMacros.transactionButtons transaction/> + <#assign transactionDate=dateService.getDateStringWithoutYear(transaction.date)/> + <#if transactionDate != lastDate> + <div class="col s12 left-align bold transaction-text transaction-date"> + ${transactionDate} + </div> + <#assign lastDate=transactionDate/> + </#if> + + <div class="hide-on-large-only transaction-row-top card transaction-card background-light <#if transaction.isFuture()>transaction-row-transparent</#if> <#if shouldHighlight>background-blue-light transaction-row-transparent-override" id="highlighted-small"<#else>"</#if>> + <div class="row valign-wrapper transaction-row-bottom no-margin-bottom"> + <@transactionsMacros.transactionNameAndDescription transaction "s6"/> + <@transactionsMacros.transactionAmount transaction account "s6"/> </div> <div class="row valign-wrapper transaction-row-bottom"> <@transactionsMacros.transactionCategory transaction "left-align no-margin-left"/> <@transactionsMacros.transactionAccountIcon transaction/> - <@transactionsMacros.transactionNameAndDescription transaction "s5"/> - <@transactionsMacros.transactionAmount transaction account "s4"/> + <@transactionsMacros.transactionType transaction "s2"/> + <@transactionsMacros.transactionButtons transaction "s6 right-align"/> </div> </div> - <div class="hide-on-med-and-down transaction-row-top transaction-row-bottom <#if transaction.isFuture()>transaction-row-transparent</#if> <#if shouldHighlight>background-blue-light transaction-row-transparent-override" id="highlighted-large"<#else>"</#if>> + + <div class="hide-on-med-and-down transaction-row-top card transaction-card transaction-row-bottom background-light <#if transaction.isFuture()>transaction-row-transparent</#if> <#if shouldHighlight>background-blue-light transaction-row-transparent-override" id="highlighted-large"<#else>"</#if>> <div class="row valign-wrapper no-margin-bottom"> - <div class="col l1 xl1 bold transaction-text transaction-line-height"> - ${dateService.getDateStringWithoutYear(transaction.date)} - </div> <@transactionsMacros.transactionCategory transaction "left-align"/> <@transactionsMacros.transactionAccountIcon transaction/> - <@transactionsMacros.transactionType transaction/> + <@transactionsMacros.transactionType transaction "l1 xl1"/> <@transactionsMacros.transactionNameAndDescription transaction "l4 xl5"/> - <@transactionsMacros.transactionAmount transaction account "l3 xl3"/> - <@transactionsMacros.transactionButtons transaction/> + <@transactionsMacros.transactionAmount transaction account "l3 xl3 center-align"/> + <@transactionsMacros.transactionButtons transaction "l2 xl1"/> </div> </div> - <hr> </#list> <#-- show placeholde text if no transactions are present in the current month or REST ist the only transaction --> diff --git a/BudgetMasterServer/src/main/resources/templates/transactions/transactionsMacros.ftl b/BudgetMasterServer/src/main/resources/templates/transactions/transactionsMacros.ftl index 98519d63f..5580e2cec 100644 --- a/BudgetMasterServer/src/main/resources/templates/transactions/transactionsMacros.ftl +++ b/BudgetMasterServer/src/main/resources/templates/transactions/transactionsMacros.ftl @@ -1,8 +1,8 @@ <#import "/spring.ftl" as s> <#import "../helpers/header.ftl" as header> -<#macro transactionType transaction> - <div class="col s3 l1 xl1 left-align"> +<#macro transactionType transaction size> + <div class="col ${size} left-align"> <#if transaction.isRepeating()> <i class="material-icons">repeat</i> </#if> @@ -48,8 +48,8 @@ </#if> </#macro> -<#macro transactionButtons transaction> - <div class="col s6 l2 xl1 right-align transaction-buttons no-wrap"> +<#macro transactionButtons transaction classes> + <div class="col ${classes} transaction-buttons no-wrap"> <#if transaction.isEditable()> <@header.buttonFlat url='/transactions/' + transaction.ID?c + '/edit' icon='edit' localizationKey='' classes="no-padding text-default"/> <@header.buttonFlat url='/transactions/' + transaction.ID?c + '/requestDelete' icon='delete' localizationKey='' classes="no-padding text-default button-request-delete-transaction" isDataUrl=true/> @@ -87,11 +87,9 @@ <#macro placeholder transactions> - <#assign isOnlyRest = transactions?size == 1 && transactions[0].category.type.name() == "REST"/> - <#if isOnlyRest> - <br> - </#if> + <br> + <#assign isOnlyRest = transactions?size == 1 && transactions[0].category.type.name() == "REST"/> <#if transactions?size == 0 || isOnlyRest> <div class="row"> <div class="col s12"> -- GitLab