diff --git a/src/UniGetUI.Avalonia/App.axaml.cs b/src/UniGetUI.Avalonia/App.axaml.cs index 052ee30bf..52ca50067 100644 --- a/src/UniGetUI.Avalonia/App.axaml.cs +++ b/src/UniGetUI.Avalonia/App.axaml.cs @@ -158,15 +158,17 @@ public static void ApplyTheme(string value) }; } + public static string WebViewUserDataFolder { get; } = + Path.Join(Path.GetTempPath(), "UniGetUI", "WebView"); + private static void SetUpWebViewUserDataFolder() { try { - string webViewPath = Path.Join(Path.GetTempPath(), "UniGetUI", "WebView"); - if (!Directory.Exists(webViewPath)) - Directory.CreateDirectory(webViewPath); + if (!Directory.Exists(WebViewUserDataFolder)) + Directory.CreateDirectory(WebViewUserDataFolder); - Environment.SetEnvironmentVariable("WEBVIEW2_USER_DATA_FOLDER", webViewPath); + Environment.SetEnvironmentVariable("WEBVIEW2_USER_DATA_FOLDER", WebViewUserDataFolder); } catch (Exception e) { diff --git a/src/UniGetUI.Avalonia/Views/Controls/UniGetUiWebView.cs b/src/UniGetUI.Avalonia/Views/Controls/UniGetUiWebView.cs new file mode 100644 index 000000000..e941423f6 --- /dev/null +++ b/src/UniGetUI.Avalonia/Views/Controls/UniGetUiWebView.cs @@ -0,0 +1,16 @@ +using Avalonia.Controls; +using Avalonia.Platform; + +namespace UniGetUI.Avalonia.Views.Controls; + +public sealed class UniGetUiWebView : NativeWebView +{ + public UniGetUiWebView() + { + EnvironmentRequested += (_, args) => + { + if (args is WindowsWebView2EnvironmentRequestedEventArgs winArgs) + winArgs.UserDataFolder = App.WebViewUserDataFolder; + }; + } +} diff --git a/src/UniGetUI.Avalonia/Views/Pages/HelpPage.axaml b/src/UniGetUI.Avalonia/Views/Pages/HelpPage.axaml index 43d37cd00..1d733313d 100644 --- a/src/UniGetUI.Avalonia/Views/Pages/HelpPage.axaml +++ b/src/UniGetUI.Avalonia/Views/Pages/HelpPage.axaml @@ -4,7 +4,6 @@ xmlns:automation="clr-namespace:Avalonia.Automation;assembly=Avalonia.Controls" xmlns:vm="using:UniGetUI.Avalonia.ViewModels.Pages" xmlns:controls="using:UniGetUI.Avalonia.Views.Controls" - xmlns:wv="using:Avalonia.Controls" xmlns:t="using:UniGetUI.Avalonia.MarkupExtensions" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" @@ -75,7 +74,7 @@ - + diff --git a/src/UniGetUI.Avalonia/Views/Pages/ReleaseNotesPage.axaml b/src/UniGetUI.Avalonia/Views/Pages/ReleaseNotesPage.axaml index 75437361b..29d190673 100644 --- a/src/UniGetUI.Avalonia/Views/Pages/ReleaseNotesPage.axaml +++ b/src/UniGetUI.Avalonia/Views/Pages/ReleaseNotesPage.axaml @@ -3,7 +3,7 @@ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:automation="clr-namespace:Avalonia.Automation;assembly=Avalonia.Controls" xmlns:vm="using:UniGetUI.Avalonia.ViewModels.Pages" - xmlns:wv="using:Avalonia.Controls" + xmlns:controls="using:UniGetUI.Avalonia.Views.Controls" xmlns:t="using:UniGetUI.Avalonia.MarkupExtensions" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" @@ -36,7 +36,7 @@ - +