student 3 тижнів тому
батько
коміт
c97cddd8da
20 змінених файлів з 332 додано та 178 видалено
  1. 0 75
      Kitty_Fall/GameController.txt
  2. 8 2
      Kitty_Fall/Kitty_Fall/Kitty_Fall.Apis/Business/Game/GameBusinessImpl.cs
  3. 144 0
      Kitty_Fall/Kitty_Fall/Kitty_Fall.Website/Language/Lang.Designer.cs
  4. 56 2
      Kitty_Fall/Kitty_Fall/Kitty_Fall.Website/Language/Lang.resx
  5. 56 2
      Kitty_Fall/Kitty_Fall/Kitty_Fall.Website/Language/Lang.vi.resx
  6. 1 1
      Kitty_Fall/Kitty_Fall/Kitty_Fall.Website/Views/DailyWinners/Index.cshtml
  7. 41 7
      Kitty_Fall/Kitty_Fall/Kitty_Fall.Website/Views/Guide/Index.cshtml
  8. 1 1
      Kitty_Fall/Kitty_Fall/Kitty_Fall.Website/Views/History/Index.cshtml
  9. 1 1
      Kitty_Fall/Kitty_Fall/Kitty_Fall.Website/Views/Home/Index.cshtml
  10. 1 1
      Kitty_Fall/Kitty_Fall/Kitty_Fall.Website/Views/Leaderboard/Index.cshtml
  11. 1 1
      Kitty_Fall/Kitty_Fall/Kitty_Fall.Website/Views/MonthlyWinners/Index.cshtml
  12. 1 1
      Kitty_Fall/Kitty_Fall/Kitty_Fall.Website/Views/Play/Index.cshtml
  13. 1 1
      Kitty_Fall/Kitty_Fall/Kitty_Fall.Website/Views/Shared/_Layout.cshtml
  14. 1 1
      Kitty_Fall/Kitty_Fall/Kitty_Fall.Website/Views/Winner/Index.cshtml
  15. 0 0
      Kitty_Fall/Kitty_Fall/Kitty_Fall.Website/wwwroot/catpuzzle/data.json
  16. 1 1
      Kitty_Fall/Kitty_Fall/Kitty_Fall.Website/wwwroot/catpuzzle/offline.json
  17. 9 4
      Kitty_Fall/Kitty_Fall/Kitty_Fall.Website/wwwroot/kitty/css/all.min.css
  18. 9 4
      Kitty_Fall/Kitty_Fall/Kitty_Fall.Website/wwwroot/kitty/css/input.css
  19. 0 73
      Kitty_Fall/NhungGame.txt
  20. BIN
      Kitty_Fall/catpuzzle1.zip

+ 0 - 75
Kitty_Fall/GameController.txt

@@ -1,75 +0,0 @@
- [HttpPost]
- public async Task<IActionResult> SaveLevelResult(
- [FromBody] GameRequest request)
- {
-     try
-     {
-         // Log kiểm tra
-         log.Info($"SaveLevelResult start");
-         log.Info($"Token  : {request.token}");
-         log.Info($"MSISDN : {request.msisdn}");
-         log.Info($"TransId : {request.transId}");
-         log.Info($"Level  : {request.level}");
-         log.Info($"Score  : {request.score}");
-         log.Info($"GameType  : {request.gameType}");
-         log.Info($"gameOver  : {request.gameOver}");
-
-
-         // TODO:
-         // Gọi API backend
-         // Ghi DB
-         // Tính thưởng level
-
-         await Task.Delay(100);
-
-         return Json(new
-         {
-             point = "100",
-             data = "1000M",
-             score = "20000",
-             transId = "1234567890asdf"
-         });
-     }
-     catch (Exception ex)
-     {
-         return Json(new
-         {
-             success = false,
-             message = ex.Message
-         });
-     }
- }
-
-
-
- [HttpPost]
- public IActionResult ExitGame(GameRequest request)
- {
-     try
-     {
-         log.Info("ExitGame start");
-
-         log.Info($"Token     : {request.token}");
-         log.Info($"MSISDN    : {request.msisdn}");
-         log.Info($"TransId   : {request.transId}");
-         log.Info($"Level     : {request.level}");
-         log.Info($"Score     : {request.score}");
-         log.Info($"GameType  : {request.gameType}");
-         log.Info($"GameOver  : {request.gameOver}");
-
-         // Lưu DB
-         // ...
-
-         return RedirectToAction("Index", "Home");
-     }
-     catch (Exception ex)
-     {
-         log.Error(ex);
-
-         return Json(new
-         {
-             success = false,
-             message = ex.Message
-         });
-     }
- }

+ 8 - 2
Kitty_Fall/Kitty_Fall/Kitty_Fall.Apis/Business/Game/GameBusinessImpl.cs

