diff --git a/crates/app/src/public/html/communities/members.html b/crates/app/src/public/html/communities/members.html index cd88993..bcbbac1 100644 --- a/crates/app/src/public/html/communities/members.html +++ b/crates/app/src/public/html/communities/members.html @@ -8,6 +8,17 @@
+ {% if page == 0 %} +
+
+ {{ icon "crown" }} + Owner +
+ + {{ components::user_card(user=owner) }} +
+ {% endif %} + {% for item in list %}
diff --git a/crates/app/src/routes/pages/communities.rs b/crates/app/src/routes/pages/communities.rs index b9e5026..934db0a 100644 --- a/crates/app/src/routes/pages/communities.rs +++ b/crates/app/src/routes/pages/communities.rs @@ -464,6 +464,12 @@ pub async fn members_request( Err(e) => return Err(Html(render_error(e, &jar, &data, &user).await)), }; + // get community owner + let owner = match data.0.get_user_by_id(community.owner).await { + Ok(ua) => ua, + Err(e) => return Err(Html(render_error(e, &jar, &data, &user).await)), + }; + // init context let lang = get_lang!(jar, data.0); let mut context = initial_context(&data.0.0, lang, &user).await; @@ -480,6 +486,7 @@ pub async fn members_request( context.insert("list", &list); context.insert("page", &props.page); + context.insert("owner", &owner); community_context( &mut context, &community, diff --git a/crates/core/src/database/posts.rs b/crates/core/src/database/posts.rs index f8ee3ec..17e97d8 100644 --- a/crates/core/src/database/posts.rs +++ b/crates/core/src/database/posts.rs @@ -144,7 +144,7 @@ impl DataManager { let res = query_rows!( &conn, - "SELECT * FROM posts WHERE owner = $1 AND NOT context LIKE '%\"is_profile_pinned\":true%' AND NOT context LIKE '%\"is_nsfw\":true%' ORDER BY created DESC LIMIT $2 OFFSET $3", + "SELECT * FROM posts WHERE owner = $1 AND replying_to = 0 AND NOT context LIKE '%\"is_profile_pinned\":true%' AND NOT context LIKE '%\"is_nsfw\":true%' ORDER BY created DESC LIMIT $2 OFFSET $3", &[&(id as i64), &(batch as i64), &((page * batch) as i64)], |x| { Self::get_post_from_row(x) } );