yggdrasil/components/post/
post_footer.rs1use dioxus::prelude::*;
5use dioxus::router::components::Link;
6
7use crate::components::post::post_nav_links::PostNavLinks;
8use crate::models::post::Post;
9use crate::router::Route;
10
11#[component]
24pub fn PostFooter(post: Post, #[props(default = false)] full_reload: bool) -> Element {
25 let tag_to = |tag: &str| {
26 super::nav_target(
27 Route::TagDetail {
28 tag: tag.to_string(),
29 },
30 full_reload,
31 )
32 };
33 rsx! {
34 footer { class: "post-footer",
35 if !post.tags.is_empty() {
36 ul { class: "post-tags",
37 for tag in &post.tags {
38 li { key: "{tag}",
39 Link {
40 to: tag_to(tag),
41 "{tag}"
42 }
43 }
44 }
45 }
46 }
47
48 if post.prev_post.is_some() || post.next_post.is_some() {
49 PostNavLinks { prev: post.prev_post, next: post.next_post, full_reload }
50 }
51 }
52 }
53}