@@ -288,16 +288,22 @@ namespace Kitty_Fall.Apis.Business.Game
                 {
                     var rankNo = ranking.RankNo.GetValueOrDefault();
                     if (rankNo <= 0) rankNo = skip + index + 1;
+                    var isCurrentUser = string.Equals(
+                        ranking.Msisdn,
+                        msisdn,
+                        StringComparison.OrdinalIgnoreCase);
 
                     return new UserLeaderboardItem
                     {
                         rankNo = rankNo,
                         rankText = FormatRank(rankNo),
                         msisdn = ranking.Msisdn,
-                        phoneText = MaskMsisdn(ranking.Msisdn),
+                        phoneText = isCurrentUser
+                            ? FormatMsisdn(ranking.Msisdn)
+                            : MaskMsisdn(ranking.Msisdn),
                         score = ranking.TotalScore,
                         scoreText = FormatNumber(ranking.TotalScore),
-                        isCurrentUser = string.Equals(ranking.Msisdn, msisdn, StringComparison.OrdinalIgnoreCase)
+                        isCurrentUser = isCurrentUser
                     };
                 }).ToList();
 

+ 144 - 0
Kitty_Fall/Kitty_Fall/Kitty_Fall.Website/Language/Lang.Designer.cs

@@ -1087,6 +1087,78 @@ namespace Kitty_Fall.Website.Language {
             }
         }
         /// <summary>
+        ///   Looks up a localized string for GuideMediumReward10.
+        /// </summary>
+        public static string GuideMediumReward10 {
+            get {
+                return ResourceManager.GetString("GuideMediumReward10", resourceCulture);
+            }
+        }
+        /// <summary>
+        ///   Looks up a localized string for GuideMediumReward15.
+        /// </summary>
+        public static string GuideMediumReward15 {
+            get {
+                return ResourceManager.GetString("GuideMediumReward15", resourceCulture);
+            }
+        }
+        /// <summary>
+        ///   Looks up a localized string for GuideMediumReward20.
+        /// </summary>
+        public static string GuideMediumReward20 {
+            get {
+                return ResourceManager.GetString("GuideMediumReward20", resourceCulture);
+            }
+        }
+        /// <summary>
+        ///   Looks up a localized string for GuideMediumReward25.
+        /// </summary>
+        public static string GuideMediumReward25 {
+            get {
+                return ResourceManager.GetString("GuideMediumReward25", resourceCulture);
+            }
+        }
+        /// <summary>
+        ///   Looks up a localized string for GuideMediumReward30.
+        /// </summary>
+        public static string GuideMediumReward30 {
+            get {
+                return ResourceManager.GetString("GuideMediumReward30", resourceCulture);
+            }
+        }
+        /// <summary>
+        ///   Looks up a localized string for GuideMediumReward35.
+        /// </summary>
+        public static string GuideMediumReward35 {
+            get {
+                return ResourceManager.GetString("GuideMediumReward35", resourceCulture);
+            }
+        }
+        /// <summary>
+        ///   Looks up a localized string for GuideMediumReward40.
+        /// </summary>
+        public static string GuideMediumReward40 {
+            get {
+                return ResourceManager.GetString("GuideMediumReward40", resourceCulture);
+            }
+        }
+        /// <summary>
+        ///   Looks up a localized string for GuideMediumReward45.
+        /// </summary>
+        public static string GuideMediumReward45 {
+            get {
+                return ResourceManager.GetString("GuideMediumReward45", resourceCulture);
+            }
+        }
+        /// <summary>
+        ///   Looks up a localized string for GuideMediumReward50.
+        /// </summary>
+        public static string GuideMediumReward50 {
+            get {
+                return ResourceManager.GetString("GuideMediumReward50", resourceCulture);
+            }
+        }
+        /// <summary>
         ///   Looks up a localized string for GuideHardReward5.
         /// </summary>
         public static string GuideHardReward5 {
@@ -1095,6 +1167,78 @@ namespace Kitty_Fall.Website.Language {
             }
         }
         /// <summary>
