Browse Source

Fixed news

Krzysztof Krysiński 1 year ago
parent
commit
94ab48b9f7

+ 1 - 0
src/PixiEditor.AvaloniaUI/PixiEditor.AvaloniaUI.csproj

@@ -23,6 +23,7 @@
     </ItemGroup>
 
     <ItemGroup>
+        <PackageReference Include="AsyncImageLoader.Avalonia" Version="3.2.1" />
         <PackageReference Include="Avalonia" Version="$(AvaloniaVersion)" />
         <PackageReference Include="Avalonia.Headless" Version="$(AvaloniaVersion)" />
         <PackageReference Include="Avalonia.Themes.Fluent" Version="$(AvaloniaVersion)" />

+ 3 - 0
src/PixiEditor.AvaloniaUI/Views/MainWindow.axaml.cs

@@ -1,5 +1,6 @@
 using System.Linq;
 using System.Threading.Tasks;
+using AsyncImageLoader.Loaders;
 using Avalonia;
 using Avalonia.Controls;
 using Avalonia.Controls.ApplicationLifetimes;
@@ -51,6 +52,8 @@ internal partial class MainWindow : Window
             .AddExtensionServices(extensionLoader)
             .BuildServiceProvider();
 
+        AsyncImageLoader.ImageLoader.AsyncImageLoader = new DiskCachedWebImageLoader();
+
         SkiaDrawingBackend skiaDrawingBackend = new SkiaDrawingBackend();
         DrawingBackendApi.SetupBackend(skiaDrawingBackend);
 

+ 10 - 8
src/PixiEditor.AvaloniaUI/Views/NewsFeed/NewsItem.axaml

@@ -7,37 +7,39 @@
              xmlns:b="http://schemas.microsoft.com/xaml/behaviors"
              xmlns:gl="clr-namespace:System.Globalization;assembly=System.Runtime"
              xmlns:ui="clr-namespace:PixiEditor.AvaloniaUI.Helpers.UI"
+             xmlns:asyncImageLoader="clr-namespace:AsyncImageLoader;assembly=AsyncImageLoader.Avalonia"
+             xmlns:converters="clr-namespace:PixiEditor.AvaloniaUI.Helpers.Converters"
              mc:Ignorable="d" Name="newsItem"
              d:DesignHeight="300" d:DesignWidth="300">
-    <Border Background="{StaticResource MainColor}" CornerRadius="5">
+    <Border Background="{DynamicResource ThemeBackgroundBrush1}" CornerRadius="5">
         <StackPanel Orientation="Vertical">
             <Grid>
-                <Border Background="White" Name="Mask" CornerRadius="8 8 0 0"/>
+                <Border Name="Mask" CornerRadius="8 8 0 0"/>
                 <StackPanel>
-                    <Image Cursor="Hand" Margin="-1" Source="{Binding ElementName=newsItem, Path=News.CoverImageUrl}"
+                    <Image Cursor="Hand" Margin="-1" asyncImageLoader:ImageLoader.Source="{Binding ElementName=newsItem, Path=News.CoverImageUrl}"
                            PointerPressed="CoverImageClicked" Name="coverImage"/>
                     <StackPanel.OpacityMask>
-                        <VisualBrush Visual="{Binding ElementName=Mask}" />
+                        <!--<VisualBrush Visual="{Binding ElementName=Mask}" />-->
                     </StackPanel.OpacityMask>
                 </StackPanel>
             </Grid>
             <StackPanel Margin="8 0" Orientation="Horizontal">
                 <Image Margin="0 0 5 0" Width="25"
-                       Source="{Binding ElementName=newsItem, Path=News.ResolvedIconUrl}"/>
-                <Label VerticalAlignment="Center" Foreground="White" FontSize="14" HorizontalAlignment="Center">
+                       Source="{Binding ElementName=newsItem, Path=News.ResolvedIconUrl, Converter={converters:ImagePathToBitmapConverter}}"/>
+                <Label VerticalAlignment="Center" HorizontalAlignment="Center">
                     <StackPanel Orientation="Horizontal">
                         <TextBlock Width="200" TextTrimming="CharacterEllipsis" MaxHeight="50"
                                    ui:Hyperlink.Url="{Binding ElementName=newsItem, Path=News.Url}"
                                    ToolTip.Tip="{Binding ElementName=newsItem, Path=News.Title}"
                                    TextWrapping="Wrap"
                                    Text="{Binding ElementName=newsItem, Path=News.Title}"/>
