diff --git a/src/Snap.Hutao/Snap.Hutao/Resource/Icon/UI_Icon_Gift.png b/src/Snap.Hutao/Snap.Hutao/Resource/Icon/UI_Icon_Gift.png
new file mode 100644
index 00000000..02db51fb
Binary files /dev/null and b/src/Snap.Hutao/Snap.Hutao/Resource/Icon/UI_Icon_Gift.png differ
diff --git a/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.Designer.cs b/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.Designer.cs
index 0a6b6ab1..44d95d51 100644
--- a/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.Designer.cs
+++ b/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.Designer.cs
@@ -4560,6 +4560,15 @@ namespace Snap.Hutao.Resource.Localization {
}
}
+ ///
+ /// 查找类似 历练点获取详情 的本地化字符串。
+ ///
+ internal static string ViewPageDailyNoteAttendanceStatusInfo {
+ get {
+ return ResourceManager.GetString("ViewPageDailyNoteAttendanceStatusInfo", resourceCulture);
+ }
+ }
+
///
/// 查找类似 在实时便笺刷新后推送到指定的 Webhook 的本地化字符串。
///
@@ -7116,6 +7125,60 @@ namespace Snap.Hutao.Resource.Localization {
}
}
+ ///
+ /// 查找类似 已完成 的本地化字符串。
+ ///
+ internal static string WebDailyNoteAttendanceRewardStatusFinishedNonReward {
+ get {
+ return ResourceManager.GetString("WebDailyNoteAttendanceRewardStatusFinishedNonReward", resourceCulture);
+ }
+ }
+
+ ///
+ /// 查找类似 禁止领取 的本地化字符串。
+ ///
+ internal static string WebDailyNoteAttendanceRewardStatusForbid {
+ get {
+ return ResourceManager.GetString("WebDailyNoteAttendanceRewardStatusForbid", resourceCulture);
+ }
+ }
+
+ ///
+ /// 查找类似 无效 的本地化字符串。
+ ///
+ internal static string WebDailyNoteAttendanceRewardStatusInvalid {
+ get {
+ return ResourceManager.GetString("WebDailyNoteAttendanceRewardStatusInvalid", resourceCulture);
+ }
+ }
+
+ ///
+ /// 查找类似 已领取 的本地化字符串。
+ ///
+ internal static string WebDailyNoteAttendanceRewardStatusTakenAward {
+ get {
+ return ResourceManager.GetString("WebDailyNoteAttendanceRewardStatusTakenAward", resourceCulture);
+ }
+ }
+
+ ///
+ /// 查找类似 尚未完成 的本地化字符串。
+ ///
+ internal static string WebDailyNoteAttendanceRewardStatusUnfinished {
+ get {
+ return ResourceManager.GetString("WebDailyNoteAttendanceRewardStatusUnfinished", resourceCulture);
+ }
+ }
+
+ ///
+ /// 查找类似 等待领取 的本地化字符串。
+ ///
+ internal static string WebDailyNoteAttendanceRewardStatusWaitTaken {
+ get {
+ return ResourceManager.GetString("WebDailyNoteAttendanceRewardStatusWaitTaken", resourceCulture);
+ }
+ }
+
///
/// 查找类似 {0} 时 的本地化字符串。
///
diff --git a/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.resx b/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.resx
index a01f84c0..66afb624 100644
--- a/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.resx
+++ b/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.resx
@@ -1673,6 +1673,9 @@
添加
+
+ 历练点获取详情
+
在实时便笺刷新后推送到指定的 Webhook
@@ -2525,6 +2528,24 @@
已复制到剪贴板
+
+ 已完成
+
+
+ 禁止领取
+
+
+ 无效
+
+
+ 已领取
+
+
+ 尚未完成
+
+
+ 等待领取
+
{0} 时
diff --git a/src/Snap.Hutao/Snap.Hutao/Snap.Hutao.csproj b/src/Snap.Hutao/Snap.Hutao/Snap.Hutao.csproj
index 8fc8ed96..77fc89c4 100644
--- a/src/Snap.Hutao/Snap.Hutao/Snap.Hutao.csproj
+++ b/src/Snap.Hutao/Snap.Hutao/Snap.Hutao.csproj
@@ -100,6 +100,7 @@
+
@@ -227,6 +228,7 @@
+
diff --git a/src/Snap.Hutao/Snap.Hutao/View/Page/DailyNotePage.xaml b/src/Snap.Hutao/Snap.Hutao/View/Page/DailyNotePage.xaml
index b9da657b..9ccec67a 100644
--- a/src/Snap.Hutao/Snap.Hutao/View/Page/DailyNotePage.xaml
+++ b/src/Snap.Hutao/Snap.Hutao/View/Page/DailyNotePage.xaml
@@ -15,6 +15,7 @@
xmlns:shci="using:Snap.Hutao.Control.Image"
xmlns:shcm="using:Snap.Hutao.Control.Markup"
xmlns:shvc="using:Snap.Hutao.View.Control"
+ xmlns:shvcp="using:Snap.Hutao.View.Card.Primitive"
xmlns:shvd="using:Snap.Hutao.ViewModel.DailyNote"
d:DataContext="{d:DesignInstance shvd:DailyNoteViewModel}"
Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"
@@ -369,9 +370,10 @@
+
+
diff --git a/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Takumi/GameRecord/DailyNote/AttendanceReward.cs b/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Takumi/GameRecord/DailyNote/AttendanceReward.cs
index 375341a9..76543342 100644
--- a/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Takumi/GameRecord/DailyNote/AttendanceReward.cs
+++ b/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Takumi/GameRecord/DailyNote/AttendanceReward.cs
@@ -9,6 +9,8 @@ internal sealed class AttendanceReward
[JsonConverter(typeof(JsonStringEnumConverter))]
public AttendanceRewardStatus Status { get; set; }
+ public string StatusFormatted { get => Status.GetLocalizedDescription(); }
+
[JsonPropertyName("progress")]
public int Progress { get; set; }
}
\ No newline at end of file
diff --git a/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Takumi/GameRecord/DailyNote/AttendanceRewardStatus.cs b/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Takumi/GameRecord/DailyNote/AttendanceRewardStatus.cs
index 5dacf78b..0dff1c0c 100644
--- a/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Takumi/GameRecord/DailyNote/AttendanceRewardStatus.cs
+++ b/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Takumi/GameRecord/DailyNote/AttendanceRewardStatus.cs
@@ -3,12 +3,24 @@
namespace Snap.Hutao.Web.Hoyolab.Takumi.GameRecord.DailyNote;
+[Localization]
internal enum AttendanceRewardStatus
{
+ [LocalizationKey("WebDailyNoteAttendanceRewardStatusInvalid")]
AttendanceRewardStatusInvalid,
+
+ [LocalizationKey("WebDailyNoteAttendanceRewardStatusTakenAward")]
AttendanceRewardStatusTakenAward,
+
+ [LocalizationKey("WebDailyNoteAttendanceRewardStatusWaitTaken")]
AttendanceRewardStatusWaitTaken,
+
+ [LocalizationKey("WebDailyNoteAttendanceRewardStatusUnfinished")]
AttendanceRewardStatusUnfinished,
+
+ [LocalizationKey("WebDailyNoteAttendanceRewardStatusFinishedNonReward")]
AttendanceRewardStatusFinishedNonReward,
+
+ [LocalizationKey("WebDailyNoteAttendanceRewardStatusForbid")]
AttendanceRewardStatusForbid,
}