summaryrefslogtreecommitdiffstats
path: root/ui/src/conf/themes.rs
diff options
context:
space:
mode:
Diffstat (limited to 'ui/src/conf/themes.rs')
-rw-r--r--ui/src/conf/themes.rs8
1 files changed, 6 insertions, 2 deletions
diff --git a/ui/src/conf/themes.rs b/ui/src/conf/themes.rs
index 60794bc6..9a113689 100644
--- a/ui/src/conf/themes.rs
+++ b/ui/src/conf/themes.rs
@@ -232,8 +232,12 @@ impl<'de> Deserialize<'de> for ThemeValue<Attr> {
where
D: Deserializer<'de>,
{
- if let Ok(s) = <Attr>::deserialize(deserializer) {
- Ok(ThemeValue::Value(s))
+ if let Ok(s) = <String>::deserialize(deserializer) {
+ if let Ok(c) = Attr::from_string_de::<'de, D>(s.clone()) {
+ Ok(ThemeValue::Value(c))
+ } else {
+ Ok(ThemeValue::Link(s.into()))
+ }
} else {
Err(de::Error::custom("invalid theme attribute value"))
}