From caa897cb15c1b7f31d79dbd083d4b0b350f2ef25 Mon Sep 17 00:00:00 2001 From: Robert Goldmann <deadlocker@gmx.de> Date: Sun, 20 Feb 2022 11:32:22 +0100 Subject: [PATCH] fixed default icon font color for templates in light theme --- .../budgetmaster/accounts/Account.java | 2 +- .../budgetmaster/categories/Category.java | 2 +- .../budgetmaster/icon/Iconizable.java | 2 +- .../budgetmaster/templates/Template.java | 20 ++++++++++++++++--- .../categories/categoriesFunctions.ftl | 2 +- .../templates/helpers/customSelectMacros.ftl | 2 +- .../templates/helpers/fontColorPicker.ftl | 4 ++-- .../templates/helpers/iconSelect.ftl | 2 +- .../templates/templates/templateFunctions.ftl | 2 +- 9 files changed, 26 insertions(+), 12 deletions(-) diff --git a/src/main/java/de/deadlocker8/budgetmaster/accounts/Account.java b/src/main/java/de/deadlocker8/budgetmaster/accounts/Account.java index 725825a31..768786ea4 100644 --- a/src/main/java/de/deadlocker8/budgetmaster/accounts/Account.java +++ b/src/main/java/de/deadlocker8/budgetmaster/accounts/Account.java @@ -146,7 +146,7 @@ public class Account implements ProvidesID, Iconizable } @Override - public String getFontColor() + public String getFontColor(boolean isDarkTheme) { final Icon icon = getIconReference(); if(icon == null) diff --git a/src/main/java/de/deadlocker8/budgetmaster/categories/Category.java b/src/main/java/de/deadlocker8/budgetmaster/categories/Category.java index 1757a9378..97818717d 100644 --- a/src/main/java/de/deadlocker8/budgetmaster/categories/Category.java +++ b/src/main/java/de/deadlocker8/budgetmaster/categories/Category.java @@ -110,7 +110,7 @@ public class Category implements ProvidesID, Iconizable } @Override - public String getFontColor() + public String getFontColor(boolean isDarkTheme) { final Icon icon = getIconReference(); if(icon == null) diff --git a/src/main/java/de/deadlocker8/budgetmaster/icon/Iconizable.java b/src/main/java/de/deadlocker8/budgetmaster/icon/Iconizable.java index defb1b347..e0daf1b24 100644 --- a/src/main/java/de/deadlocker8/budgetmaster/icon/Iconizable.java +++ b/src/main/java/de/deadlocker8/budgetmaster/icon/Iconizable.java @@ -31,5 +31,5 @@ public interface Iconizable extends ProvidesID this.setIconReference(icon); } - String getFontColor(); + String getFontColor(boolean isDarkTheme); } diff --git a/src/main/java/de/deadlocker8/budgetmaster/templates/Template.java b/src/main/java/de/deadlocker8/budgetmaster/templates/Template.java index 3a12aacf8..07e532d79 100644 --- a/src/main/java/de/deadlocker8/budgetmaster/templates/Template.java +++ b/src/main/java/de/deadlocker8/budgetmaster/templates/Template.java @@ -18,6 +18,9 @@ import java.util.Objects; @Entity public class Template implements TransactionBase, Iconizable { + private static final String FONT_COLOR_LIGHT_THEME = "#212121"; + private static final String FONT_COLOR_DARK_THEME = "#FFFFFF"; + @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Expose @@ -213,23 +216,34 @@ public class Template implements TransactionBase, Iconizable } @Override - public String getFontColor() + public String getFontColor(boolean isDarkTheme) { final Icon icon = getIconReference(); if(icon == null) { - return "#FFFFFF"; + return getAppropriateTextColor(isDarkTheme); } final String fontColor = icon.getFontColor(); if(fontColor == null) { - return "#FFFFFF"; + return getAppropriateTextColor(isDarkTheme); } return fontColor; } + private String getAppropriateTextColor(boolean isDarkTheme) + { + if(isDarkTheme) + { + return FONT_COLOR_DARK_THEME; + } + + return FONT_COLOR_LIGHT_THEME; + } + + public List<Tag> getTags() { return tags; diff --git a/src/main/resources/templates/categories/categoriesFunctions.ftl b/src/main/resources/templates/categories/categoriesFunctions.ftl index f112cda01..421115707 100644 --- a/src/main/resources/templates/categories/categoriesFunctions.ftl +++ b/src/main/resources/templates/categories/categoriesFunctions.ftl @@ -23,7 +23,7 @@ </#if> <div class="category-circle ${classes} <#if settings.getShowCategoriesAsCircles()?? && settings.getShowCategoriesAsCircles() == false>category-square</#if>" style="background-color: ${category.color}" <#if datasetValue>data-value="${category.getID()}"</#if>> - <span style="color: ${category.getFontColor()}"> + <span style="color: ${category.getFontColor(settings.isUseDarkTheme())}"> <@header.entityIcon entity=category classes="category-icon" fallbackName=categoryName/> </span> </div> diff --git a/src/main/resources/templates/helpers/customSelectMacros.ftl b/src/main/resources/templates/helpers/customSelectMacros.ftl index 9e9478618..c76bd7765 100644 --- a/src/main/resources/templates/helpers/customSelectMacros.ftl +++ b/src/main/resources/templates/helpers/customSelectMacros.ftl @@ -164,7 +164,7 @@ <#macro accountIcon account accountName classes="" datasetValue=""> <div class="category-circle ${classes} category-square <#if account.getIconReference()?? && account.getIconReference().isFallbackIcon()>account-square-border</#if>" <#if datasetValue?has_content>data-value="${account.getID()}"</#if>> - <span style="color: ${account.getFontColor()}"> + <span style="color: ${account.getFontColor(settings.isUseDarkTheme())}"> <@header.entityIcon entity=account classes="account-select-icon" fallbackName=accountName/> </span> </div> diff --git a/src/main/resources/templates/helpers/fontColorPicker.ftl b/src/main/resources/templates/helpers/fontColorPicker.ftl index c995ee4b1..73af8584b 100644 --- a/src/main/resources/templates/helpers/fontColorPicker.ftl +++ b/src/main/resources/templates/helpers/fontColorPicker.ftl @@ -1,7 +1,7 @@ <#import "../helpers/header.ftl" as header> <#macro fontColorPicker item> - <input type="hidden" name="fontColor" id="fontColor" value="${item.getFontColor()}"> + <input type="hidden" name="fontColor" id="fontColor" value="${item.getFontColor(settings.isUseDarkTheme())}"> <div class="row"> <div class="input-field col s12 m12 l8 offset-l2"> @@ -12,7 +12,7 @@ <@header.buttonLink url='' icon='auto_fix_high' id='buttonFontColorAuto' localizationKey='account.new.icon.fontcolor.clear' noUrl=true/> <div id="fontColorPickerContainer" class="valign-wrapper"> - <div id="fontColorPicker" style="background-color: ${item.getFontColor()}"></div> + <div id="fontColorPicker" style="background-color: ${item.getFontColor(settings.isUseDarkTheme())}"></div> </div> </div> </div> diff --git a/src/main/resources/templates/helpers/iconSelect.ftl b/src/main/resources/templates/helpers/iconSelect.ftl index f29f9dd2c..db0caf5d6 100644 --- a/src/main/resources/templates/helpers/iconSelect.ftl +++ b/src/main/resources/templates/helpers/iconSelect.ftl @@ -12,7 +12,7 @@ <div id="${id}" class="valign-wrapper item-icon"> <div class="item-icon-preview-container"> - <a id="item-icon-preview" style="color: <#if item.getFontColor()??>${item.getFontColor()}</#if>"> + <a id="item-icon-preview" style="color: <#if item.getFontColor(settings.isUseDarkTheme())??>${item.getFontColor(settings.isUseDarkTheme())}</#if>"> <script>iconSelectAdditionalBackgroundClasses = "${backgroundClasses}";</script> <div id="item-icon-preview-background" class="category-circle category-circle-preview <#if settings.getShowCategoriesAsCircles()?? && settings.getShowCategoriesAsCircles() == false>category-square</#if> ${initialBackgroundClasses}" style="background-color: <#if showBackground>${item.getColor()}</#if>"> <i id="builtin-icon-preview-icon" class="<#if hasBuiltinIcon>${item.getIconReference().getBuiltinIdentifier()}<#else>hidden</#if>"></i> diff --git a/src/main/resources/templates/templates/templateFunctions.ftl b/src/main/resources/templates/templates/templateFunctions.ftl index ca147ab11..06b3b71f1 100644 --- a/src/main/resources/templates/templates/templateFunctions.ftl +++ b/src/main/resources/templates/templates/templateFunctions.ftl @@ -98,7 +98,7 @@ <#macro templateHeader template> - <span style="color: ${template.getFontColor()}"> + <span style="color: ${template.getFontColor(settings.isUseDarkTheme())}"> <#if template.getIconReference()?? && (template.getIconReference().isImageIcon() || template.getIconReference().isBuiltinIcon())> <@header.entityIcon entity=template classes="template-icon"/> <#elseif template.getTransferAccount()??> -- GitLab