Skip to content

Commit a91fffc

Browse files
committed
add a linux fallback for the webview
1 parent 1987ba1 commit a91fffc

4 files changed

Lines changed: 47 additions & 6 deletions

File tree

src/UniGetUI.Avalonia/Views/Pages/HelpPage.axaml

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,9 +74,21 @@
7474
automation:AutomationProperties.AccessibilityView="Raw"/>
7575

7676
<!-- WebView -->
77-
<Border Grid.Row="2" CornerRadius="6" ClipToBounds="True">
77+
<Border x:Name="WebViewBorder" Grid.Row="2" CornerRadius="6" ClipToBounds="True">
7878
<wv:NativeWebView x:Name="WebViewControl"/>
7979
</Border>
8080

81+
<!-- Linux fallback -->
82+
<StackPanel x:Name="LinuxFallbackPanel" Grid.Row="2"
83+
HorizontalAlignment="Center" VerticalAlignment="Center"
84+
Spacing="12" IsVisible="False">
85+
<TextBlock Text="{t:Translate The built-in browser is not supported on Linux yet.}"
86+
TextAlignment="Center" TextWrapping="Wrap" MaxWidth="400"/>
87+
<Button HorizontalAlignment="Center" Command="{Binding OpenInBrowserCommand}">
88+
<TextBlock Text="{t:Translate Open in browser}"
89+
automation:AutomationProperties.AccessibilityView="Raw"/>
90+
</Button>
91+
</StackPanel>
92+
8193
</Grid>
8294
</UserControl>

src/UniGetUI.Avalonia/Views/Pages/HelpPage.axaml.cs

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
using Avalonia.Controls;
22
using Avalonia.Interactivity;
33
using UniGetUI.Avalonia.ViewModels.Pages;
4-
using UniGetUI.Avalonia.Views.Pages;
54

65
namespace UniGetUI.Avalonia.Views.Pages;
76

@@ -17,8 +16,17 @@ public HelpPage()
1716
DataContext = _viewModel;
1817
InitializeComponent();
1918

20-
WebViewControl.NavigationStarted += (_, _) => NavProgressBar.IsVisible = true;
21-
WebViewControl.NavigationCompleted += (_, _) =>
19+
if (OperatingSystem.IsLinux())
20+
{
21+
WebViewBorder.IsVisible = false;
22+
LinuxFallbackPanel.IsVisible = true;
23+
return;
24+
}
25+
26+
WebViewControl.NavigationStarted += (_, _) =>
27+
NavProgressBar.IsVisible = true;
28+
29+
WebViewControl.NavigationCompleted += (_, e) =>
2230
{
2331
NavProgressBar.IsVisible = false;
2432
_viewModel.CurrentUrl = WebViewControl.Source?.ToString() ?? HelpPageViewModel.HelpBaseUrl;

src/UniGetUI.Avalonia/Views/Pages/ReleaseNotesPage.axaml

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,21 @@
3535
automation:AutomationProperties.AccessibilityView="Raw"/>
3636

3737
<!-- WebView -->
38-
<Border Grid.Row="2" CornerRadius="6" ClipToBounds="True">
38+
<Border x:Name="WebViewBorder" Grid.Row="2" CornerRadius="6" ClipToBounds="True">
3939
<wv:NativeWebView x:Name="WebViewControl"/>
4040
</Border>
4141

42+
<!-- Linux fallback -->
43+
<StackPanel x:Name="LinuxFallbackPanel" Grid.Row="2"
44+
HorizontalAlignment="Center" VerticalAlignment="Center"
45+
Spacing="12" IsVisible="False">
46+
<TextBlock Text="{t:Translate The built-in browser is not supported on Linux yet.}"
47+
TextAlignment="Center" TextWrapping="Wrap" MaxWidth="400"/>
48+
<Button HorizontalAlignment="Center" Command="{Binding OpenInBrowserCommand}">
49+
<TextBlock Text="{t:Translate Open in browser}"
50+
automation:AutomationProperties.AccessibilityView="Raw"/>
51+
</Button>
52+
</StackPanel>
53+
4254
</Grid>
4355
</UserControl>

src/UniGetUI.Avalonia/Views/Pages/ReleaseNotesPage.axaml.cs

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,16 @@ public ReleaseNotesPage()
1515
DataContext = _viewModel;
1616
InitializeComponent();
1717

18-
WebViewControl.NavigationStarted += (_, _) => NavProgressBar.IsVisible = true;
18+
if (OperatingSystem.IsLinux())
19+
{
20+
WebViewBorder.IsVisible = false;
21+
LinuxFallbackPanel.IsVisible = true;
22+
return;
23+
}
24+
25+
WebViewControl.NavigationStarted += (_, _) =>
26+
NavProgressBar.IsVisible = true;
27+
1928
WebViewControl.NavigationCompleted += (_, e) =>
2029
{
2130
NavProgressBar.IsVisible = false;

0 commit comments

Comments
 (0)