From 16322fea2d2c36dc2c14f6c79389e8e60ea65628 Mon Sep 17 00:00:00 2001 From: Ethan O'Brien <77750390+ethanaobrien@users.noreply.github.com> Date: Mon, 6 May 2024 15:31:35 -0500 Subject: [PATCH] Show mission cleared notification on main page --- src/router/home.rs | 28 ++++++++++++++++++++++++---- 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/src/router/home.rs b/src/router/home.rs index cba0359..0e0990d 100644 --- a/src/router/home.rs +++ b/src/router/home.rs @@ -73,14 +73,34 @@ pub fn home(req: HttpRequest) -> HttpResponse { check_gifts(&mut user); - userdata::save_acc_home(&key, user.clone()); - let mut user_missions = userdata::get_acc_missions(&key); - user["clear_mission_ids"] = items::completed_daily_mission(1253003, &mut user_missions); + let clear = items::completed_daily_mission(1253003, &mut user_missions); + userdata::save_acc_home(&key, user.clone()); + user["clear_mission_ids"] = clear; if !user["clear_mission_ids"].is_empty() { - userdata::save_acc_missions(&key, user_missions); + userdata::save_acc_missions(&key, user_missions.clone()); } + let daily_missions = array![1224003, 1253003, 1273009, 1273010, 1273011, 1273012]; + let home_missions = array![]; + + let mut clear_ct = 0; + let mut daily_ct = 0; + for (_i, mission) in user_missions.members().enumerate() { + if mission["status"].as_i32().unwrap() != 2 { + continue; + } + if home_missions.contains(mission["master_mission_id"].as_i64().unwrap()) { + clear_ct += 1; + } + if daily_missions.contains(mission["master_mission_id"].as_i64().unwrap()) { + daily_ct += 1; + clear_ct += 1; + } + } + user["home"]["clear_mission_count"] = clear_ct.into(); + user["home"]["not_cleared_daily_mission_count"] = (6 - daily_ct).into(); + let resp = object!{ "code": 0, "server_time": global::timestamp(),