diff --git a/Ryujinx.Ava/UI/ViewModels/AboutWindowViewModel.cs b/Ryujinx.Ava/UI/ViewModels/AboutWindowViewModel.cs
new file mode 100644
index 0000000000..5faad33fbd
--- /dev/null
+++ b/Ryujinx.Ava/UI/ViewModels/AboutWindowViewModel.cs
@@ -0,0 +1,136 @@
+using Avalonia;
+using Avalonia.Media.Imaging;
+using Avalonia.Threading;
+using Ryujinx.Ava.Common.Locale;
+using Ryujinx.Common.Utilities;
+using Ryujinx.Ui.Common.Configuration;
+using System;
+using System.Net.Http;
+using System.Net.NetworkInformation;
+using System.Threading.Tasks;
+
+namespace Ryujinx.Ava.UI.ViewModels
+{
+    public class AboutWindowViewModel : BaseModel
+    {
+        private Bitmap _githubLogo;
+        private Bitmap _discordLogo;
+        private Bitmap _patreonLogo;
+        private Bitmap _twitterLogo;
+
+        private string _version;
+        private string _supporters;
+
+        public Bitmap GithubLogo
+        {
+            get => _githubLogo;
+            set
+            {
+                _githubLogo = value;
+                OnPropertyChanged();
+            }
+        }
+
+        public Bitmap DiscordLogo
+        {
+            get => _discordLogo;
+            set
+            {
+                _discordLogo = value;
+                OnPropertyChanged();
+            }
+        }
+
+        public Bitmap PatreonLogo
+        {
+            get => _patreonLogo;
+            set
+            {
+                _patreonLogo = value;
+                OnPropertyChanged();
+            }
+        }
+
+        public Bitmap TwitterLogo
+        {
+            get => _twitterLogo;
+            set
+            {
+                _twitterLogo = value;
+                OnPropertyChanged();
+            }
+        }
+
+        public string Supporters
+        {
+            get => _supporters;
+            set
+            {
+                _supporters = value;
+                OnPropertyChanged();
+            }
+        }
+
+        public string Version
+        {
+            get => _version;
+            set
+            {
+                _version = value;
+                OnPropertyChanged();
+            }
+        }
+
+        public string Developers
+        {
+            get => string.Format(LocaleManager.Instance[LocaleKeys.AboutPageDeveloperListMore], "gdkchan, Ac_K, marysaka, rip in peri peri, LDj3SNuD, emmaus, Thealexbarney, GoffyDude, TSRBerry, IsaacMarovitz");
+        }
+
+        public AboutWindowViewModel()
+        {
+            Version = Program.Version;
+
+            var assets = AvaloniaLocator.Current.GetService<Avalonia.Platform.IAssetLoader>();
+
+            if (ConfigurationState.Instance.Ui.BaseStyle.Value == "Light")
+            {
+                GithubLogo = new Bitmap(assets.Open(new Uri("resm:Ryujinx.Ui.Common.Resources.Logo_GitHub_Light.png?assembly=Ryujinx.Ui.Common")));
+                DiscordLogo = new Bitmap(assets.Open(new Uri("resm:Ryujinx.Ui.Common.Resources.Logo_Discord_Light.png?assembly=Ryujinx.Ui.Common")));
+                PatreonLogo = new Bitmap(assets.Open(new Uri("resm:Ryujinx.Ui.Common.Resources.Logo_Patreon_Light.png?assembly=Ryujinx.Ui.Common")));
+                TwitterLogo = new Bitmap(assets.Open(new Uri("resm:Ryujinx.Ui.Common.Resources.Logo_Twitter_Light.png?assembly=Ryujinx.Ui.Common")));
+            }
+            else
+            {
+                GithubLogo = new Bitmap(assets.Open(new Uri("resm:Ryujinx.Ui.Common.Resources.Logo_GitHub_Dark.png?assembly=Ryujinx.Ui.Common")));
+                DiscordLogo = new Bitmap(assets.Open(new Uri("resm:Ryujinx.Ui.Common.Resources.Logo_Discord_Dark.png?assembly=Ryujinx.Ui.Common")));
+                PatreonLogo = new Bitmap(assets.Open(new Uri("resm:Ryujinx.Ui.Common.Resources.Logo_Patreon_Dark.png?assembly=Ryujinx.Ui.Common")));
+                TwitterLogo = new Bitmap(assets.Open(new Uri("resm:Ryujinx.Ui.Common.Resources.Logo_Twitter_Dark.png?assembly=Ryujinx.Ui.Common")));
+            }
+
+            Dispatcher.UIThread.InvokeAsync(DownloadPatronsJson);
+        }
+
+        private async Task DownloadPatronsJson()
+        {
+            if (!NetworkInterface.GetIsNetworkAvailable())
+            {
+                Supporters = LocaleManager.Instance[LocaleKeys.ConnectionError];
+
+                return;
+            }
+
+            HttpClient httpClient = new();
+
+            try
+            {
+                string patreonJsonString = await httpClient.GetStringAsync("https://patreon.ryujinx.org/");
+
+                Supporters = string.Join(", ", JsonHelper.Deserialize<string[]>(patreonJsonString)) + "\n\n";
+            }
+            catch
+            {
+                Supporters = LocaleManager.Instance[LocaleKeys.ApiError];
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/Ryujinx.Ava/UI/ViewModels/MainWindowViewModel.cs b/Ryujinx.Ava/UI/ViewModels/MainWindowViewModel.cs
index 953f8562cf..888e227c0c 100644
--- a/Ryujinx.Ava/UI/ViewModels/MainWindowViewModel.cs
+++ b/Ryujinx.Ava/UI/ViewModels/MainWindowViewModel.cs
@@ -1018,7 +1018,7 @@ namespace Ryujinx.Ava.UI.ViewModels
 
         public async void OpenAboutWindow()
         {
-            await new AboutWindow().ShowDialog(_owner);
+            await AboutWindow.Show();
         }
 
         public void ChangeLanguage(object obj)
diff --git a/Ryujinx.Ava/UI/Windows/AboutWindow.axaml b/Ryujinx.Ava/UI/Windows/AboutWindow.axaml
index 08d28740b0..f446890cc0 100644
--- a/Ryujinx.Ava/UI/Windows/AboutWindow.axaml
+++ b/Ryujinx.Ava/UI/Windows/AboutWindow.axaml
@@ -1,282 +1,253 @@
-<window:StyleableWindow
-    x:Class="Ryujinx.Ava.UI.Windows.AboutWindow"
+<UserControl
     xmlns="https://github.com/avaloniaui"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
     xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
     xmlns:locale="clr-namespace:Ryujinx.Ava.Common.Locale"
+    xmlns:flex="clr-namespace:Avalonia.Flexbox;assembly=Avalonia.Flexbox"
+    xmlns:ui="clr-namespace:FluentAvalonia.UI.Controls;assembly=FluentAvalonia"
+    xmlns:viewModel="clr-namespace:Ryujinx.Ava.UI.ViewModels"
     xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
-    xmlns:window="clr-namespace:Ryujinx.Ava.UI.Windows"
-    Width="850"
-    Height="550"
-    MinWidth="500"
-    MinHeight="550"
-    d:DesignHeight="350"
-    d:DesignWidth="400"
-    CanResize="False"
-    SizeToContent="Width"
-    WindowStartupLocation="CenterOwner"
     mc:Ignorable="d"
+    d:DesignHeight="260"
+    d:DesignWidth="550"
+    Height="260"
+    Width="550"
+    x:Class="Ryujinx.Ava.UI.Windows.AboutWindow"
+    x:DataType="viewModel:AboutWindowViewModel"
+    x:CompileBindings="True"
+    Margin="0 -12 0 0"
     Focusable="True">
+	<Design.DataContext>
+		<viewModel:AboutWindowViewModel />
+	</Design.DataContext>
 	<Grid
-        Margin="15"
         HorizontalAlignment="Stretch"
         VerticalAlignment="Stretch">
-		<Grid.RowDefinitions>
-			<RowDefinition Height="Auto" />
-			<RowDefinition Height="*" />
-		</Grid.RowDefinitions>
 		<Grid.ColumnDefinitions>
 			<ColumnDefinition Width="Auto" />
 			<ColumnDefinition Width="Auto" />
 			<ColumnDefinition Width="*" />
 		</Grid.ColumnDefinitions>
 		<Grid
-            Grid.Row="1"
             Grid.Column="0"
-            Margin="20"
             HorizontalAlignment="Stretch"
             VerticalAlignment="Stretch">
 			<Grid.RowDefinitions>
+				<RowDefinition Height="Auto" />
 				<RowDefinition Height="*" />
-				<RowDefinition Height="*" />
-				<RowDefinition />
-				<RowDefinition />
 				<RowDefinition Height="Auto" />
 			</Grid.RowDefinitions>
-			<Grid Grid.Row="0">
-				<Grid.ColumnDefinitions>
-					<ColumnDefinition />
-					<ColumnDefinition />
-				</Grid.ColumnDefinitions>
-				<Grid.RowDefinitions>
-					<RowDefinition Height="Auto" />
-					<RowDefinition Height="Auto" />
-					<RowDefinition Height="Auto" />
-				</Grid.RowDefinitions>
-				<Image
-                    Grid.Row="0"
-                    Grid.RowSpan="3"
-                    Grid.Column="0"
-                    Height="110"
-                    MinWidth="50"
-                    Margin="5,10,20,10"
-                    Source="resm:Ryujinx.Ui.Common.Resources.Logo_Ryujinx.png?assembly=Ryujinx.Ui.Common" />
-				<TextBlock
-                    Grid.Row="0"
-                    Grid.Column="1"
-                    Margin="0,20,0,0"
-                    FontSize="35"
-                    Text="Ryujinx"
-                    TextAlignment="Center" />
-				<TextBlock
-                    Grid.Row="1"
-                    Grid.Column="1"
-                    Margin="0,0,0,0"
-                    FontSize="16"
-                    Text="(REE-YOU-JINX)"
-                    TextAlignment="Center" />
-				<Button
-                    Grid.Row="2"
-                    Grid.Column="1"
-                    Margin="0"
-                    HorizontalAlignment="Center"
-                    Background="Transparent"
-                    Click="Button_OnClick"
-                    Tag="https://www.ryujinx.org/">
-					<TextBlock
-                        Text="www.ryujinx.org"
-                        TextAlignment="Center"
-                        TextDecorations="Underline"
-                        ToolTip.Tip="{locale:Locale AboutUrlTooltipMessage}" />
-				</Button>
-			</Grid>
-			<TextBlock
-                Grid.Row="1"
-                HorizontalAlignment="Center"
-                VerticalAlignment="Center"
-                Text="{Binding Version}"
-                TextAlignment="Center" />
-			<TextBlock
-                Grid.Row="2"
-                Margin="20"
-                HorizontalAlignment="Center"
-                MaxLines="2"
-                Text="{locale:Locale AboutDisclaimerMessage}"
-                TextAlignment="Center" />
-			<TextBlock
-                Name="AmiiboLabel"
-                Grid.Row="3"
-                Margin="20"
-                HorizontalAlignment="Center"
-                MaxLines="2"
-                PointerPressed="AmiiboLabel_OnPointerPressed"
-                Text="{locale:Locale AboutAmiiboDisclaimerMessage}"
-                TextAlignment="Center" />
 			<StackPanel
-                Grid.Row="4"
-                HorizontalAlignment="Center"
-                Orientation="Horizontal"
-                Spacing="10">
-				<StackPanel Orientation="Vertical" ToolTip.Tip="{locale:Locale AboutPatreonUrlTooltipMessage}">
+				Grid.Row="0"
+				Spacing="10"
+				HorizontalAlignment="Stretch"
+				VerticalAlignment="Stretch">
+				<Grid>
+					<Grid.ColumnDefinitions>
+						<ColumnDefinition Width="Auto" />
+						<ColumnDefinition Width="*" />
+						<ColumnDefinition Width="Auto" />
+					</Grid.ColumnDefinitions>
+					<Image
+						Grid.Column="0"
+						Height="80"
+						Source="resm:Ryujinx.Ui.Common.Resources.Logo_Ryujinx.png?assembly=Ryujinx.Ui.Common" />
+					<flex:FlexPanel
+						Grid.Column="2"
+						HorizontalAlignment="Stretch"
+						VerticalAlignment="Stretch"
+						Direction="Column"
+						JustifyContent="SpaceAround"
+						RowSpacing="2">
+						<TextBlock
+							FontSize="28"
+							FontWeight="Bold"
+							Text="Ryujinx"
+							TextAlignment="Left" />
+						<TextBlock
+							Text="(REE-YOU-JINX)"
+							TextAlignment="Left" />
+					</flex:FlexPanel>
+				</Grid>
+				<TextBlock
+					HorizontalAlignment="Center"
+					VerticalAlignment="Center"
+					Text="{Binding Version}"
+					TextAlignment="Center"
+					FontSize="10"
+					LineHeight="12" />
+			</StackPanel>
+			<StackPanel
+				Grid.Row="2"
+				Spacing="10"
+				HorizontalAlignment="Stretch"
+				VerticalAlignment="Stretch">
+				<TextBlock
+	                HorizontalAlignment="Center"
+	                Width="200"
+	                Text="{locale:Locale AboutDisclaimerMessage}"
+	                TextAlignment="Center"
+	                TextWrapping="Wrap"
+	                FontSize="10"
+	                LineHeight="12" />
+				<TextBlock
+	                Name="AmiiboLabel"
+	                HorizontalAlignment="Center"
+	                Width="200"
+	                PointerPressed="AmiiboLabel_OnPointerPressed"
+	                Text="{locale:Locale AboutAmiiboDisclaimerMessage}"
+	                TextAlignment="Center"
+	                TextWrapping="Wrap"
+	                FontSize="10"
+	                LineHeight="12" />
+				<StackPanel
+	                HorizontalAlignment="Center"
+	                Orientation="Horizontal"
+	                Spacing="10">
 					<Button
-                        Height="65"
-                        Background="Transparent"
-                        Click="Button_OnClick"
-                        Tag="https://www.patreon.com/ryujinx">
-						<Grid>
-							<Grid.RowDefinitions>
-								<RowDefinition />
-								<RowDefinition Height="Auto" />
-							</Grid.RowDefinitions>
-							<Image Source="resm:Ryujinx.Ui.Common.Resources.Logo_Patreon.png?assembly=Ryujinx.Ui.Common" />
-							<TextBlock
-                                Grid.Row="1"
-                                Margin="0,5,0,0"
-                                HorizontalAlignment="Center"
-                                Text="Patreon" />
-						</Grid>
+						MaxHeight="30"
+						MaxWidth="30"
+						MinHeight="30"
+						MinWidth="30"
+						Padding="8"
+						CornerRadius="15"
+						Background="Transparent"
+						Click="Button_OnClick"
+						Tag="https://www.patreon.com/ryujinx"
+						ToolTip.Tip="{locale:Locale AboutPatreonUrlTooltipMessage}">
+						<Image Source="{Binding PatreonLogo}" />
 					</Button>
-				</StackPanel>
-				<StackPanel Orientation="Vertical" ToolTip.Tip="{locale:Locale AboutGithubUrlTooltipMessage}">
 					<Button
-                        Height="65"
-                        Background="Transparent"
-                        Click="Button_OnClick"
-                        Tag="https://github.com/Ryujinx/Ryujinx">
-						<Grid>
-							<Grid.RowDefinitions>
-								<RowDefinition />
-								<RowDefinition Height="Auto" />
-							</Grid.RowDefinitions>
-							<Image Source="resm:Ryujinx.Ui.Common.Resources.Logo_GitHub.png?assembly=Ryujinx.Ui.Common" />
-							<TextBlock
-                                Grid.Row="1"
-                                Margin="0,5,0,0"
-                                HorizontalAlignment="Center"
-                                Text="GitHub" />
-						</Grid>
+						MaxHeight="30"
+						MaxWidth="30"
+						MinHeight="30"
+						MinWidth="30"
+						Padding="8"
+						CornerRadius="15"
+						Background="Transparent"
+						Click="Button_OnClick"
+						Tag="https://github.com/Ryujinx/Ryujinx"
+						ToolTip.Tip="{locale:Locale AboutGithubUrlTooltipMessage}">
+						<Image Source="{Binding GithubLogo}" />
 					</Button>
-				</StackPanel>
-				<StackPanel Orientation="Vertical" ToolTip.Tip="{locale:Locale AboutDiscordUrlTooltipMessage}">
 					<Button
-                        Height="65"
-                        Background="Transparent"
-                        Click="Button_OnClick"
-                        Tag="https://discordapp.com/invite/N2FmfVc">
-						<Grid>
-							<Grid.RowDefinitions>
-								<RowDefinition />
-								<RowDefinition Height="Auto" />
-							</Grid.RowDefinitions>
-							<Image Source="resm:Ryujinx.Ui.Common.Resources.Logo_Discord.png?assembly=Ryujinx.Ui.Common" />
-							<TextBlock
-                                Grid.Row="1"
-                                Margin="0,5,0,0"
-                                HorizontalAlignment="Center"
-                                Text="Discord" />
-						</Grid>
+						MaxHeight="30"
+						MaxWidth="30"
+						MinHeight="30"
+						MinWidth="30"
+						Padding="8"
+						CornerRadius="15"
+						Background="Transparent"
+						Click="Button_OnClick"
+						Tag="https://discordapp.com/invite/N2FmfVc"
+						ToolTip.Tip="{locale:Locale AboutDiscordUrlTooltipMessage}">
+						<Image Source="{Binding DiscordLogo}" />
 					</Button>
-				</StackPanel>
-				<StackPanel Orientation="Vertical" ToolTip.Tip="{locale:Locale AboutTwitterUrlTooltipMessage}">
 					<Button
-                        Height="65"
-                        Background="Transparent"
-                        Click="Button_OnClick"
-                        Tag="https://twitter.com/RyujinxEmu">
-						<Grid>
-							<Grid.RowDefinitions>
-								<RowDefinition />
-								<RowDefinition Height="Auto" />
-							</Grid.RowDefinitions>
-							<Image Source="resm:Ryujinx.Ui.Common.Resources.Logo_Twitter.png?assembly=Ryujinx.Ui.Common" />
-							<TextBlock
-                                Grid.Row="1"
-                                Margin="0,5,0,0"
-                                HorizontalAlignment="Center"
-                                Text="Twitter" />
-						</Grid>
+						MaxHeight="30"
+						MaxWidth="30"
+						MinHeight="30"
+						MinWidth="30"
+						Padding="8"
+						CornerRadius="15"
+						Background="Transparent"
+						Click="Button_OnClick"
+						Tag="https://twitter.com/RyujinxEmu"
+						ToolTip.Tip="{locale:Locale AboutTwitterUrlTooltipMessage}">
+						<Image Source="{Binding TwitterLogo}" />
+					</Button>
+					<Button
+						MaxHeight="30"
+						MaxWidth="30"
+						MinHeight="30"
+						MinWidth="30"
+						Padding="8"
+						CornerRadius="15"
+						Background="Transparent"
+						Click="Button_OnClick"
+						Tag="https://www.ryujinx.org"
+						ToolTip.Tip="{locale:Locale AboutUrlTooltipMessage}">
+						<ui:SymbolIcon
+							Symbol="Link"
+							Foreground="{DynamicResource ThemeForegroundColor}" />
 					</Button>
 				</StackPanel>
 			</StackPanel>
 		</Grid>
 		<Border
-            Grid.Row="1"
             Grid.Column="1"
-            Width="2"
-            Margin="5"
+            Width="1"
             VerticalAlignment="Stretch"
-            BorderBrush="White"
-            BorderThickness="1,0,0,0">
-			<Separator Width="0" />
-		</Border>
+            BorderBrush="{DynamicResource ThemeControlBorderColor}"
+            BorderThickness="1,0,0,0"
+            Margin="20 0"/>
 		<Grid
-            Grid.Row="1"
             Grid.Column="2"
-            Margin="20"
-            HorizontalAlignment="Stretch"
+			HorizontalAlignment="Stretch"
             VerticalAlignment="Stretch">
 			<Grid.RowDefinitions>
 				<RowDefinition Height="Auto" />
 				<RowDefinition Height="Auto" />
 				<RowDefinition Height="Auto" />
-				<RowDefinition Height="Auto" />
-				<RowDefinition Height="Auto" />
-				<RowDefinition Height="Auto" />
-				<RowDefinition Height="Auto" />
 			</Grid.RowDefinitions>
-			<TextBlock
-                FontWeight="Bold"
-                Text="{locale:Locale AboutRyujinxAboutTitle}"
-                TextDecorations="Underline" />
-			<TextBlock
-                Grid.Row="1"
-                Margin="20,5,5,5"
-                LineHeight="20"
-                Text="{locale:Locale AboutRyujinxAboutContent}" />
-			<TextBlock
-                Grid.Row="2"
-                Margin="0,10,0,0"
-                FontWeight="Bold"
-                Text="{locale:Locale AboutRyujinxMaintainersTitle}"
-                TextDecorations="Underline" />
-			<TextBlock
-                Grid.Row="3"
-                Margin="20,5,5,5"
-                LineHeight="20"
-                Text="{Binding Developers}" />
-			<Button
-                Grid.Row="4"
-                HorizontalAlignment="Right"
-                Background="Transparent"
-                Click="Button_OnClick"
-                Tag="https://github.com/Ryujinx/Ryujinx/graphs/contributors?type=a">
+			<StackPanel
+				Grid.Row="0"
+				Margin="0 10 0 0"
+				Spacing="2">
 				<TextBlock
-                    Text="{locale:Locale AboutRyujinxContributorsButtonHeader}"
-                    TextAlignment="Right"
-                    TextDecorations="Underline"
-                    ToolTip.Tip="{locale:Locale AboutRyujinxMaintainersContentTooltipMessage}" />
-			</Button>
-			<TextBlock
-                Grid.Row="5"
-                Margin="0,0,0,0"
-                FontWeight="Bold"
-                Text="{locale:Locale AboutRyujinxSupprtersTitle}"
-                TextDecorations="Underline" />
-			<Border
-                Grid.Row="6"
-                Width="460"
-                Height="200"
-                Margin="20,5"
-                Padding="5"
-                VerticalAlignment="Stretch"
-                BorderBrush="White"
-                BorderThickness="1">
+					FontWeight="Bold"
+					FontSize="15"
+					Text="{locale:Locale AboutRyujinxAboutTitle}" />
 				<TextBlock
-                    Name="SupportersTextBlock"
-                    VerticalAlignment="Top"
-                    Text="{Binding Supporters}"
-                    TextWrapping="Wrap" />
-			</Border>
+					FontSize="10"
+					TextWrapping="Wrap"
+					Text="{locale:Locale AboutRyujinxAboutContent}" />
+			</StackPanel>
+			<StackPanel
+				Grid.Row="1"
+				Margin="0 10 0 0"
+				Spacing="2">
+				<TextBlock
+					FontWeight="Bold"
+					FontSize="15"
+					Text="{locale:Locale AboutRyujinxMaintainersTitle}" />
+				<TextBlock
+					FontSize="10"
+					TextWrapping="Wrap"
+					Text="{Binding Developers}" />
+				<Button
+					HorizontalAlignment="Left"
+					Background="Transparent"
+					Click="Button_OnClick"
+					Padding="5"
+					Tag="https://github.com/Ryujinx/Ryujinx/graphs/contributors?type=a">
+					<TextBlock
+						FontSize="10"
+						Text="{locale:Locale AboutRyujinxContributorsButtonHeader}"
+						TextAlignment="Right"
+						ToolTip.Tip="{locale:Locale AboutRyujinxMaintainersContentTooltipMessage}" />
+				</Button>
+			</StackPanel>
+			<StackPanel
+				Grid.Row="2"
+				Margin="0 10 0 0"
+				Spacing="2">
+				<TextBlock
+					FontWeight="Bold"
+					FontSize="15"
+					Text="{locale:Locale AboutRyujinxSupprtersTitle}" />
+				<ScrollViewer
+					VerticalScrollBarVisibility="Visible"
+					HorizontalScrollBarVisibility="Disabled"
+					Height="70">
+					<TextBlock
+						Name="SupportersTextBlock"
+						VerticalAlignment="Top"
+						FontSize="10"
+						TextWrapping="Wrap"
+						Text="{Binding Supporters}" />
+				</ScrollViewer>
+			</StackPanel>
 		</Grid>
 	</Grid>
-</window:StyleableWindow>
+</UserControl>
\ No newline at end of file
diff --git a/Ryujinx.Ava/UI/Windows/AboutWindow.axaml.cs b/Ryujinx.Ava/UI/Windows/AboutWindow.axaml.cs
index 99280b8705..5dbbbcdd78 100644
--- a/Ryujinx.Ava/UI/Windows/AboutWindow.axaml.cs
+++ b/Ryujinx.Ava/UI/Windows/AboutWindow.axaml.cs
@@ -1,38 +1,48 @@
 using Avalonia.Controls;
 using Avalonia.Input;
 using Avalonia.Interactivity;
-using Avalonia.Threading;
+using Avalonia.Styling;
+using FluentAvalonia.UI.Controls;
 using Ryujinx.Ava.Common.Locale;
-using Ryujinx.Common.Utilities;
+using Ryujinx.Ava.UI.ViewModels;
 using Ryujinx.Ui.Common.Helper;
-using System.Net.Http;
-using System.Net.NetworkInformation;
 using System.Threading.Tasks;
+using Button = Avalonia.Controls.Button;
 
 namespace Ryujinx.Ava.UI.Windows
 {
-    public partial class AboutWindow : StyleableWindow
+    public partial class AboutWindow : UserControl
     {
         public AboutWindow()
         {
-            if (Program.PreviewerDetached)
-            {
-                Title = $"Ryujinx {Program.Version} - " + LocaleManager.Instance[LocaleKeys.MenuBarHelpAbout];
-            }
-
-            Version = Program.Version;
-
-            DataContext = this;
+            DataContext = new AboutWindowViewModel();
 
             InitializeComponent();
-
-            _ = DownloadPatronsJson();
         }
 
-        public string Supporters { get; set; }
-        public string Version { get; set; }
+        public static async Task Show()
+        {
+            var content = new AboutWindow();
 
-        public string Developers => string.Format(LocaleManager.Instance[LocaleKeys.AboutPageDeveloperListMore], "gdkchan, Ac_K, Thog, rip in peri peri, LDj3SNuD, emmaus, Thealexbarney, Xpl0itR, GoffyDude, »jD«");
+            ContentDialog contentDialog = new()
+            {
+                PrimaryButtonText = "",
+                SecondaryButtonText = "",
+                CloseButtonText = LocaleManager.Instance[LocaleKeys.UserProfilesClose],
+                Content = content
+            };
+
+            Style closeButton = new(x => x.Name("CloseButton"));
+            closeButton.Setters.Add(new Setter(WidthProperty, 80d));
+
+            Style closeButtonParent = new(x => x.Name("CommandSpace"));
+            closeButtonParent.Setters.Add(new Setter(HorizontalAlignmentProperty, Avalonia.Layout.HorizontalAlignment.Right));
+
+            contentDialog.Styles.Add(closeButton);
+            contentDialog.Styles.Add(closeButtonParent);
+
+            await contentDialog.ShowAsync();
+        }
 
         private void Button_OnClick(object sender, RoutedEventArgs e)
         {
@@ -42,31 +52,6 @@ namespace Ryujinx.Ava.UI.Windows
             }
         }
 
-        private async Task DownloadPatronsJson()
-        {
-            if (!NetworkInterface.GetIsNetworkAvailable())
-            {
-                Supporters = LocaleManager.Instance[LocaleKeys.ConnectionError];
-
-                return;
-            }
-
-            HttpClient httpClient = new();
-
-            try
-            {
-                string patreonJsonString = await httpClient.GetStringAsync("https://patreon.ryujinx.org/");
-
-                Supporters = string.Join(", ", JsonHelper.Deserialize<string[]>(patreonJsonString));
-            }
-            catch
-            {
-                Supporters = LocaleManager.Instance[LocaleKeys.ApiError];
-            }
-
-            await Dispatcher.UIThread.InvokeAsync(() => SupportersTextBlock.Text = Supporters);
-        }
-
         private void AmiiboLabel_OnPointerPressed(object sender, PointerPressedEventArgs e)
         {
             if (sender is TextBlock)
diff --git a/Ryujinx.Ui.Common/Resources/Logo_Discord.png b/Ryujinx.Ui.Common/Resources/Logo_Discord.png
deleted file mode 100644
index 9eabebf8d8..0000000000
Binary files a/Ryujinx.Ui.Common/Resources/Logo_Discord.png and /dev/null differ
diff --git a/Ryujinx.Ui.Common/Resources/Logo_Discord_Dark.png b/Ryujinx.Ui.Common/Resources/Logo_Discord_Dark.png
new file mode 100644
index 0000000000..baececa904
Binary files /dev/null and b/Ryujinx.Ui.Common/Resources/Logo_Discord_Dark.png differ
diff --git a/Ryujinx.Ui.Common/Resources/Logo_Discord_Light.png b/Ryujinx.Ui.Common/Resources/Logo_Discord_Light.png
new file mode 100644
index 0000000000..25fc892d62
Binary files /dev/null and b/Ryujinx.Ui.Common/Resources/Logo_Discord_Light.png differ
diff --git a/Ryujinx.Ui.Common/Resources/Logo_GitHub.png b/Ryujinx.Ui.Common/Resources/Logo_GitHub.png
deleted file mode 100644
index 55f4d4e639..0000000000
Binary files a/Ryujinx.Ui.Common/Resources/Logo_GitHub.png and /dev/null differ
diff --git a/Ryujinx.Ui.Common/Resources/Logo_GitHub_Dark.png b/Ryujinx.Ui.Common/Resources/Logo_GitHub_Dark.png
new file mode 100644
index 0000000000..50b8175227
Binary files /dev/null and b/Ryujinx.Ui.Common/Resources/Logo_GitHub_Dark.png differ
diff --git a/Ryujinx.Ui.Common/Resources/Logo_GitHub_Light.png b/Ryujinx.Ui.Common/Resources/Logo_GitHub_Light.png
new file mode 100644
index 0000000000..95bc742bb5
Binary files /dev/null and b/Ryujinx.Ui.Common/Resources/Logo_GitHub_Light.png differ
diff --git a/Ryujinx.Ui.Common/Resources/Logo_Patreon.png b/Ryujinx.Ui.Common/Resources/Logo_Patreon.png
deleted file mode 100644
index ba2da7975c..0000000000
Binary files a/Ryujinx.Ui.Common/Resources/Logo_Patreon.png and /dev/null differ
diff --git a/Ryujinx.Ui.Common/Resources/Logo_Patreon_Dark.png b/Ryujinx.Ui.Common/Resources/Logo_Patreon_Dark.png
new file mode 100644
index 0000000000..9a521e3fd6
Binary files /dev/null and b/Ryujinx.Ui.Common/Resources/Logo_Patreon_Dark.png differ
diff --git a/Ryujinx.Ui.Common/Resources/Logo_Patreon_Light.png b/Ryujinx.Ui.Common/Resources/Logo_Patreon_Light.png
new file mode 100644
index 0000000000..44da0ac45c
Binary files /dev/null and b/Ryujinx.Ui.Common/Resources/Logo_Patreon_Light.png differ
diff --git a/Ryujinx.Ui.Common/Resources/Logo_Twitter.png b/Ryujinx.Ui.Common/Resources/Logo_Twitter.png
deleted file mode 100644
index 759b5e1aa3..0000000000
Binary files a/Ryujinx.Ui.Common/Resources/Logo_Twitter.png and /dev/null differ
diff --git a/Ryujinx.Ui.Common/Resources/Logo_Twitter_Dark.png b/Ryujinx.Ui.Common/Resources/Logo_Twitter_Dark.png
new file mode 100644
index 0000000000..66962e7d3c
Binary files /dev/null and b/Ryujinx.Ui.Common/Resources/Logo_Twitter_Dark.png differ
diff --git a/Ryujinx.Ui.Common/Resources/Logo_Twitter_Light.png b/Ryujinx.Ui.Common/Resources/Logo_Twitter_Light.png
new file mode 100644
index 0000000000..040ca16995
Binary files /dev/null and b/Ryujinx.Ui.Common/Resources/Logo_Twitter_Light.png differ
diff --git a/Ryujinx.Ui.Common/Ryujinx.Ui.Common.csproj b/Ryujinx.Ui.Common/Ryujinx.Ui.Common.csproj
index 3a1cd1250b..511a038974 100644
--- a/Ryujinx.Ui.Common/Ryujinx.Ui.Common.csproj
+++ b/Ryujinx.Ui.Common/Ryujinx.Ui.Common.csproj
@@ -34,11 +34,15 @@
     <EmbeddedResource Include="Resources\Icon_NSP.png" />
     <EmbeddedResource Include="Resources\Icon_XCI.png" />
     <EmbeddedResource Include="Resources\Logo_Amiibo.png" />
-    <EmbeddedResource Include="Resources\Logo_Discord.png" />
-    <EmbeddedResource Include="Resources\Logo_GitHub.png" />
-    <EmbeddedResource Include="Resources\Logo_Patreon.png" />
     <EmbeddedResource Include="Resources\Logo_Ryujinx.png" />
-    <EmbeddedResource Include="Resources\Logo_Twitter.png" />
+    <EmbeddedResource Include="Resources\Logo_Discord_Dark.png" />
+    <EmbeddedResource Include="Resources\Logo_Discord_Light.png" />
+    <EmbeddedResource Include="Resources\Logo_GitHub_Dark.png" />
+    <EmbeddedResource Include="Resources\Logo_GitHub_Light.png" />
+    <EmbeddedResource Include="Resources\Logo_Patreon_Dark.png" />
+    <EmbeddedResource Include="Resources\Logo_Patreon_Light.png" />
+    <EmbeddedResource Include="Resources\Logo_Twitter_Dark.png" />
+    <EmbeddedResource Include="Resources\Logo_Twitter_Light.png" />
   </ItemGroup>
 
   <ItemGroup>
diff --git a/Ryujinx/Ui/Windows/AboutWindow.Designer.cs b/Ryujinx/Ui/Windows/AboutWindow.Designer.cs
index 8117cf36bb..fa1a065782 100644
--- a/Ryujinx/Ui/Windows/AboutWindow.Designer.cs
+++ b/Ryujinx/Ui/Windows/AboutWindow.Designer.cs
@@ -206,7 +206,7 @@ namespace Ryujinx.Ui.Windows
             //
             // _patreonLogo
             //
-            _patreonLogo = new Image(new Gdk.Pixbuf(Assembly.GetAssembly(typeof(ConfigurationState)), "Ryujinx.Ui.Common.Resources.Logo_Patreon.png", 30, 30))
+            _patreonLogo = new Image(new Gdk.Pixbuf(Assembly.GetAssembly(typeof(ConfigurationState)), "Ryujinx.Ui.Common.Resources.Logo_Patreon_Light.png", 30, 30))
             {
                 Margin = 10
             };
@@ -236,7 +236,7 @@ namespace Ryujinx.Ui.Windows
             //
             // _githubLogo
             //
-            _githubLogo = new Image(new Gdk.Pixbuf(Assembly.GetAssembly(typeof(ConfigurationState)), "Ryujinx.Ui.Common.Resources.Logo_GitHub.png", 30, 30))
+            _githubLogo = new Image(new Gdk.Pixbuf(Assembly.GetAssembly(typeof(ConfigurationState)), "Ryujinx.Ui.Common.Resources.Logo_GitHub_Light.png", 30, 30))
             {
                 Margin = 10
             };
@@ -266,7 +266,7 @@ namespace Ryujinx.Ui.Windows
             //
             // _discordLogo
             //
-            _discordLogo = new Image(new Gdk.Pixbuf(Assembly.GetAssembly(typeof(ConfigurationState)), "Ryujinx.Ui.Common.Resources.Logo_Discord.png", 30, 30))
+            _discordLogo = new Image(new Gdk.Pixbuf(Assembly.GetAssembly(typeof(ConfigurationState)), "Ryujinx.Ui.Common.Resources.Logo_Discord_Light.png", 30, 30))
             {
                 Margin = 10
             };
@@ -296,7 +296,7 @@ namespace Ryujinx.Ui.Windows
             //
             // _twitterLogo
             //
-            _twitterLogo = new Image(new Gdk.Pixbuf(Assembly.GetAssembly(typeof(ConfigurationState)), "Ryujinx.Ui.Common.Resources.Logo_Twitter.png", 30, 30))
+            _twitterLogo = new Image(new Gdk.Pixbuf(Assembly.GetAssembly(typeof(ConfigurationState)), "Ryujinx.Ui.Common.Resources.Logo_Twitter_Light.png", 30, 30))
             {
                 Margin = 10
             };