+        ///   Looks up a localized string for GuideHardReward10.
+        /// </summary>
+        public static string GuideHardReward10 {
+            get {
+                return ResourceManager.GetString("GuideHardReward10", resourceCulture);
+            }
+        }
+        /// <summary>
+        ///   Looks up a localized string for GuideHardReward15.
+        /// </summary>
+        public static string GuideHardReward15 {
+            get {
+                return ResourceManager.GetString("GuideHardReward15", resourceCulture);
+            }
+        }
+        /// <summary>
+        ///   Looks up a localized string for GuideHardReward20.
+        /// </summary>
+        public static string GuideHardReward20 {
+            get {
+                return ResourceManager.GetString("GuideHardReward20", resourceCulture);
+            }
+        }
+        /// <summary>
+        ///   Looks up a localized string for GuideHardReward25.
+        /// </summary>
+        public static string GuideHardReward25 {
+            get {
+                return ResourceManager.GetString("GuideHardReward25", resourceCulture);
+            }
+        }
+        /// <summary>
+        ///   Looks up a localized string for GuideHardReward30.
+        /// </summary>
+        public static string GuideHardReward30 {
+            get {
+                return ResourceManager.GetString("GuideHardReward30", resourceCulture);
+            }
+        }
+        /// <summary>
+        ///   Looks up a localized string for GuideHardReward35.
+        /// </summary>
+        public static string GuideHardReward35 {
+            get {
+                return ResourceManager.GetString("GuideHardReward35", resourceCulture);
+            }
+        }
+        /// <summary>
+        ///   Looks up a localized string for GuideHardReward40.
+        /// </summary>
+        public static string GuideHardReward40 {
+            get {
+                return ResourceManager.GetString("GuideHardReward40", resourceCulture);
+            }
+        }
+        /// <summary>
+        ///   Looks up a localized string for GuideHardReward45.
+        /// </summary>
+        public static string GuideHardReward45 {
+            get {
+                return ResourceManager.GetString("GuideHardReward45", resourceCulture);
+            }
+        }
+        /// <summary>
+        ///   Looks up a localized string for GuideHardReward50.
+        /// </summary>
+        public static string GuideHardReward50 {
+            get {
+                return ResourceManager.GetString("GuideHardReward50", resourceCulture);
+            }
+        }
+        /// <summary>
         ///   Looks up a localized string for GuideMonthlyRewardEligibility.
         /// </summary>
         public static string GuideMonthlyRewardEligibility {

+ 56 - 2
Kitty_Fall/Kitty_Fall/Kitty_Fall.Website/Language/Lang.resx

@@ -469,10 +469,64 @@
     <value>200MB Data / 80 loyalty / 500 score</value>
   </data>
   <data name="GuideMediumReward5" xml:space="preserve">
-    <value>10MB Data / 5 loyalty / 25 score</value>
+    <value>20MB Data / 6 loyalty / 70 score</value>
+  </data>
+  <data name="GuideMediumReward10" xml:space="preserve">
+    <value>40MB Data / 12 loyalty / 130 score</value>
+  </data>
+  <data name="GuideMediumReward15" xml:space="preserve">
+    <value>80MB Data / 18 loyalty / 190 score</value>
+  </data>
+  <data name="GuideMediumReward20" xml:space="preserve">
+    <value>140MB Data / 260 score</value>
+  </data>
+  <data name="GuideMediumReward25" xml:space="preserve">
+    <value>180MB Data / 30 loyalty / 320 score</value>
+  </data>
+  <data name="GuideMediumReward30" xml:space="preserve">
+    <value>220MB Data / 40 loyalty / 380 score</value>
+  </data>
+  <data name="GuideMediumReward35" xml:space="preserve">
+    <value>260MB Data / 60 loyalty / 450 score</value>
+  </data>
+  <data name="GuideMediumReward40" xml:space="preserve">
+    <value>300MB Data / 70 loyalty / 520 score</value>
+  </data>
+  <data name="GuideMediumReward45" xml:space="preserve">
+    <value>350MB Data / 80 loyalty / 600 score</value>
+  </data>
+  <data name="GuideMediumReward50" xml:space="preserve">
+    <value>450MB Data / 100 loyalty / 700 score</value>
   </data>
   <data name="GuideHardReward5" xml:space="preserve">
-    <value>15MB Data / 7 loyalty / 25 score</value>
+    <value>40MB Data / 10 loyalty / 100 score</value>
+  </data>
+  <data name="GuideHardReward10" xml:space="preserve">
+    <value>80MB Data / 20 loyalty / 200 score</value>
+  </data>
+  <data name="GuideHardReward15" xml:space="preserve">
+    <value>140MB Data / 30 loyalty / 300 score</value>
+  </data>
+  <data name="GuideHardReward20" xml:space="preserve">
+    <value>220MB Data / 400 score</value>
+  </data>
+  <data name="GuideHardReward25" xml:space="preserve">
+    <value>300MB Data / 50 loyalty / 500 score</value>
+  </data>
+  <data name="GuideHardReward30" xml:space="preserve">
+    <value>380MB Data / 70 loyalty / 600 score</value>
+  </data>
+  <data name="GuideHardReward35" xml:space="preserve">
+    <value>450MB Data / 90 loyalty / 700 score</value>
+  </data>
+  <data name="GuideHardReward40" xml:space="preserve">
+    <value>520MB Data / 110 loyalty / 800 score</value>
+  </data>
+  <data name="GuideHardReward45" xml:space="preserve">
+    <value>600MB Data / 130 loyalty / 900 score</value>
+  </data>
+  <data name="GuideHardReward50" xml:space="preserve">
+    <value>750MB Data / 150 loyalty / 1000 score</value>
   </data>
   <data name="GuideMonthlyRewardEligibility" xml:space="preserve">
     <value>Monthly Reward Eligibility Conditions</value>

+ 56 - 2
Kitty_Fall/Kitty_Fall/Kitty_Fall.Website/Language/Lang.vi.resx

@@ -469,10 +469,64 @@
     <value>200MB Data / 80 loyalty / 500 score</value>
   </data>
   <data name="GuideMediumReward5" xml:space="preserve">
-    <value>10MB Data / 5 loyalty / 25 score</value>
+    <value>20MB Data / 6 loyalty / 70 score</value>
+  </data>
+  <data name="GuideMediumReward10" xml:space="preserve">
+    <value>40MB Data / 12 loyalty / 130 score</value>
+  </data>
+  <data name="GuideMediumReward15" xml:space="preserve">
+    <value>80MB Data / 18 loyalty / 190 score</value>
+  </data>
+  <data name="GuideMediumReward20" xml:space="preserve">
+    <value>140MB Data / 260 score</value>
+  </data>
+  <data name="GuideMediumReward25" xml:space="preserve">
+    <value>180MB Data / 30 loyalty / 320 score</value>
+  </data>
+  <data name="GuideMediumReward30" xml:space="preserve">
+    <value>220MB Data / 40 loyalty / 380 score</value>
+  </data>
+  <data name="GuideMediumReward35" xml:space="preserve">
+    <value>260MB Data / 60 loyalty / 450 score</value>
+  </data>
+  <data name="GuideMediumReward40" xml:space="preserve">
+    <value>300MB Data / 70 loyalty / 520 score</value>
+  </data>
+  <data name="GuideMediumReward45" xml:space="preserve">
+    <value>350MB Data / 80 loyalty / 600 score</value>
+  </data>
+  <data name="GuideMediumReward50" xml:space="preserve">
+    <value>450MB Data / 100 loyalty / 700 score</value>
   </data>
   <data name="GuideHardReward5" xml:space="preserve">
-    <value>15MB Data / 7 loyalty / 25 score</value>
+    <value>40MB Data / 10 loyalty / 100 score</value>
+  </data>
+  <data name="GuideHardReward10" xml:space="preserve">
+    <value>80MB Data / 20 loyalty / 200 score</value>
+  </data>
+  <data name="GuideHardReward15" xml:space="preserve">
+    <value>140MB Data / 30 loyalty / 300 score</value>
+  </data>
+  <data name="GuideHardReward20" xml:space="preserve">
+    <value>220MB Data / 400 score</value>
+  </data>
+  <data name="GuideHardReward25" xml:space="preserve">
+    <value>300MB Data / 50 loyalty / 500 score</value>
+  </data>
+  <data name="GuideHardReward30" xml:space="preserve">
+    <value>380MB Data / 70 loyalty / 600 score</value>
+  </data>
+  <data name="GuideHardReward35" xml:space="preserve">
+    <value>450MB Data / 90 loyalty / 700 score</value>
+  </data>
+  <data name="GuideHardReward40" xml:space="preserve">
+    <value>520MB Data / 110 loyalty / 800 score</value>
+  </data>
+  <data name="GuideHardReward45" xml:space="preserve">
+    <value>600MB Data / 130 loyalty / 900 score</value>
+  </data>
+  <data name="GuideHardReward50" xml:space="preserve">
+    <value>750MB Data / 150 loyalty / 1000 score</value>
   </data>
   <data name="GuideMonthlyRewardEligibility" xml:space="preserve">
     <value>Monthly Reward Eligibility Conditions</value>

+ 1 - 1
Kitty_Fall/Kitty_Fall/Kitty_Fall.Website/Views/DailyWinners/Index.cshtml

@@ -3,7 +3,7 @@
     ViewData["Title"] = $"Kitty Fall - {Lang.DailyWinners}";
     var profile = Model?.profile ?? new Common.Http.Apis.Request.UserGameActivityProfile();
     var profilePicture = string.IsNullOrWhiteSpace(profile.picture)
-        ? Url.Content("~/kitty/assets/kitty-fall/avatar.png")
+        ? Url.Content("~/kitty/assets/kitty-fall/default.png")
         : Url.Content("~/kitty/assets/kitty-fall/") + profile.picture;
     var selectedDate = Model?.selectedDate ?? "";
     var calendarMinDate = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1).ToString("yyyy-MM-dd");

