diff options
author | Colin Reeder <colin@vpzom.click> | 2020-07-18 22:50:21 -0600 |
---|---|---|
committer | Colin Reeder <colin@vpzom.click> | 2020-07-18 22:50:21 -0600 |
commit | 03eaa82c7a6f22524685f5ddbc72d86288df428e (patch) | |
tree | 2418e9794eb11a65d0b65ca4b1ac4c057d9fcb62 /src | |
parent | 28633d8f51a34ab43890d7636f1d2da0c44b4868 (diff) |
Show time of posts
Diffstat (limited to 'src')
-rw-r--r-- | src/components/mod.rs | 9 | ||||
-rw-r--r-- | src/routes/posts.rs | 5 |
2 files changed, 12 insertions, 2 deletions
diff --git a/src/components/mod.rs b/src/components/mod.rs index fe83441..a3986b5 100644 --- a/src/components/mod.rs +++ b/src/components/mod.rs @@ -396,3 +396,12 @@ pub fn BoolSubmitButton<'a>(value: bool, do_text: &'a str, done_text: &'a str) { } } } + +#[render::component] +pub fn TimeAgo(since: chrono::DateTime<chrono::offset::FixedOffset>) { + let since_str = since.to_rfc3339(); + let text = timeago::Formatter::new().convert_chrono(since, chrono::offset::Utc::now()); + render::rsx! { + <span title={since_str}>{text}</span> + } +} diff --git a/src/routes/posts.rs b/src/routes/posts.rs index df64c02..2c414e2 100644 --- a/src/routes/posts.rs +++ b/src/routes/posts.rs @@ -2,7 +2,7 @@ use super::{ fetch_base_data, get_cookie_map_for_headers, get_cookie_map_for_req, html_response, res_to_error, with_auth, }; -use crate::components::{Comment, CommunityLink, Content, HTPage, UserLink}; +use crate::components::{Comment, CommunityLink, Content, HTPage, TimeAgo, UserLink}; use crate::resp_types::RespPostInfo; use crate::util::author_is_me; use std::sync::Arc; @@ -70,7 +70,8 @@ async fn page_post( } </p> <p> - {"Submitted by "}<UserLink user={post.as_ref().author.as_ref()} /> + {"Submitted "}<TimeAgo since={chrono::DateTime::parse_from_rfc3339(&post.as_ref().created)?} /> + {" by "}<UserLink user={post.as_ref().author.as_ref()} /> {" to "}<CommunityLink community={&post.as_ref().community} /> </p> { |