Prechádzať zdrojové kódy

feat: Merge branch 'v1.4' into feature-year0506

year 2 mesiacov pred
rodič
commit
c09fc9a4f4

+ 1 - 0
src/api/activity.ts

@@ -95,6 +95,7 @@ export interface ContinuousCfgItem {
     start_at: number;
     target_num: number;
     target_reward: number;
+    isCanClaim?: boolean;
 }
 
 export interface ContinuousStageItem {

+ 15 - 7
src/app/[locale]/(doings)/continuous/page.tsx

@@ -94,7 +94,7 @@ const DayItem = ({
                         </div>
                         <div
                             className={clsx(styles.premioItemBtn, {
-                                [styles.disabled]: data.is_sign === 0 || data.is_suss === 1,
+                                [styles.disabled]: !data.isCanClaim,
                             })}
                             onClick={doClaim}
                         >
@@ -233,9 +233,15 @@ const Page = () => {
         if (!data?.list?.config_list) return [];
         const result = [] as ContinuousCfgItem[];
         data?.list?.config_list.forEach((item) => {
-            // if (item.id <= data.cur_num) {
-            //     return;
-            // }
+            if (
+                item.is_sign === 0 ||
+                item.is_suss === 1 ||
+                !(item.start_at * 1000 < Date.now() && item.end_at * 1000 > Date.now())
+            ) {
+                item.isCanClaim = false;
+            } else {
+                item.isCanClaim = true;
+            }
             result.push(item);
         });
         return result.sort((a, b) => a.days - b.days);
@@ -250,7 +256,9 @@ const Page = () => {
             Toast.show({ content: "Missing activity ID" });
             return;
         }
-        if (!data.is_sign) return;
+        if (!data.isCanClaim) {
+            return;
+        }
         try {
             const res = await claimActivityReward({
                 activity_id: Number(query.activity_id),
@@ -415,8 +423,8 @@ const Page = () => {
                                         </span>
                                     </div>
                                     <div className={styles.introboxDesc}>
-                                        1. Jogadores que atendem aos requisitos podem receber o
-                                        bônus diretamente.
+                                        1.As recompensas da campanha só podem ser reclamadas entre
+                                        23:00 e 23:50 no mesmo dia
                                         <br />
                                         2. Solicite o bônus desta promoção dentro do período
                                         promocional. Não se inscrever após o prazo limite será