+ 41 - 7
Kitty_Fall/Kitty_Fall/Kitty_Fall.Website/Views/Guide/Index.cshtml

@@ -3,7 +3,7 @@
     ViewData["Title"] = "Kitty Fall - Guide";
     var profile = Model ?? new Common.Http.Apis.Request.UserGameActivityProfile();
     var profilePicture = string.IsNullOrWhiteSpace(profile.picture)
-        ? Url.Content("~/kitty/assets/kitty-fall/avatar.png")
+        ? Url.Content("~/kitty/assets/kitty-fall/default.png")
         : Url.Content("~/kitty/assets/kitty-fall/") + profile.picture;
 }
 
@@ -102,8 +102,26 @@
                                 <tr><th>@Lang.Level</th><th>@Lang.Score</th><th>@Lang.Time</th><th>@Lang.Rewards</th></tr>
                             </thead>
                             <tbody>
-                                <tr><td>1-4</td><td>10</td><td>150s</td><td>-</td></tr>
-                                <tr><td>5</td><td>-</td><td>150s</td><td>@Lang.GuideMediumReward5</td></tr>
+                                <tr><td>1-2-3-4</td><td>20</td><td>100s</td><td>-</td></tr>
+                                <tr><td>5</td><td>-</td><td>100s</td><td>@Lang.GuideMediumReward5</td></tr>
+                                <tr><td>6-7-8-9</td><td>25</td><td>100s</td><td>-</td></tr>
+                                <tr><td>10</td><td>-</td><td>100s</td><td>@Lang.GuideMediumReward10</td></tr>
+                                <tr><td>11-12-13-14</td><td>30</td><td>100s</td><td>-</td></tr>
+                                <tr><td>15</td><td>-</td><td>100s</td><td>@Lang.GuideMediumReward15</td></tr>
+                                <tr><td>16-17-18-19</td><td>35</td><td>100s</td><td>-</td></tr>
+                                <tr><td>20</td><td>-</td><td>100s</td><td>@Lang.GuideMediumReward20</td></tr>
+                                <tr><td>21-22-23-24</td><td>40</td><td>100s</td><td>-</td></tr>
+                                <tr><td>25</td><td>-</td><td>100s</td><td>@Lang.GuideMediumReward25</td></tr>
+                                <tr><td>26-27-28-29</td><td>50</td><td>100s</td><td>-</td></tr>
+                                <tr><td>30</td><td>-</td><td>100s</td><td>@Lang.GuideMediumReward30</td></tr>
+                                <tr><td>31-32-33-34</td><td>60</td><td>100s</td><td>-</td></tr>
+                                <tr><td>35</td><td>-</td><td>100s</td><td>@Lang.GuideMediumReward35</td></tr>
+                                <tr><td>36-37-38-39</td><td>70</td><td>100s</td><td>-</td></tr>
+                                <tr><td>40</td><td>-</td><td>100s</td><td>@Lang.GuideMediumReward40</td></tr>
+                                <tr><td>41-42-43-44</td><td>80</td><td>100s</td><td>-</td></tr>
+                                <tr><td>45</td><td>-</td><td>100s</td><td>@Lang.GuideMediumReward45</td></tr>
+                                <tr><td>46-47-48-49</td><td>100</td><td>100s</td><td>-</td></tr>
+                                <tr><td>50</td><td>-</td><td>100s</td><td>@Lang.GuideMediumReward50</td></tr>
                             </tbody>
                         </table>
                     </div>
