From 930de733240802c682c0767365a331a68ef1cb5c Mon Sep 17 00:00:00 2001 From: uye <99072975+ABA2396@users.noreply.github.com> Date: Sat, 18 Oct 2025 23:22:58 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=9C=AC=E6=AC=A1=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E7=9A=84=E5=85=AC=E5=91=8A=E5=8F=B3=E4=B8=8A=E8=A7=92=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E7=BA=A2=E7=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ViewModels/UI/AnnouncementViewModel.cs | 13 ++++++++++- src/MaaWpfGui/Views/UI/AnnouncementView.xaml | 23 +++++++++++++++---- 2 files changed, 31 insertions(+), 5 deletions(-) diff --git a/src/MaaWpfGui/ViewModels/UI/AnnouncementViewModel.cs b/src/MaaWpfGui/ViewModels/UI/AnnouncementViewModel.cs index 02bd9d3601..17c42df955 100644 --- a/src/MaaWpfGui/ViewModels/UI/AnnouncementViewModel.cs +++ b/src/MaaWpfGui/ViewModels/UI/AnnouncementViewModel.cs @@ -44,6 +44,8 @@ public class AnnouncementViewModel : Screen { public string Title { get; set; } + public bool IsNew { get; set; } + public string Content { get; set; } } @@ -85,13 +87,22 @@ public class AnnouncementViewModel : Screen private static ObservableCollection ParseAnnouncementInfo(string markdown) { + const string NewString = "(NEW!!!)"; var sections = markdown.Split(["### "], StringSplitOptions.RemoveEmptyEntries) .Select(section => { var lines = section.Split('\n'); + bool isNew = false; + if (lines.Length > 0 && lines[0].Contains(NewString, StringComparison.OrdinalIgnoreCase)) + { + isNew = true; + lines[0] = lines[0].Replace(NewString, string.Empty, StringComparison.OrdinalIgnoreCase).Trim(); + } + return new AnnouncementSection { Title = lines.FirstOrDefault(), + IsNew = isNew, Content = "### " + string.Join("\n", lines).Trim([' ', '\n', '-']), }; }).ToList(); @@ -99,7 +110,7 @@ public class AnnouncementViewModel : Screen sections.Insert(0, new() { Title = "ALL~ the Announcements", - Content = markdown, + Content = markdown.Replace(NewString, string.Empty, StringComparison.OrdinalIgnoreCase).Trim(), }); return [.. sections]; diff --git a/src/MaaWpfGui/Views/UI/AnnouncementView.xaml b/src/MaaWpfGui/Views/UI/AnnouncementView.xaml index 9ac784fb6e..cdeaa3369d 100644 --- a/src/MaaWpfGui/Views/UI/AnnouncementView.xaml +++ b/src/MaaWpfGui/Views/UI/AnnouncementView.xaml @@ -40,10 +40,25 @@ - + + + + + + + + +