From 276f25a4968ed6ca7480d7a633f391d9c46f09bf Mon Sep 17 00:00:00 2001 From: trisua Date: Wed, 23 Apr 2025 16:46:13 -0400 Subject: [PATCH] add: reposts/quotes pages add: repost notification --- crates/app/src/assets.rs | 10 +- crates/app/src/langs/en-US.toml | 2 + crates/app/src/public/html/components.html | 5 +- .../html/{communities => post}/post.html | 23 ++- crates/app/src/public/html/post/quotes.html | 67 ++++++++ crates/app/src/public/html/post/reposts.html | 86 ++++++++++ .../app/src/public/html/profile/settings.html | 16 +- crates/app/src/routes/pages/communities.rs | 161 +++++++++++++++++- crates/app/src/routes/pages/misc.rs | 93 +++++++--- crates/app/src/routes/pages/mod.rs | 9 + crates/app/src/routes/pages/profile.rs | 18 +- crates/core/src/database/posts.rs | 110 +++++++++++- crates/core/src/database/questions.rs | 10 +- crates/core/src/database/requests.rs | 3 +- crates/core/src/database/userblocks.rs | 31 +++- crates/core/src/model/auth.rs | 3 + crates/core/src/model/communities.rs | 4 +- 17 files changed, 601 insertions(+), 50 deletions(-) rename crates/app/src/public/html/{communities => post}/post.html (94%) create mode 100644 crates/app/src/public/html/post/quotes.html create mode 100644 crates/app/src/public/html/post/reposts.html diff --git a/crates/app/src/assets.rs b/crates/app/src/assets.rs index 8a2237b..977aa10 100644 --- a/crates/app/src/assets.rs +++ b/crates/app/src/assets.rs @@ -52,7 +52,6 @@ pub const PROFILE_PRIVATE: &str = include_str!("./public/html/profile/private.ht pub const COMMUNITIES_LIST: &str = include_str!("./public/html/communities/list.html"); pub const COMMUNITIES_BASE: &str = include_str!("./public/html/communities/base.html"); pub const COMMUNITIES_FEED: &str = include_str!("./public/html/communities/feed.html"); -pub const COMMUNITIES_POST: &str = include_str!("./public/html/communities/post.html"); pub const COMMUNITIES_SETTINGS: &str = include_str!("./public/html/communities/settings.html"); pub const COMMUNITIES_MEMBERS: &str = include_str!("./public/html/communities/members.html"); pub const COMMUNITIES_SEARCH: &str = include_str!("./public/html/communities/search.html"); @@ -61,6 +60,10 @@ pub const COMMUNITIES_CREATE_POST: &str = pub const COMMUNITIES_QUESTION: &str = include_str!("./public/html/communities/question.html"); pub const COMMUNITIES_QUESTIONS: &str = include_str!("./public/html/communities/questions.html"); +pub const POST_POST: &str = include_str!("./public/html/post/post.html"); +pub const POST_REPOSTS: &str = include_str!("./public/html/post/reposts.html"); +pub const POST_QUOTES: &str = include_str!("./public/html/post/quotes.html"); + pub const TIMELINES_HOME: &str = include_str!("./public/html/timelines/home.html"); pub const TIMELINES_POPULAR: &str = include_str!("./public/html/timelines/popular.html"); pub const TIMELINES_FOLLOWING: &str = include_str!("./public/html/timelines/following.html"); @@ -198,7 +201,6 @@ pub(crate) async fn write_assets(config: &Config) -> PathBufD { write_template!(html_path->"communities/list.html"(crate::assets::COMMUNITIES_LIST) -d "communities" --config=config); write_template!(html_path->"communities/base.html"(crate::assets::COMMUNITIES_BASE) --config=config); write_template!(html_path->"communities/feed.html"(crate::assets::COMMUNITIES_FEED) --config=config); - write_template!(html_path->"communities/post.html"(crate::assets::COMMUNITIES_POST) --config=config); write_template!(html_path->"communities/settings.html"(crate::assets::COMMUNITIES_SETTINGS) --config=config); write_template!(html_path->"communities/members.html"(crate::assets::COMMUNITIES_MEMBERS) --config=config); write_template!(html_path->"communities/search.html"(crate::assets::COMMUNITIES_SEARCH) --config=config); @@ -206,6 +208,10 @@ pub(crate) async fn write_assets(config: &Config) -> PathBufD { write_template!(html_path->"communities/question.html"(crate::assets::COMMUNITIES_QUESTION) --config=config); write_template!(html_path->"communities/questions.html"(crate::assets::COMMUNITIES_QUESTIONS) --config=config); + write_template!(html_path->"post/post.html"(crate::assets::POST_POST) -d "post" --config=config); + write_template!(html_path->"post/reposts.html"(crate::assets::POST_REPOSTS) --config=config); + write_template!(html_path->"post/quotes.html"(crate::assets::POST_QUOTES) --config=config); + write_template!(html_path->"timelines/home.html"(crate::assets::TIMELINES_HOME) -d "timelines" --config=config); write_template!(html_path->"timelines/popular.html"(crate::assets::TIMELINES_POPULAR) --config=config); write_template!(html_path->"timelines/following.html"(crate::assets::TIMELINES_FOLLOWING) --config=config); diff --git a/crates/app/src/langs/en-US.toml b/crates/app/src/langs/en-US.toml index cd6fb41..a510c92 100644 --- a/crates/app/src/langs/en-US.toml +++ b/crates/app/src/langs/en-US.toml @@ -77,6 +77,8 @@ version = "1.0.0" "communities:label.might_need_to_join" = "You might need to join this community in order to interact with it!" "communities:label.create_reply" = "Create reply" "communities:label.replies" = "Replies" +"communities:label.reposts" = "Reposts" +"communities:label.quotes" = "Quotes" "communities:action.continue_thread" = "Continue thread" "communities:tab.members" = "Members" "communities:label.select_member" = "Select member" diff --git a/crates/app/src/public/html/components.html b/crates/app/src/public/html/components.html index 98a0109..5c8b1a3 100644 --- a/crates/app/src/public/html/components.html +++ b/crates/app/src/public/html/components.html @@ -79,6 +79,7 @@ secondary=false) -%} {% endif %} +{% if not user or not user.settings.hide_dislikes %} -{%- endmacro %} {% macro full_username(user) -%} -
+{% endif %} {%- endmacro %} {% macro full_username(user) -%} +
{{ components::username(user=user) }} diff --git a/crates/app/src/public/html/communities/post.html b/crates/app/src/public/html/post/post.html similarity index 94% rename from crates/app/src/public/html/communities/post.html rename to crates/app/src/public/html/post/post.html index 884c115..d6fbd86 100644 --- a/crates/app/src/public/html/communities/post.html +++ b/crates/app/src/public/html/post/post.html @@ -48,24 +48,35 @@
- {% endif %} {% if user and user.id == post.owner or can_manage_posts %} + {% endif %} - {% if user.id == post.owner %} + {% if user and user.id == post.owner %}