@@ -115,8 +133,26 @@
                                 <tr><th>@Lang.Level</th><th>@Lang.Score</th><th>@Lang.Time</th><th>@Lang.Rewards</th></tr>
                             </thead>
                             <tbody>
-                                <tr><td>1-4</td><td>10</td><td>150s</td><td>-</td></tr>
-                                <tr><td>5</td><td>-</td><td>150s</td><td>@Lang.GuideHardReward5</td></tr>
+                                <tr><td>1-2-3-4</td><td>40</td><td>60s</td><td>-</td></tr>
+                                <tr><td>5</td><td>-</td><td>60s</td><td>@Lang.GuideHardReward5</td></tr>
+                                <tr><td>6-7-8-9</td><td>50</td><td>60s</td><td>-</td></tr>
+                                <tr><td>10</td><td>-</td><td>60s</td><td>@Lang.GuideHardReward10</td></tr>
+                                <tr><td>11-12-13-14</td><td>60</td><td>60s</td><td>-</td></tr>
+                                <tr><td>15</td><td>-</td><td>60s</td><td>@Lang.GuideHardReward15</td></tr>
+                                <tr><td>16-17-18-19</td><td>70</td><td>60s</td><td>-</td></tr>
+                                <tr><td>20</td><td>-</td><td>60s</td><td>@Lang.GuideHardReward20</td></tr>
+                                <tr><td>21-22-23-24</td><td>85</td><td>60s</td><td>-</td></tr>
+                                <tr><td>25</td><td>-</td><td>60s</td><td>@Lang.GuideHardReward25</td></tr>
+                                <tr><td>26-27-28-29</td><td>100</td><td>60s</td><td>-</td></tr>
+                                <tr><td>30</td><td>-</td><td>60s</td><td>@Lang.GuideHardReward30</td></tr>
+                                <tr><td>31-32-33-34</td><td>120</td><td>60s</td><td>-</td></tr>
+                                <tr><td>35</td><td>-</td><td>60s</td><td>@Lang.GuideHardReward35</td></tr>
+                                <tr><td>36-37-38-39</td><td>140</td><td>60s</td><td>-</td></tr>
+                                <tr><td>40</td><td>-</td><td>60s</td><td>@Lang.GuideHardReward40</td></tr>
+                                <tr><td>41-42-43-44</td><td>160</td><td>60s</td><td>-</td></tr>
+                                <tr><td>45</td><td>-</td><td>60s</td><td>@Lang.GuideHardReward45</td></tr>
+                                <tr><td>46-47-48-49</td><td>180</td><td>60s</td><td>-</td></tr>
+                                <tr><td>50</td><td>-</td><td>60s</td><td>@Lang.GuideHardReward50</td></tr>
                             </tbody>
                         </table>
                     </div>
