diff --git a/src/main/java/de/deadlocker8/budgetmaster/accounts/Account.java b/src/main/java/de/deadlocker8/budgetmaster/accounts/Account.java index 725825a31ffbfec5008730e1d3573feccc94b110..768786ea48295503bfe338f32cb04b24bff85c79 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 1757a93787fe010f0ce416c0e19ba796e7179b9a..97818717dbc197470cb0d390bbcd0bd569c5de7b 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 defb1b34799376a54a788c83fd74e11b122b1c1f..e0daf1b24ce7e0104f890ed2c220942031ef87ab 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 3a12aacf800e49f59cded14a3eeac17f9f3aa9dd..07e532d7980eebd992d077d7c8469a65546901a9 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 f112cda010041999326e5c0d49d10638a30a8b16..4211157076ce84bbf96bec79013cbdbf0ede86a4 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 9e9478618d6e2f9a619ce188338bcf97100ba9fe..c76bd77653ab3da3626a541c135c22eee3244c05 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 c995ee4b1bcf8ee6da96c7bd87910224510783d4..73af8584bd0d8ec57542ad208289df99fdb0d87d 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 f29f9dd2cec5290f2541f5dbbc0f259389f1b46b..db0caf5d670647315471f9d2ca8991b20293d273 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 ca147ab11e7ffb4cfa60a8105740c483684421d3..06b3b71f1eb1c834ce62401a9ea0896edebf2391 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()??>