You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
86 lines
4.0 KiB
86 lines
4.0 KiB
<?xml version="1.0" encoding="utf-8" ?>
|
|
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
|
|
xmlns:local="clr-namespace:AMC.View"
|
|
xmlns:strings="clr-namespace:AMC.View.Resources.Strings"
|
|
xmlns:conv="clr-namespace:AMC.View.Converters"
|
|
xmlns:ctl="clr-namespace:AMC.View.Controls"
|
|
xmlns:vm="clr-namespace:AMC.ViewModel.ViewModels;assembly=AMC.ViewModel"
|
|
x:Class="AMC.View.Views.LibraryPage"
|
|
x:DataType="vm:LibraryViewModel">
|
|
|
|
<ScrollView
|
|
Padding="0, 0, 0, 128"
|
|
BackgroundColor="{AppThemeBinding Light={StaticResource Background}, Dark={StaticResource BackgroundDark}}">
|
|
<StackLayout Spacing="8">
|
|
<Label Text="{x:Static strings:Strings.LibraryTitle}"
|
|
FontSize="32"
|
|
FontAttributes="Bold"
|
|
TextColor="{AppThemeBinding Light={StaticResource Primary}, Dark={StaticResource PrimaryDark}}"
|
|
Margin="8" />
|
|
|
|
<StackLayout Orientation="Vertical" Spacing="0">
|
|
<ctl:LibraryCategoryItem
|
|
CategoryText="{x:Static strings:Strings.PlaylistsCategory}"
|
|
IconSource="icon_playlists.png" />
|
|
<BoxView Style="{StaticResource GraySeparator}"/>
|
|
|
|
<ctl:LibraryCategoryItem
|
|
CategoryText="{x:Static strings:Strings.ArtistsCategory}"
|
|
IconSource="icon_artists.png" />
|
|
<BoxView Style="{StaticResource GraySeparator}"/>
|
|
|
|
<ctl:LibraryCategoryItem
|
|
CategoryText="{x:Static strings:Strings.AlbumsCategory}"
|
|
IconSource="icon_albums.png" />
|
|
<BoxView Style="{StaticResource GraySeparator}"/>
|
|
|
|
<ctl:LibraryCategoryItem
|
|
CategoryText="{x:Static strings:Strings.SongsCategory}"
|
|
IconSource="icon_songs.png" />
|
|
<BoxView Style="{StaticResource GraySeparator}"/>
|
|
|
|
<ctl:LibraryCategoryItem
|
|
CategoryText="{x:Static strings:Strings.GenresCategory}"
|
|
IconSource="icon_genres.png" />
|
|
<BoxView Style="{StaticResource GraySeparator}"/>
|
|
|
|
</StackLayout>
|
|
|
|
<Label Text="{x:Static strings:Strings.RecentlyAddedHeader}"
|
|
FontSize="16"
|
|
FontAttributes="Bold"
|
|
TextColor="{AppThemeBinding Light={StaticResource Primary}, Dark={StaticResource PrimaryDark}}"
|
|
Margin="8, 16, 8, 8" />
|
|
|
|
<CollectionView
|
|
ItemsSource="{Binding Albums}"
|
|
ItemsLayout="VerticalGrid, 2">
|
|
<CollectionView.ItemTemplate>
|
|
<DataTemplate x:DataType="vm:AlbumViewModel">
|
|
<StackLayout Margin="16">
|
|
<Border>
|
|
<Border.StrokeShape>
|
|
<RoundRectangle CornerRadius="8,8,8,8" />
|
|
</Border.StrokeShape>
|
|
<Image
|
|
Source="{Binding CoverImage}"
|
|
Aspect="AspectFill" />
|
|
</Border>
|
|
|
|
<Label
|
|
Text="{Binding Title}"
|
|
TextColor="{AppThemeBinding Light={StaticResource Primary}, Dark={StaticResource PrimaryDark}}"
|
|
LineBreakMode="TailTruncation" />
|
|
<Label
|
|
Text="{Binding Artist}"
|
|
TextColor="{StaticResource Gray}"
|
|
LineBreakMode="TailTruncation" />
|
|
</StackLayout>
|
|
</DataTemplate>
|
|
</CollectionView.ItemTemplate>
|
|
</CollectionView>
|
|
</StackLayout>
|
|
</ScrollView>
|
|
</ContentPage>
|