-                        <TextBlock Text="" FontFamily="{StaticResource Feather}"/>
+                        <TextBlock Text="" FontFamily="{DynamicResource Feather}"/>
                     </StackPanel>
                 </Label>
             </StackPanel>
             <Grid>
                 <Border IsVisible="{Binding ElementName=newsItem, Path=News.IsNew}"
-                        Margin="2.5 2.5" Background="{StaticResource AccentRed}" HorizontalAlignment="Left"
+                        Margin="2.5 2.5" Background="{DynamicResource ThemeAccentBrush}" HorizontalAlignment="Left"
                         Padding="5 2.5" CornerRadius="5">
                     <TextBlock Text="New!" Foreground="White" FontSize="12" FontStyle="Italic"/>
                 </Border>

+ 5 - 5
src/PixiEditor.AvaloniaUI/Views/Windows/HelloTherePopup.axaml

@@ -29,7 +29,7 @@
     </Window.Styles>
 
     <DockPanel>
-        <Grid Background="{StaticResource ThemeBackgroundBrush}" x:Name="grid">
+        <Grid Background="{DynamicResource ThemeBackgroundBrush}" x:Name="grid">
             <Grid.ColumnDefinitions>
                 <ColumnDefinition Width="*"/>
                 <ColumnDefinition Width="300"/>
@@ -232,7 +232,7 @@
                                                                 <Button Command="{xaml:Command Name=PixiEditor.File.RemoveRecent, UseProvided=True}"
                                                                         CommandParameter="{Binding FilePath}"
                                                                         ToolTip.Tip="Remove from list">
-                                                                    <TextBlock Text="" FontFamily="{StaticResource Feather}"
+                                                                    <TextBlock Text="" FontFamily="{DynamicResource Feather}"
                                                                                TextAlignment="Center" FontSize="20"/>
                                                                 </Button>
                                                             </StackPanel>
@@ -243,7 +243,7 @@
 
                                             <TextBlock Text="{Binding FileName}" ToolTip.Tip="{Binding FilePath}"
                                                        Width="110" TextAlignment="Center" TextTrimming="CharacterEllipsis"
-                                                       FontSize="18" Margin="10,10,10,2" HorizontalAlignment="Center" Foreground="White"/>
+                                                       FontSize="18" Margin="10,10,10,2" HorizontalAlignment="Center" />
                                         </StackPanel>
                                     </Grid>
                                 </DataTemplate>
@@ -292,10 +292,10 @@
 
             <ScrollViewer Grid.Column="1"
                           IsVisible="{Binding !NewsPanelCollapsed}">
-                <Border Padding="5" BorderThickness="3 0 0 0" BorderBrush="{StaticResource ThemeBackgroundBrush}">
+                <Border Padding="5" BorderThickness="3 0 0 0" BorderBrush="{DynamicResource ThemeBackgroundBrush}">
                     <Grid>
                         <indicators1:LoadingIndicator IsVisible="{Binding IsFetchingNews}"/>
-                        <TextBlock ui:Translator.Key="FAILED_FETCH_NEWS" Foreground="White" FontSize="20"
+                        <TextBlock ui:Translator.Key="FAILED_FETCH_NEWS" FontSize="20"
                                    VerticalAlignment="Center" TextAlignment="Center"
                                    IsVisible="{Binding Path=FailedFetchingNews}"/>
                         <StackPanel Orientation="Vertical" IsVisible="{Binding !IsFetchingNews}">

+ 1 - 1
src/PixiEditor.AvaloniaUI/Views/Windows/HelloTherePopup.axaml.cs

@@ -197,7 +197,7 @@ internal partial class HelloTherePopup : PixiEditorPopup
 
     private async void HelloTherePopup_OnLoaded(object sender, RoutedEventArgs e)
     {
-        return; // TODO
+        //return; // TODO
         if(_newsDisabled) return;
 
         try