@@ -177,5 +213,3 @@
     </section>
 
 </main>
-
-

+ 1 - 1
Kitty_Fall/Kitty_Fall/Kitty_Fall.Website/Views/History/Index.cshtml

@@ -3,7 +3,7 @@
     ViewData["Title"] = "Kitty Fall - History";
     var profile = Model?.profile ?? new Common.Http.Apis.Request.UserGameActivityProfile();
     var profilePicture = string.IsNullOrWhiteSpace(profile.picture)
-        ? Url.Content("~/kitty/assets/kitty-fall/avatar.png")
+        ? Url.Content("~/kitty/assets/kitty-fall/default.png")
         : Url.Content("~/kitty/assets/kitty-fall/") + profile.picture;
     var pageNumber = Model?.pageNumber > 0 ? Model.pageNumber : 1;
     var totalPage = Model?.totalPage ?? 0;

+ 1 - 1
Kitty_Fall/Kitty_Fall/Kitty_Fall.Website/Views/Home/Index.cshtml

@@ -2,7 +2,7 @@
     ViewData["Title"] = "Kitty Fall";
     var msisdn = ViewBag.Msisdn as string;
     var profilePicture = ViewBag.ProfilePicture as string;
-    var avatarUrl = string.IsNullOrWhiteSpace(profilePicture) ? Url.Content("~/kitty/assets/kitty-fall/avatar.png") : Url.Content("~/kitty/assets/kitty-fall/") + profilePicture;
+    var avatarUrl = string.IsNullOrWhiteSpace(profilePicture) ? Url.Content("~/kitty/assets/kitty-fall/default.png") : Url.Content("~/kitty/assets/kitty-fall/") + profilePicture;
     var totalPoint = ViewBag.TotalPoint is null ? 0L : Convert.ToInt64(ViewBag.TotalPoint);
     var totalTurn = ViewBag.TotalTurn is null ? 0L : Convert.ToInt64(ViewBag.TotalTurn);
     var packageFee = ViewBag.PackageFee is null ? 179M : Convert.ToDecimal(ViewBag.PackageFee);

+ 1 - 1
Kitty_Fall/Kitty_Fall/Kitty_Fall.Website/Views/Leaderboard/Index.cshtml

@@ -4,7 +4,7 @@
     var profile = Model?.profile ?? new Common.Http.Apis.Request.UserGameActivityProfile();
     var currentUser = Model?.currentUser ?? new Common.Http.Apis.Request.UserLeaderboardCurrentUser();
     var profilePicture = string.IsNullOrWhiteSpace(profile.picture)
-        ? Url.Content("~/kitty/assets/kitty-fall/avatar.png")
+        ? Url.Content("~/kitty/assets/kitty-fall/default.png")
         : Url.Content("~/kitty/assets/kitty-fall/") + profile.picture;
     var pageNumber = Model?.pageNumber > 0 ? Model.pageNumber : 1;
     var totalPage = Model?.totalPage ?? 0;

+ 1 - 1
Kitty_Fall/Kitty_Fall/Kitty_Fall.Website/Views/MonthlyWinners/Index.cshtml

@@ -3,7 +3,7 @@
     ViewData["Title"] = $"Kitty Fall - {Lang.MonthlyWinners}";
     var profile = Model?.profile ?? new Common.Http.Apis.Request.UserGameActivityProfile();
     var profilePicture = string.IsNullOrWhiteSpace(profile.picture)
-        ? Url.Content("~/kitty/assets/kitty-fall/avatar.png")
+        ? Url.Content("~/kitty/assets/kitty-fall/default.png")
         : Url.Content("~/kitty/assets/kitty-fall/") + profile.picture;
 }
 

+ 1 - 1
Kitty_Fall/Kitty_Fall/Kitty_Fall.Website/Views/Play/Index.cshtml

@@ -2,7 +2,7 @@
 @{
     ViewData["Title"] = "Kitty Fall - Play";
     var avatarUrl = string.IsNullOrWhiteSpace(Model.ProfilePicture)
-        ? Url.Content("~/kitty/assets/kitty-fall/avatar.png")
+        ? Url.Content("~/kitty/assets/kitty-fall/default.png")
         : Url.Content("~/kitty/assets/kitty-fall/") + Model.ProfilePicture;
 }
 

+ 1 - 1
Kitty_Fall/Kitty_Fall/Kitty_Fall.Website/Views/Shared/_Layout.cshtml

