diff --git a/src/main/java/run/halo/app/handler/theme/config/impl/YamlThemeConfigResolverImpl.java b/src/main/java/run/halo/app/handler/theme/config/impl/YamlThemeConfigResolverImpl.java index 77c2d5c56..aed539068 100644 --- a/src/main/java/run/halo/app/handler/theme/config/impl/YamlThemeConfigResolverImpl.java +++ b/src/main/java/run/halo/app/handler/theme/config/impl/YamlThemeConfigResolverImpl.java @@ -113,8 +113,8 @@ public class YamlThemeConfigResolverImpl implements ThemeConfigResolver { item.setName(itemMap.get("name").toString()); item.setLabel(itemMap.getOrDefault("label", item.getName()).toString()); Object dataType = itemMap.getOrDefault("data-type", itemMap.get("dataType")); - item.setDataType(DataType.typeOf(dataType)); item.setType(InputType.typeOf(itemMap.get("type"))); + item.setDataType(item.getType().equals(InputType.SWITCH) ? DataType.BOOL : DataType.typeOf(dataType)); item.setDefaultValue(itemMap.get("default")); item.setPlaceholder(itemMap.getOrDefault("placeholder", "").toString()); item.setDescription(itemMap.getOrDefault("description", "").toString()); @@ -140,8 +140,8 @@ public class YamlThemeConfigResolverImpl implements ThemeConfigResolver { item.setName(key.toString()); item.setLabel(itemMap.getOrDefault("label", item.getName()).toString()); Object dataType = itemMap.getOrDefault("data-type", itemMap.get("dataType")); - item.setDataType(DataType.typeOf(dataType)); item.setType(InputType.typeOf(itemMap.get("type"))); + item.setDataType(item.getType().equals(InputType.SWITCH) ? DataType.BOOL : DataType.typeOf(dataType)); item.setDefaultValue(itemMap.get("default")); item.setPlaceholder(itemMap.getOrDefault("placeholder", "").toString()); item.setDescription(itemMap.getOrDefault("description", "").toString()); diff --git a/src/main/java/run/halo/app/model/enums/InputType.java b/src/main/java/run/halo/app/model/enums/InputType.java index b2640b3fc..7b4c6f502 100644 --- a/src/main/java/run/halo/app/model/enums/InputType.java +++ b/src/main/java/run/halo/app/model/enums/InputType.java @@ -44,7 +44,12 @@ public enum InputType { /** * Attachment picker input type */ - ATTACHMENT; + ATTACHMENT, + + /** + * Switch input type, only true or false + */ + SWITCH; /** * Convert type to input type.