From a0726c5903266be4ec3bba54db982d32bf2db27a Mon Sep 17 00:00:00 2001 From: gmnsii Date: Thu, 23 Mar 2023 11:09:33 -0700 Subject: [PATCH] Change the bypass message and format code The bypass message now indicates that the bypass is only temporary. --- build.rs | 4 +--- src/duplicates.rs | 5 ++--- src/post.rs | 3 +-- src/subreddit.rs | 3 +-- src/user.rs | 2 +- src/utils.rs | 10 +++++----- templates/nsfwlanding.html | 2 +- 7 files changed, 12 insertions(+), 17 deletions(-) diff --git a/build.rs b/build.rs index 3ee44a4..26b1ed9 100644 --- a/build.rs +++ b/build.rs @@ -1,6 +1,4 @@ -use std::{ - process::{Command, ExitStatus, Output}, -}; +use std::process::{Command, ExitStatus, Output}; #[cfg(not(target_os = "windows"))] use std::os::unix::process::ExitStatusExt; diff --git a/src/duplicates.rs b/src/duplicates.rs index 6810367..b099acf 100644 --- a/src/duplicates.rs +++ b/src/duplicates.rs @@ -67,12 +67,12 @@ pub async fn item(req: Request) -> Result, String> { Ok(response) => { let post = parse_post(&response[0]["data"]["children"][0]).await; - let req_url = req.uri().to_string(); + let req_url = req.uri().to_string(); // Return landing page if this post if this Reddit deems this post // NSFW, but we have also disabled the display of NSFW content // or if the instance is SFW-only if post.nsfw && crate::utils::should_be_nsfw_gated(&req, &req_url) { - return Ok(nsfw_landing(req, req_url).await.unwrap_or_default()); + return Ok(nsfw_landing(req, req_url).await.unwrap_or_default()); } let filters = get_filters(&req); @@ -234,4 +234,3 @@ async fn parse_duplicates(json: &serde_json::Value, filters: &HashSet) - let (num_posts_filtered, all_posts_filtered) = filter_posts(&mut duplicates, filters); (duplicates, num_posts_filtered, all_posts_filtered) } - diff --git a/src/post.rs b/src/post.rs index 3cdf171..8644284 100644 --- a/src/post.rs +++ b/src/post.rs @@ -56,7 +56,7 @@ pub async fn item(req: Request) -> Result, String> { // Parse the JSON into Post and Comment structs let post = parse_post(&response[0]["data"]["children"][0]).await; - let req_url = req.uri().to_string(); + let req_url = req.uri().to_string(); // Return landing page if this post if this Reddit deems this post // NSFW, but we have also disabled the display of NSFW content // or if the instance is SFW-only. @@ -190,4 +190,3 @@ fn parse_comments(json: &serde_json::Value, post_link: &str, post_author: &str, }) .collect() } - diff --git a/src/subreddit.rs b/src/subreddit.rs index 59382c6..ee57ea5 100644 --- a/src/subreddit.rs +++ b/src/subreddit.rs @@ -97,7 +97,7 @@ pub async fn community(req: Request) -> Result, String> { } }; - let req_url = req.uri().to_string(); + let req_url = req.uri().to_string(); // Return landing page if this post if this is NSFW community but the user // has disabled the display of NSFW content or if the instance is SFW-only. if sub.nsfw && crate::utils::should_be_nsfw_gated(&req, &req_url) { @@ -434,4 +434,3 @@ async fn subreddit(sub: &str, quarantined: bool) -> Result { nsfw: res["data"]["over18"].as_bool().unwrap_or_default(), }) } - diff --git a/src/user.rs b/src/user.rs index 9c1b166..efa70a9 100644 --- a/src/user.rs +++ b/src/user.rs @@ -50,7 +50,7 @@ pub async fn profile(req: Request) -> Result, String> { // Retrieve info from user about page. let user = user(&username).await.unwrap_or_default(); - let req_url = req.uri().to_string(); + let req_url = req.uri().to_string(); // Return landing page if this post if this Reddit deems this user NSFW, // but we have also disabled the display of NSFW content or if the instance // is SFW-only. diff --git a/src/utils.rs b/src/utils.rs index 9d68dc7..3290eab 100644 --- a/src/utils.rs +++ b/src/utils.rs @@ -895,13 +895,13 @@ pub fn sfw_only() -> bool { // Determines if a request shoud redirect to a nsfw landing gate. pub fn should_be_nsfw_gated(req: &Request, req_url: &String) -> bool { - let sfw_instance = sfw_only(); - let gate_nsfw = (setting(&req, "show_nsfw") != "on") || sfw_instance; + let sfw_instance = sfw_only(); + let gate_nsfw = (setting(&req, "show_nsfw") != "on") || sfw_instance; - // Nsfw landing gate should not be bypassed on a sfw only instance, - let bypass_gate = !sfw_instance && req_url.ends_with("&bypass_nsfw_landing"); + // Nsfw landing gate should not be bypassed on a sfw only instance, + let bypass_gate = !sfw_instance && req_url.ends_with("&bypass_nsfw_landing"); - gate_nsfw && !bypass_gate + gate_nsfw && !bypass_gate } /// Renders the landing page for NSFW content when the user has not enabled diff --git a/templates/nsfwlanding.html b/templates/nsfwlanding.html index b499389..4dc8c86 100644 --- a/templates/nsfwlanding.html +++ b/templates/nsfwlanding.html @@ -20,7 +20,7 @@ This instance of Libreddit is SFW-only.

{% else %} Enable "Show NSFW posts" in settings to view this {% if res_type == crate::utils::ResourceType::Subreddit %}subreddit{% else if res_type == crate::utils::ResourceType::User %}user's posts or comments{% else if res_type == crate::utils::ResourceType::Post %}post{% endif %}.
- {% if res_type == crate::utils::ResourceType::Post %} You can also bypass this gate by clicking on this link.{% endif %} + {% if res_type == crate::utils::ResourceType::Post %} You can also temporarily bypass this gate and view the post by clicking on this link.{% endif %} {% endif %}