@@ -29,7 +29,7 @@
     var accountMsisdn = Context.Session.GetComplexData<string>("msisdn") ?? "";
     var accountProfilePicture = Context.Session.GetComplexData<string>("profilePicture") ?? "";
     var accountAvatar = string.IsNullOrWhiteSpace(accountProfilePicture)
-        ? Url.Content("~/kitty/assets/kitty-fall/avatar.png")
+        ? Url.Content("~/kitty/assets/kitty-fall/default.png")
         : Url.Content("~/kitty/assets/kitty-fall/") + accountProfilePicture;
     var accountScore = Context.Session.GetComplexData<long?>("totalPoint") ?? 0;
     var accountDataMb = Context.Session.GetComplexData<decimal?>("totalDataMb") ?? 0;

+ 1 - 1
Kitty_Fall/Kitty_Fall/Kitty_Fall.Website/Views/Winner/Index.cshtml

@@ -3,7 +3,7 @@
     ViewData["Title"] = $"Kitty Fall - {Lang.WinnerList}";
     var profile = Model ?? new Common.Http.Apis.Request.UserGameActivityProfile();
     var profilePicture = string.IsNullOrWhiteSpace(profile.picture)
-        ? Url.Content("~/kitty/assets/kitty-fall/avatar.png")
+        ? Url.Content("~/kitty/assets/kitty-fall/default.png")
         : Url.Content("~/kitty/assets/kitty-fall/") + profile.picture ;
 }
 

Різницю між файлами не показано, бо вона завелика
+ 0 - 0
Kitty_Fall/Kitty_Fall/Kitty_Fall.Website/wwwroot/catpuzzle/data.json


+ 1 - 1
Kitty_Fall/Kitty_Fall/Kitty_Fall.Website/wwwroot/catpuzzle/offline.json

@@ -1 +1 @@
-{"version":1784047758797,"fileList":["scripts/main.js","scripts/c3runtime.js","scripts/objRefTable.js","scripts/project/main.js","scripts/c3main.js","scripts/dispatchworker.js","scripts/jobworker.js","data.json","scripts/modernjscheck.js","scripts/supportcheck.js","scripts/offlineclient.js","icons/loading-logo.png","icons/icon-16.png","icons/icon-32.png","icons/icon-64.png","icons/icon-128.png","icons/icon-256.png","icons/icon-512.png","media/congratulations.webm","media/click.webm","media/Button03.webm","media/cute-cat-352656.webm","media/win2.webm","media/timeup_.webm","media/click_sound.webm","media/playground.webm","box2d.wasm","box2d.wasm.js","style.css","images/shared-0-sheet0.webp","images/shared-0-sheet1.webp","images/shared-0-sheet2.webp","images/shared-0-sheet3.webp","images/shared-0-sheet4.webp","images/shared-0-sheet5.webp","images/block1a-sheet0.webp","images/block1a-sheet1.webp","images/cats-sheet0.webp","images/cats-sheet1.webp","images/cats-sheet2.webp","images/cats-sheet3.webp","images/cats-sheet4.webp","images/confettix-sheet0.webp","images/confettix-sheet1.webp","images/sprite3-sheet0.webp","images/sprite3-sheet1.webp","images/sprite3-sheet2.webp","images/scroll-sheet0.webp","images/btn_lvl-sheet0.webp","images/btn_lvl-sheet1.webp","scripts/register-sw.js"]}
+{"version":1784085155772,"fileList":["scripts/main.js","scripts/c3runtime.js","scripts/objRefTable.js","scripts/project/main.js","scripts/c3main.js","scripts/dispatchworker.js","scripts/jobworker.js","data.json","scripts/modernjscheck.js","scripts/supportcheck.js","scripts/offlineclient.js","icons/loading-logo.png","icons/icon-16.png","icons/icon-32.png","icons/icon-64.png","icons/icon-128.png","icons/icon-256.png","icons/icon-512.png","media/congratulations.webm","media/click.webm","media/Button03.webm","media/cute-cat-352656.webm","media/win2.webm","media/timeup_.webm","media/click_sound.webm","media/playground.webm","box2d.wasm.js","box2d.wasm","style.css","images/shared-0-sheet0.webp","images/shared-0-sheet1.webp","images/shared-0-sheet2.webp","images/shared-0-sheet3.webp","images/shared-0-sheet4.webp","images/shared-0-sheet5.webp","images/block1a-sheet0.webp","images/block1a-sheet1.webp","images/cats-sheet0.webp","images/cats-sheet1.webp","images/cats-sheet2.webp","images/cats-sheet3.webp","images/cats-sheet4.webp","images/confettix-sheet0.webp","images/confettix-sheet1.webp","images/sprite3-sheet0.webp","images/sprite3-sheet1.webp","images/sprite3-sheet2.webp","images/scroll-sheet0.webp","images/btn_lvl-sheet0.webp","images/btn_lvl-sheet1.webp","scripts/register-sw.js"]}

+ 9 - 4
Kitty_Fall/Kitty_Fall/Kitty_Fall.Website/wwwroot/kitty/css/all.min.css

