summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorColin Reeder <colin@vpzom.click>2020-07-19 09:49:44 -0600
committerColin Reeder <colin@vpzom.click>2020-07-19 09:49:44 -0600
commit371a0e8aded22869ad1ec352125a81f121150fb8 (patch)
treee37c7316300e3f630076601ececd33ac33e7b20f
parent296ae699a3cd65000e4fdb10198807e4485e5682 (diff)
Add link to source for remote actors
-rw-r--r--res/main.css11
-rw-r--r--src/resp_types.rs2
-rw-r--r--src/routes/communities.rs16
-rw-r--r--src/routes/mod.rs15
4 files changed, 41 insertions, 3 deletions
diff --git a/res/main.css b/res/main.css
index 7a32928..a772c88 100644
--- a/res/main.css
+++ b/res/main.css
@@ -29,14 +29,21 @@ body {
margin-right: 1em;
}
-.errorBox {
- background-color: #FF6D00;
+.errorBox, .infoBox {
padding: .5em;
display: inline-block;
margin-top: .5em;
margin-bottom: .5em;
}
+.errorBox {
+ background-color: #FF6D00;
+}
+
+.infoBox {
+ background-color: #80D8FF;
+}
+
.communitySidebar {
float: right;
width: 300px;
diff --git a/src/resp_types.rs b/src/resp_types.rs
index c2d91f3..e24b303 100644
--- a/src/resp_types.rs
+++ b/src/resp_types.rs
@@ -7,6 +7,7 @@ pub struct RespMinimalAuthorInfo<'a> {
pub username: Cow<'a, str>,
pub local: bool,
pub host: Cow<'a, str>,
+ pub remote_url: Option<Cow<'a, str>>,
}
#[derive(Deserialize, Debug)]
@@ -92,6 +93,7 @@ pub struct RespMinimalCommunityInfo<'a> {
pub name: Cow<'a, str>,
pub local: bool,
pub host: Cow<'a, str>,
+ pub remote_url: Option<Cow<'a, str>>,
}
#[derive(Deserialize, Debug)]
diff --git a/src/routes/communities.rs b/src/routes/communities.rs
index 6e29f6d..e4b1f13 100644
--- a/src/routes/communities.rs
+++ b/src/routes/communities.rs
@@ -144,7 +144,21 @@ async fn page_community(
<HTPage base_data={&base_data} title>
<div class={"communitySidebar"}>
<h2>{title}</h2>
- <em>{format!("@{}@{}", community_info.as_ref().name, community_info.as_ref().host)}</em>
+ <div><em>{format!("@{}@{}", community_info.as_ref().name, community_info.as_ref().host)}</em></div>
+ {
+ if community_info.as_ref().local {
+ None
+ } else if let Some(remote_url) = &community_info.as_ref().remote_url {
+ Some(render::rsx! {
+ <div class={"infoBox"}>
+ {"This is a remote community, information on this page may be incomplete. "}
+ <a href={remote_url.as_ref()}>{"View at Source ↗"}</a>
+ </div>
+ })
+ } else {
+ None // shouldn't ever happen
+ }
+ }
<p>
{
if base_data.login.is_some() {
diff --git a/src/routes/mod.rs b/src/routes/mod.rs
index e046830..6a38e2c 100644
--- a/src/routes/mod.rs
+++ b/src/routes/mod.rs
@@ -933,6 +933,21 @@ async fn page_user(
Ok(html_response(render::html! {
<HTPage base_data={&base_data} title>
<h1>{title}</h1>
+ <div><em>{format!("@{}@{}", user.as_ref().username, user.as_ref().host)}</em></div>
+ {
+ if user.as_ref().local {
+ None
+ } else if let Some(remote_url) = &user.as_ref().remote_url {
+ Some(render::rsx! {
+ <div class={"infoBox"}>
+ {"This is a remote user, information on this page may be incomplete. "}
+ <a href={remote_url.as_ref()}>{"View at Source ↗"}</a>
+ </div>
+ })
+ } else {
+ None // shouldn't ever happen
+ }
+ }
{
if let Some(login) = &base_data.login {
if login.user.id == user_id {