From 53a393ee1a96687af1d08d73dc0841309d85beae Mon Sep 17 00:00:00 2001 From: estrogen elf <87099578+BlossomiShymae@users.noreply.github.com> Date: Fri, 13 Jun 2025 23:31:17 -0500 Subject: [PATCH] refactor: use icons from Icons.Avalonia --- Needlework.Net/Assets/Icons/home.png | Bin 2930 -> 0 bytes Needlework.Net/Assets/Icons/info-circle.png | Bin 3295 -> 0 bytes Needlework.Net/Assets/Icons/list-alt.png | Bin 1952 -> 0 bytes Needlework.Net/Assets/Icons/plug.png | Bin 2896 -> 0 bytes Needlework.Net/Assets/Icons/terminal.png | Bin 938 -> 0 bytes .../MainWindow/MainWindowViewModel.cs | 18 ++++++++++++++++-- .../ViewModels/Pages/About/AboutViewModel.cs | 2 +- .../Pages/Console/ConsoleViewModel.cs | 2 +- .../Pages/Endpoints/EndpointsViewModel.cs | 2 +- .../ViewModels/Pages/Home/HomeViewModel.cs | 2 +- .../Pages/Websocket/WebsocketViewModel.cs | 2 +- 11 files changed, 21 insertions(+), 7 deletions(-) delete mode 100644 Needlework.Net/Assets/Icons/home.png delete mode 100644 Needlework.Net/Assets/Icons/info-circle.png delete mode 100644 Needlework.Net/Assets/Icons/list-alt.png delete mode 100644 Needlework.Net/Assets/Icons/plug.png delete mode 100644 Needlework.Net/Assets/Icons/terminal.png diff --git a/Needlework.Net/Assets/Icons/home.png b/Needlework.Net/Assets/Icons/home.png deleted file mode 100644 index 76b103139a473c59bc5207d5ec8a269c69b0c5b1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2930 zcmeHIX*AT28XjY8BTLMXbP-vmqB1uW8iX+jp)6rg3=vWcikV3&k$uU&WXoD)X)Gh6 zk!4UwLlcc9Ym6`%KiB{J{eQY&?uY+-o^zh}{qUUkoaemnd7`Z>&_d9|P!I?tgfTI+ z27$QtTP_ek_dfYl+S`Ia;5aLDTciDP@1Od|f&UK&9uzjs>|f;gU26*)5Eqym!o$nQ zF8~!hAS5gzdQeOp2A7aLBz0K&$iHM{<&MfL98*+MRzVy;aZ*+7^ci*Jzt3uDojb3s zql?nhH@IkMWQ;b!n3-R)u(Y~tZF|Me-of#jld}uf)&2Sn4^Nzz_e~$)TmFG}gYox? z52GGEiGCXMEFm!|B`rN8Gb=kMFTbFuxTLh~WkqFG&8ye7b#Lk$8k^pdn_F5b?H!%( zyShL0eC+M(AD|5m4S)JPGCKBU{40H8@*87n`Ui7nc5eRX!s62M%IdGRb=Jo3&8=IFkR#wG`qwkMo1qQI@ld=L2*g)~G1RvW`MR9L#=<;~e844kM(SIw71@>1S&yIl`sx}UeoX=I<0N_Xc~w#gl%>ES+RX!YvvxA z4@0y9V)>ZMOql>buK>ssChZMJHK}6`ET7-y4mhaYQXjeG(5|bpIXWZ9pYSp7APH6r z;uoc2TT%%mSotYeeiUJCb(g=$Du_#fX{jD%Dkv(o8*btk_RuuF_!ElHfp{O-I2(Iw z*#ua~2yo?r@iYB>k?14Ki(b%h@zcyx;~b&ZAj3{^ixMk4O+rb(NL>v>W-8^833Lo% zxi7Y6AR{U(>#rj=jEHSlH3-X%gCeWsPcLB$Br2A1eO59%>`9C3U-sZk8l3A7| zk9D^YN5At#0LOa_@ZII_(;G)U5@8X`6c9N{xps5R<8cmrfI&`%sflSFGppkKM!ET? zQa0VjVH%U}%Q!#@>!}glV*1U>brqAWI+{Bhf8fVO#WS9==XIH=Q0hRu)iFW__I&LR z(yfn)<^|rD-!%_0pz42mE8Ks_Vm9)q2oL`&Fe4x5p*oAA*1E_OtJ}6dH@|Ibgqxqh%IE_)N z`V1XQZogmXmb8)4IPFZBHI5*B%f|!qeVTm`O_RO+7>3B>UA{K6sc8v}I9MjKu$QMH@_ZmoTP1xJu4SHy$Wx8>!7e+%gIS}SzX!=4og;*Ac^PKXY8;WqPEU8IIDz! zkMM%!K!1xH^Vyxs*?nMj$b~LAKN0jl;g^eE>jJp&&f@VD&+^+p}c?9zQ=11jH suWyN&$)fW9IXQ#crGJx`AdpuFDxq679o-YT@>iZ>j4TYR4O}1m2lM~MsQ>@~ diff --git a/Needlework.Net/Assets/Icons/info-circle.png b/Needlework.Net/Assets/Icons/info-circle.png deleted file mode 100644 index 53ab7e767600d38b74112166073ef8bf2d630684..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3295 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 UYXm=?uLlK`r>mdKI;Vst0B@FUV*mgE diff --git a/Needlework.Net/Assets/Icons/plug.png b/Needlework.Net/Assets/Icons/plug.png deleted file mode 100644 index e0f566abdf2ba4084455566fc53df3d5360ef308..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2896 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 Q^+y9v_NVNcjs>Ls4FfebUH||9 diff --git a/Needlework.Net/Assets/Icons/terminal.png b/Needlework.Net/Assets/Icons/terminal.png deleted file mode 100644 index 2d12d6def53522d325ca44d78c1d34f7f4901c24..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 938 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K58911MRQ8&P5Fqt1z$e5NNdF(!V9hF~&p=Ol zl?3?(GcdAqa&hzU^6?7_35$q|OGwGc%E>D#sj6vc8K-15we?JxHGARWB}-SX-Lmz} zrK{I(-nxC~?!EgD9zK5Z^x2Dd?>~M1_Wj4tU%&tT+UcDDG?g*Q+ug-Wj%VvJ1_mZY zPZ!6Kid%2*-V72B6luG-ILX1pv4g{+U&5UyP=wX-qQ>vP@+Y|UWLD@Ug-Z9m+d5C- z|MXXOD?>_yK=FhOKGe^OoO#k_|L+W$$Bz1M|NYZYQi{`0zx!XSFDL%&Ui-|(`QMi7 zd^r8Dg|+VX{B;L5{yoW6;$CREkMyw%+Iv#dUc&d`QO>x2{K_fFn7>i=ze7$oND>gTe~DWM4fZM-W> diff --git a/Needlework.Net/ViewModels/MainWindow/MainWindowViewModel.cs b/Needlework.Net/ViewModels/MainWindow/MainWindowViewModel.cs index cde5527..58f869e 100644 --- a/Needlework.Net/ViewModels/MainWindow/MainWindowViewModel.cs +++ b/Needlework.Net/ViewModels/MainWindow/MainWindowViewModel.cs @@ -1,4 +1,6 @@ -using BlossomiShymae.Briar; +using Avalonia; +using Avalonia.Media; +using BlossomiShymae.Briar; using BlossomiShymae.Briar.Utils; using CommunityToolkit.Mvvm.ComponentModel; using CommunityToolkit.Mvvm.Input; @@ -123,7 +125,19 @@ public partial class MainWindowViewModel { Content = page.DisplayName, Tag = page, - IconSource = new BitmapIconSource() { UriSource = new Uri($"avares://NeedleworkDotNet/Assets/Icons/{page.Icon}.png") } + IconSource = new ImageIconSource + { + Source = new Projektanker.Icons.Avalonia.IconImage() + { + Value = page.Icon, + Brush = new SolidColorBrush(Application.Current!.ActualThemeVariant.Key switch + { + "Light" => Colors.Black, + "Dark" => Colors.White, + _ => Colors.Gray + }) + } + } }; partial void OnSelectedNavigationViewItemChanged(NavigationViewItem value) diff --git a/Needlework.Net/ViewModels/Pages/About/AboutViewModel.cs b/Needlework.Net/ViewModels/Pages/About/AboutViewModel.cs index b738f72..031b29b 100644 --- a/Needlework.Net/ViewModels/Pages/About/AboutViewModel.cs +++ b/Needlework.Net/ViewModels/Pages/About/AboutViewModel.cs @@ -6,7 +6,7 @@ namespace Needlework.Net.ViewModels.Pages.About; public partial class AboutViewModel : PageBase { - public AboutViewModel() : base("About", "info-circle") + public AboutViewModel() : base("About", "fa-solid fa-circle-info") { } diff --git a/Needlework.Net/ViewModels/Pages/Console/ConsoleViewModel.cs b/Needlework.Net/ViewModels/Pages/Console/ConsoleViewModel.cs index 12bfecd..495a873 100644 --- a/Needlework.Net/ViewModels/Pages/Console/ConsoleViewModel.cs +++ b/Needlework.Net/ViewModels/Pages/Console/ConsoleViewModel.cs @@ -12,7 +12,7 @@ public partial class ConsoleViewModel : PageBase { private readonly DocumentService _documentService; - public ConsoleViewModel(DocumentService documentService, NotificationService notificationService) : base("Console", "terminal", -200) + public ConsoleViewModel(DocumentService documentService, NotificationService notificationService) : base("Console", "fa-solid fa-terminal", -200) { _request = new(notificationService, Endpoints.Tab.LCU); _documentService = documentService; diff --git a/Needlework.Net/ViewModels/Pages/Endpoints/EndpointsViewModel.cs b/Needlework.Net/ViewModels/Pages/Endpoints/EndpointsViewModel.cs index 7942849..3772ec5 100644 --- a/Needlework.Net/ViewModels/Pages/Endpoints/EndpointsViewModel.cs +++ b/Needlework.Net/ViewModels/Pages/Endpoints/EndpointsViewModel.cs @@ -22,7 +22,7 @@ public partial class EndpointsViewModel : PageBase private readonly NotificationService _notificationService; - public EndpointsViewModel(DocumentService documentService, NotificationService notificationService) : base("Endpoints", "list-alt", -500) + public EndpointsViewModel(DocumentService documentService, NotificationService notificationService) : base("Endpoints", "fa-solid fa-rectangle-list", -500) { _documentService = documentService; _notificationService = notificationService; diff --git a/Needlework.Net/ViewModels/Pages/Home/HomeViewModel.cs b/Needlework.Net/ViewModels/Pages/Home/HomeViewModel.cs index 072feb6..2294685 100644 --- a/Needlework.Net/ViewModels/Pages/Home/HomeViewModel.cs +++ b/Needlework.Net/ViewModels/Pages/Home/HomeViewModel.cs @@ -12,7 +12,7 @@ namespace Needlework.Net.ViewModels.Pages.Home; public partial class HomeViewModel : PageBase { - public HomeViewModel() : base("Home", "home", int.MinValue) { } + public HomeViewModel() : base("Home", "fa-solid fa-house", int.MinValue) { } public List Libraries { get; } = JsonSerializer.Deserialize>(AssetLoader.Open(new Uri($"avares://NeedleworkDotNet/Assets/libraries.json"))) !.Where(library => library.Tags.Contains("lcu") || library.Tags.Contains("ingame")) diff --git a/Needlework.Net/ViewModels/Pages/Websocket/WebsocketViewModel.cs b/Needlework.Net/ViewModels/Pages/Websocket/WebsocketViewModel.cs index 08a2390..8382423 100644 --- a/Needlework.Net/ViewModels/Pages/Websocket/WebsocketViewModel.cs +++ b/Needlework.Net/ViewModels/Pages/Websocket/WebsocketViewModel.cs @@ -33,7 +33,7 @@ public partial class WebSocketViewModel : PageBase, IEnableLogger private readonly object _tokenLock = new(); - public WebSocketViewModel(IFlurlClientCache clients, NotificationService notificationService) : base("Event Viewer", "plug", -100) + public WebSocketViewModel(IFlurlClientCache clients, NotificationService notificationService) : base("Event Viewer", "fa-solid fa-plug", -100) { _githubUserContentClient = clients.Get("GithubUserContentClient"); _notificationService = notificationService;