diff --git a/src/main.rs b/src/main.rs index c8115626..678ad385 100644 --- a/src/main.rs +++ b/src/main.rs @@ -73,13 +73,13 @@ async fn main() { templates: Templates { verify: Template { title: "Verify your Revolt account.".into(), - text: include_str!("../assets/templates/verify.txt").into(), + text: include_str!(crate::asset!("templates/verify.txt")).into(), url: format!("{}/login/verify/", *APP_URL), html: None, }, reset: Template { title: "Reset your Revolt password.".into(), - text: include_str!("../assets/templates/reset.txt").into(), + text: include_str!(crate::asset!("templates/reset.txt")).into(), url: format!("{}/login/reset/", *APP_URL), html: None, }, @@ -139,3 +139,12 @@ async fn main() { .await .unwrap(); } + +/// Resolve asset +macro_rules! asset { + ($path:literal) => { + concat!(env!("CARGO_MANIFEST_DIR"), "/assets/", $path) + }; +} + +pub(crate) use asset; diff --git a/src/routes/users/get_default_avatar.rs b/src/routes/users/get_default_avatar.rs index 8ec688bf..0ac63108 100644 --- a/src/routes/users/get_default_avatar.rs +++ b/src/routes/users/get_default_avatar.rs @@ -62,15 +62,15 @@ pub async fn req(target: String) -> CachedFile { match target.chars().last().unwrap() { // 0123456789ABCDEFGHJKMNPQRSTVWXYZ '0' | '1' | '2' | '3' | 'S' | 'Z' => { - include_bytes!("../../../assets/user/2.png").to_vec() + include_bytes!(crate::asset!("user/2.png")).to_vec() } - '4' | '5' | '6' | '7' | 'T' => include_bytes!("../../../assets/user/3.png").to_vec(), - '8' | '9' | 'A' | 'B' => include_bytes!("../../../assets/user/4.png").to_vec(), - 'C' | 'D' | 'E' | 'F' | 'V' => include_bytes!("../../../assets/user/5.png").to_vec(), - 'G' | 'H' | 'J' | 'K' | 'W' => include_bytes!("../../../assets/user/6.png").to_vec(), - 'M' | 'N' | 'P' | 'Q' | 'X' => include_bytes!("../../../assets/user/7.png").to_vec(), + '4' | '5' | '6' | '7' | 'T' => include_bytes!(crate::asset!("user/3.png")).to_vec(), + '8' | '9' | 'A' | 'B' => include_bytes!(crate::asset!("user/4.png")).to_vec(), + 'C' | 'D' | 'E' | 'F' | 'V' => include_bytes!(crate::asset!("user/5.png")).to_vec(), + 'G' | 'H' | 'J' | 'K' | 'W' => include_bytes!(crate::asset!("user/6.png")).to_vec(), + 'M' | 'N' | 'P' | 'Q' | 'X' => include_bytes!(crate::asset!("user/7.png")).to_vec(), /*'0' | '1' | '2' | '3' | 'R' | 'Y'*/ - _ => include_bytes!("../../../assets/user/1.png").to_vec(), + _ => include_bytes!(crate::asset!("user/1.png")).to_vec(), }, )) }