mirror of
https://github.com/Artemis-RGB/Artemis
synced 2025-12-13 05:48:35 +00:00
Workshop library - Match browser design after all
This commit is contained in:
parent
730881b6d0
commit
318ec99ad4
@ -3,13 +3,16 @@
|
|||||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||||
xmlns:tabs="clr-namespace:Artemis.UI.Screens.Workshop.Library.Tabs"
|
xmlns:tabs="clr-namespace:Artemis.UI.Screens.Workshop.Library.Tabs"
|
||||||
xmlns:controls="clr-namespace:FluentAvalonia.UI.Controls;assembly=FluentAvalonia"
|
|
||||||
xmlns:workshop="clr-namespace:Artemis.WebClient.Workshop;assembly=Artemis.WebClient.Workshop"
|
xmlns:workshop="clr-namespace:Artemis.WebClient.Workshop;assembly=Artemis.WebClient.Workshop"
|
||||||
|
xmlns:avalonia="clr-namespace:Material.Icons.Avalonia;assembly=Material.Icons.Avalonia"
|
||||||
|
xmlns:asyncImageLoader="clr-namespace:AsyncImageLoader;assembly=AsyncImageLoader.Avalonia"
|
||||||
|
xmlns:converters="clr-namespace:Artemis.UI.Converters"
|
||||||
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="650"
|
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="650"
|
||||||
x:Class="Artemis.UI.Screens.Workshop.Library.Tabs.LibrarySubmissionsView"
|
x:Class="Artemis.UI.Screens.Workshop.Library.Tabs.LibrarySubmissionsView"
|
||||||
x:DataType="tabs:LibrarySubmissionsViewModel">
|
x:DataType="tabs:LibrarySubmissionsViewModel">
|
||||||
<UserControl.Resources>
|
<UserControl.Resources>
|
||||||
<controls:SymbolIconSource x:Key="GoIcon" Symbol="ChevronRight" />
|
<converters:EntryIconUriConverter x:Key="EntryIconUriConverter" />
|
||||||
|
<converters:DateTimeConverter x:Key="DateTimeConverter" />
|
||||||
</UserControl.Resources>
|
</UserControl.Resources>
|
||||||
|
|
||||||
<UserControl.Styles>
|
<UserControl.Styles>
|
||||||
@ -41,27 +44,75 @@
|
|||||||
<Button HorizontalAlignment="Center" Command="{CompiledBinding AddSubmission}">Submit new entry</Button>
|
<Button HorizontalAlignment="Center" Command="{CompiledBinding AddSubmission}">Submit new entry</Button>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
|
|
||||||
<ItemsRepeater IsVisible="{CompiledBinding Entries.Count}" ItemsSource="{CompiledBinding Entries}">
|
<ScrollViewer>
|
||||||
<ItemsRepeater.ItemTemplate>
|
<ItemsRepeater IsVisible="{CompiledBinding Entries.Count}" ItemsSource="{CompiledBinding Entries}">
|
||||||
<DataTemplate DataType="workshop:IGetSubmittedEntries_SubmittedEntries">
|
<ItemsRepeater.ItemTemplate>
|
||||||
<controls:SettingsExpander
|
<DataTemplate DataType="workshop:IGetSubmittedEntries_SubmittedEntries">
|
||||||
Header="{CompiledBinding Name}"
|
<Button MinHeight="80"
|
||||||
Description="{CompiledBinding Summary}"
|
MaxHeight="110"
|
||||||
IsClickEnabled="True"
|
Padding="12 6"
|
||||||
ActionIconSource="{StaticResource GoIcon}"
|
Margin="0 0 0 5"
|
||||||
Command="{Binding $parent[tabs:LibrarySubmissionsView].DataContext.NavigateToEntry}"
|
HorizontalAlignment="Stretch"
|
||||||
CommandParameter="{CompiledBinding}">
|
HorizontalContentAlignment="Stretch"
|
||||||
<controls:SettingsExpander.FooterTemplate>
|
Command="{Binding $parent[tabs:LibrarySubmissionsView].DataContext.NavigateToEntry}"
|
||||||
<DataTemplate x:DataType="workshop:IGetSubmittedEntries_SubmittedEntries">
|
CommandParameter="{CompiledBinding}">
|
||||||
<Border Classes="badge" VerticalAlignment="Top" Margin="0 5 0 0">
|
<Grid ColumnDefinitions="Auto,*,Auto">
|
||||||
<TextBlock Text="{CompiledBinding EntryType}"></TextBlock>
|
<!-- Icon -->
|
||||||
|
<Border Grid.Column="0"
|
||||||
|
CornerRadius="6"
|
||||||
|
VerticalAlignment="Center"
|
||||||
|
Margin="0 0 10 0"
|
||||||
|
Width="50"
|
||||||
|
Height="50"
|
||||||
|
ClipToBounds="True">
|
||||||
|
<Image Stretch="UniformToFill" asyncImageLoader:ImageLoader.Source="{CompiledBinding Id, Converter={StaticResource EntryIconUriConverter}, Mode=OneWay}" />
|
||||||
</Border>
|
</Border>
|
||||||
</DataTemplate>
|
|
||||||
</controls:SettingsExpander.FooterTemplate>
|
<!-- Body -->
|
||||||
</controls:SettingsExpander>
|
<Grid Grid.Column="1" VerticalAlignment="Stretch" RowDefinitions="Auto,*,Auto">
|
||||||
</DataTemplate>
|
<TextBlock Grid.Row="0"
|
||||||
</ItemsRepeater.ItemTemplate>
|
Classes="h5 no-margin"
|
||||||
</ItemsRepeater>
|
TextTrimming="CharacterEllipsis"
|
||||||
|
Text="{CompiledBinding Name, FallbackValue=Title}"/>
|
||||||
|
<TextBlock Grid.Row="1"
|
||||||
|
Classes="subtitle"
|
||||||
|
TextWrapping="Wrap"
|
||||||
|
TextTrimming="CharacterEllipsis"
|
||||||
|
Text="{CompiledBinding Summary, FallbackValue=Summary}">
|
||||||
|
</TextBlock>
|
||||||
|
|
||||||
|
<ItemsControl Grid.Row="2" ItemsSource="{CompiledBinding Categories}">
|
||||||
|
<ItemsControl.ItemsPanel>
|
||||||
|
<ItemsPanelTemplate>
|
||||||
|
<StackPanel Orientation="Horizontal" Spacing="8"></StackPanel>
|
||||||
|
</ItemsPanelTemplate>
|
||||||
|
</ItemsControl.ItemsPanel>
|
||||||
|
<ItemsControl.ItemTemplate>
|
||||||
|
<DataTemplate>
|
||||||
|
<StackPanel Orientation="Horizontal">
|
||||||
|
<avalonia:MaterialIcon Kind="{CompiledBinding Icon}" Margin="0 0 3 0"></avalonia:MaterialIcon>
|
||||||
|
<TextBlock Text="{CompiledBinding Name}" TextTrimming="CharacterEllipsis" />
|
||||||
|
</StackPanel>
|
||||||
|
</DataTemplate>
|
||||||
|
</ItemsControl.ItemTemplate>
|
||||||
|
</ItemsControl>
|
||||||
|
</Grid>
|
||||||
|
|
||||||
|
<!-- Info -->
|
||||||
|
<StackPanel Grid.Column="2" Margin="0 0 4 0">
|
||||||
|
<TextBlock TextAlignment="Right" Text="{CompiledBinding CreatedAt, FallbackValue=01-01-1337, Converter={StaticResource DateTimeConverter}}" />
|
||||||
|
<TextBlock TextAlignment="Right">
|
||||||
|
<avalonia:MaterialIcon Kind="Downloads" />
|
||||||
|
<Run Classes="h5" Text="{CompiledBinding Downloads, FallbackValue=0}" />
|
||||||
|
<Run>downloads</Run>
|
||||||
|
</TextBlock>
|
||||||
|
</StackPanel>
|
||||||
|
</Grid>
|
||||||
|
</Button>
|
||||||
|
</DataTemplate>
|
||||||
|
</ItemsRepeater.ItemTemplate>
|
||||||
|
</ItemsRepeater>
|
||||||
|
</ScrollViewer>
|
||||||
</Panel>
|
</Panel>
|
||||||
</Panel>
|
</Panel>
|
||||||
|
|
||||||
|
|||||||
@ -69,6 +69,7 @@ public class LibrarySubmissionsViewModel : ActivatableViewModelBase, IWorkshopVi
|
|||||||
private async Task ExecuteLogin(CancellationToken ct)
|
private async Task ExecuteLogin(CancellationToken ct)
|
||||||
{
|
{
|
||||||
await _windowService.CreateContentDialog().WithViewModel(out WorkshopLoginViewModel _).WithTitle("Workshop login").ShowAsync();
|
await _windowService.CreateContentDialog().WithViewModel(out WorkshopLoginViewModel _).WithTitle("Workshop login").ShowAsync();
|
||||||
|
await GetEntries(ct);
|
||||||
}
|
}
|
||||||
|
|
||||||
private async Task ExecuteAddSubmission(CancellationToken arg)
|
private async Task ExecuteAddSubmission(CancellationToken arg)
|
||||||
|
|||||||
@ -6,5 +6,9 @@ query GetSubmittedEntries($filter: EntryFilterInput) {
|
|||||||
entryType
|
entryType
|
||||||
downloads
|
downloads
|
||||||
createdAt
|
createdAt
|
||||||
|
categories {
|
||||||
|
name
|
||||||
|
icon
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user