summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorColin Reeder <colin@vpzom.click>2020-07-18 22:50:21 -0600
committerColin Reeder <colin@vpzom.click>2020-07-18 22:50:21 -0600
commit03eaa82c7a6f22524685f5ddbc72d86288df428e (patch)
tree2418e9794eb11a65d0b65ca4b1ac4c057d9fcb62 /src
parent28633d8f51a34ab43890d7636f1d2da0c44b4868 (diff)
Show time of posts
Diffstat (limited to 'src')
-rw-r--r--src/components/mod.rs9
-rw-r--r--src/routes/posts.rs5
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>
{