about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--templates/src/mf2.rs43
1 files changed, 16 insertions, 27 deletions
diff --git a/templates/src/mf2.rs b/templates/src/mf2.rs
index 2c41de9..0b33f9f 100644
--- a/templates/src/mf2.rs
+++ b/templates/src/mf2.rs
@@ -46,7 +46,7 @@ markup::define! {
                         @author["properties"]["name"][0].as_str().unwrap()
                     }
                 }
-                @if let Some(likeof) = post["properties"]["like-of"][0].as_str() {
+                @if post["properties"].as_object().unwrap().contains_key("like-of") {
                     " "
                     span."like-icon"["aria-label"="liked"] {
                         span."like-icon-label"["aria-hidden"="true"] {
@@ -54,42 +54,31 @@ markup::define! {
                         }
                     }
                     " "
-                    a."u-like-of"[href=likeof] { @likeof }
-                } else if let Some(likeof) = post["properties"]["like-of"][0].as_object() {
-                    " "
-                    span."like-icon"["aria-label"="liked"] {
-                        span."like-icon-label"["aria-hidden"="true"] {
-                            "❤️"
-                        }
-                    }
-                    " "
-                    a."u-like-of"[href=likeof["properties"]["url"][0].as_str().unwrap()] {
-                        @likeof["properties"]["name"][0]
+                    @if let Some(likeof) = post["properties"]["like-of"][0].as_str() {
+                        a."u-like-of"[href=likeof] { @likeof }
+                    } else if let Some(likeof) = post["properties"]["like-of"][0].as_object() {
+                        a."u-like-of"[href=likeof["properties"]["url"][0].as_str().unwrap()] {
+                            @likeof["properties"]["name"][0]
                             .as_str()
                             .unwrap_or_else(|| likeof["properties"]["url"][0].as_str().unwrap())
-                    }
-                }
-                @if let Some(bookmarkof) = post["properties"]["bookmark-of"][0].as_str() {
-                    " "
-                    span."like-icon"["aria-label"="bookmarked"] {
-                        span."bookmark-icon-label"["aria-hidden"="true"] {
-                            "🔖"
                         }
                     }
+                } else if post["properties"].as_object().unwrap().contains_key("bookmark-of") {
                     " "
-                    a."u-bookmark-of"[href=bookmarkof] { @bookmarkof }
-                } else if let Some(bookmarkof) = post["properties"]["bookmark-of"][0].as_object() {
-                    " "
-                    span."like-icon"["aria-label"="bookmarked"] {
+                    span."bookmark-icon"["aria-label"="bookmarked"] {
                         span."bookmark-icon-label"["aria-hidden"="true"] {
                             "🔖"
                         }
                     }
                     " "
-                    a."u-bookmark-of"[href=bookmarkof["properties"]["url"][0].as_str().unwrap()] {
-                        @bookmarkof["properties"]["name"][0]
-                            .as_str()
-                            .unwrap_or_else(|| bookmarkof["properties"]["url"][0].as_str().unwrap())
+                    @if let Some(bookmarkof) = post["properties"]["bookmark-of"][0].as_str() {
+                        a."u-bookmark-of"[href=bookmarkof] { @bookmarkof }
+                    } else if let Some(bookmarkof) = post["properties"]["bookmark-of"][0].as_object() {
+                        a."u-bookmark-of"[href=bookmarkof["properties"]["url"][0].as_str().unwrap()] {
+                            @bookmarkof["properties"]["name"][0]
+                                .as_str()
+                                .unwrap_or_else(|| bookmarkof["properties"]["url"][0].as_str().unwrap())
+                        }
                     }
                 }
                 " "