@@ -128,11 +128,11 @@ button {
 }
 
 .profile-copy strong {
-    font-size: 13px;
+    font-size: 15px;
 }
 
 .profile-copy span {
-    font-size: 13px;
+    font-size: 14px;
     font-weight: 400;
 }
 
@@ -2561,6 +2561,7 @@ button {
     display: flex;
     align-items: center;
     gap: 5px;
+    margin-bottom: 2px;
     color: currentColor;
     font-size: 22px;
     line-height: 1;
@@ -2607,13 +2608,15 @@ button {
 }
 
 .level-copy em {
-    width: 155px;
+    width: min(100%, 170px);
     height: 22px;
-    margin-top: 3px;
+    margin-top: 5px;
     border-radius: 999px;
     display: flex;
     align-items: center;
     justify-content: center;
+    flex-wrap: nowrap;
+    white-space: nowrap;
     gap: 4px;
     background: var(--level-reward-bg);
     color: #26004c;
@@ -2623,11 +2626,13 @@ button {
 }
 
 .level-copy em b {
+    flex-shrink: 0;
     font-weight: 900;
 }
 
 .level-copy em::after {
     content: "";
+    flex-shrink: 0;
     width: 14px;
     height: 14px;
     border-radius: 50%;

+ 9 - 4
Kitty_Fall/Kitty_Fall/Kitty_Fall.Website/wwwroot/kitty/css/input.css

@@ -128,11 +128,11 @@ button {
 }
 
 .profile-copy strong {
-    font-size: 13px;
+    font-size: 15px;
 }
 
 .profile-copy span {
-    font-size: 13px;
+    font-size: 14px;
     font-weight: 400;
 }
 
@@ -2561,6 +2561,7 @@ button {
     display: flex;
     align-items: center;
     gap: 5px;
+    margin-bottom: 2px;
     color: currentColor;
     font-size: 22px;
     line-height: 1;
@@ -2607,13 +2608,15 @@ button {
 }
 
 .level-copy em {
-    width: 155px;
+    width: min(100%, 170px);
     height: 22px;
-    margin-top: 3px;
+    margin-top: 5px;
     border-radius: 999px;
     display: flex;
     align-items: center;
     justify-content: center;
+    flex-wrap: nowrap;
+    white-space: nowrap;
     gap: 4px;
     background: var(--level-reward-bg);
     color: #26004c;
@@ -2623,11 +2626,13 @@ button {
 }
 
 .level-copy em b {
+    flex-shrink: 0;
     font-weight: 900;
 }
 
 .level-copy em::after {
     content: "";
+    flex-shrink: 0;
     width: 14px;
     height: 14px;
     border-radius: 50%;

+ 0 - 73
Kitty_Fall/NhungGame.txt

@@ -1,73 +0,0 @@
-<!DOCTYPE html>
-
-<html>
-<head>
-    <meta charset="utf-8" />
-    <title>Game</title>
-</head>
-
-<body style="margin:0">
-
-    @* Kích ho?ch HTML5 v?i tham s? truy?n san construct 3 trên url *@
-    @* <iframe id="gameFrame"
-            src="@root/DragDrop/index.html?gameType=0&msisdn=09&token=1234567890&transId=1234567"
-            style="
-            width:100%;
-            height:100vh;
-            border:none;
-            display:block;
-        ">
-    </iframe> *@
-
-
-
-    <iframe id="gameFrame"
-            src="@root/DragDrop/index.html"
-            style="
-            width:100%;
-            height:100vh;
-            border:none;
-            display:block;
-        ">
-    </iframe>
-   
-
-
-
-    @* Ðo?n Js nh?n k?t qu? t? construct 3 v? *@
-    <script>
-        const frame = document.getElementById("gameFrame");
-        console.log("MVC bat dau gui du lieu vao trong construct 3");
-        window.addEventListener(
-            "message",
-            function (event) 
-            {
-                console.log("Ðây là hàm l?ng nghe s? kiên t? construct 3 d?y ra MVC nhé!!!!!!");
-                console.log(event.data);
-
-                //Khi trong construct 3 g?i ra s? ki?n này thì t?c là trong Construc 3
-                if (event.data.type === "GAME_READY") 
-                {
-                    console.log("Gui INIT_GAME");
-                    //Khi da nhan duoc su kien nay tu trong Construct 3 gui ra thi
-                    // chung ta construct 3 da listener thanh cong
-                    //Tien hanh gui cac thong so duoi vao construct3
-                    frame.contentWindow.postMessage({
-                        type: "INIT_GAME",
-                        gameType: "Easy",
-                        msisdn: "09",
-                        token: "1234567890",
-                        transId: "1234567890",
-                        root: "@root"
-                    }, "*");
-                }
-
-            }
-        );
-
-
-    </script>
-
-
-</body>
-</html>

BIN
Kitty_Fall/catpuzzle1.zip


Деякі файли не було показано, через те що забагато файлів було змінено