diff --git a/assets/user_blue.png b/assets/user_blue.png new file mode 100644 index 0000000000000000000000000000000000000000..2806b7d2cb3f9cc4daf46884555c26ee5bc82761 Binary files /dev/null and b/assets/user_blue.png differ diff --git a/assets/user_green.png b/assets/user_green.png new file mode 100644 index 0000000000000000000000000000000000000000..0e531e07d5a34fb42096729d3a0c9072652e5a5d Binary files /dev/null and b/assets/user_green.png differ diff --git a/assets/user_red.png b/assets/user_red.png new file mode 100644 index 0000000000000000000000000000000000000000..46e62ccecc7fcadd670b4af2b6abb95d62e2559b Binary files /dev/null and b/assets/user_red.png differ diff --git a/assets/user_yellow.png b/assets/user_yellow.png new file mode 100644 index 0000000000000000000000000000000000000000..7b8daaab6f5c84696898fa0b0ba46bb50b62d1df Binary files /dev/null and b/assets/user_yellow.png differ diff --git a/src/routes/users/get_avatar.rs b/src/routes/users/get_avatar.rs index 64ee74e4db21d3e67ad5e70194043c24a0707355..c9666c671742502318f1d375514401898c00dbc8 100644 --- a/src/routes/users/get_avatar.rs +++ b/src/routes/users/get_avatar.rs @@ -1,7 +1,43 @@ use rocket::response::NamedFile; use std::path::Path; -#[get("/<_target>/avatar")] -pub async fn req(_target: String) -> Option<NamedFile> { - NamedFile::open(Path::new("avatar.png")).await.ok() +use crate::database::Ref; + +#[get("/<target>/avatar")] +pub async fn req(target: Ref) -> Option<NamedFile> { + match target.id.chars().nth(25).unwrap() { + '0' | + '1' | + '2' | + '3' | + '4' | + '5' | + '6' | + '7' => NamedFile::open(Path::new("assets/user_red.png")).await.ok(), + '8' | + '9' | + 'A' | + 'C' | + 'B' | + 'D' | + 'E' | + 'F' => NamedFile::open(Path::new("assets/user_green.png")).await.ok(), + 'G' | + 'H' | + 'J' | + 'K' | + 'M' | + 'N' | + 'P' | + 'Q' => NamedFile::open(Path::new("assets/user_blue.png")).await.ok(), + 'R' | + 'S' | + 'T' | + 'V' | + 'W' | + 'X' | + 'Y' | + 'Z' => NamedFile::open(Path::new("assets/user_yellow.png")).await.ok(), + _ => unreachable!() + } }