Files
VDownload/VDownload.Core/VDownload.Core.Views/Subscriptions/SubscriptionsView.xaml

117 lines
6.0 KiB
Plaintext
Raw Normal View History

2024-03-08 20:48:31 +01:00
<?xml version="1.0" encoding="utf-8"?>
<Page
x:Class="VDownload.Core.Views.Subscriptions.SubscriptionsView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:VDownload.Core.Views.Subscriptions"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
2024-03-09 02:56:56 +01:00
xmlns:ctuc="using:CommunityToolkit.WinUI.UI.Controls"
xmlns:ctc="using:CommunityToolkit.WinUI.Controls"
xmlns:ct="using:CommunityToolkit.WinUI"
xmlns:i="using:Microsoft.Xaml.Interactivity"
xmlns:ic="using:Microsoft.Xaml.Interactions.Core"
2024-03-08 20:48:31 +01:00
mc:Ignorable="d"
2024-03-09 02:56:56 +01:00
Background="{ThemeResource ViewBackgroundColor}"
x:Name="Root">
<i:Interaction.Behaviors>
<ic:EventTriggerBehavior EventName="Loaded">
<ic:InvokeCommandAction Command="{Binding NavigationCommand}"/>
</ic:EventTriggerBehavior>
</i:Interaction.Behaviors>
2024-03-08 20:48:31 +01:00
2024-03-09 02:56:56 +01:00
<Grid Padding="20"
RowSpacing="20">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
2026-02-17 22:49:36 +01:00
<TextBlock x:Uid="/SubscriptionsViewResources/Header"
2024-03-09 02:56:56 +01:00
Grid.Row="0"
FontSize="28"
FontWeight="SemiBold"/>
<ScrollViewer Grid.Row="1">
<ItemsControl ItemsSource="{Binding Playlists}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<ctuc:StaggeredPanel ColumnSpacing="10"
DesiredColumnWidth="120"
RowSpacing="10"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Grid RowSpacing="10"
Padding="10"
Background="{ThemeResource PanelBackgroundColor}"
CornerRadius="10">
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Image Grid.Row="0">
<i:Interaction.Behaviors>
<ic:DataTriggerBehavior Binding="{Binding Source, Converter={StaticResource ObjectToStringConverter}}"
Value="Twitch">
<ic:ChangePropertyAction PropertyName="Source"
Value="{StaticResource ImageSourcesTwitch}"/>
</ic:DataTriggerBehavior>
</i:Interaction.Behaviors>
</Image>
<TextBlock Grid.Row="1"
Text="{Binding Name}"
2024-03-09 20:15:19 +01:00
HorizontalAlignment="Center"
TextTrimming="CharacterEllipsis"/>
2026-02-17 22:49:36 +01:00
<HyperlinkButton x:Uid="/SubscriptionsViewResources/RemovePlaylistButton"
2024-03-09 02:56:56 +01:00
Grid.Row="2"
Content="Remove"
HorizontalAlignment="Center"
Command="{Binding DataContext.RemovePlaylistCommand, ElementName=Root}"
CommandParameter="{Binding}"/>
</Grid>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</ScrollViewer>
<ctuc:SwitchPresenter Grid.Row="2"
Value="{Binding Error, Converter={StaticResource IsNotNullConverter}}">
<ctuc:Case Value="False">
<Grid Background="{ThemeResource PanelBackgroundColor}"
Padding="10"
ColumnSpacing="10"
CornerRadius="10">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
2026-02-17 22:49:36 +01:00
<TextBox x:Uid="/SubscriptionsViewResources/PlaylistUrlTextBox"
2024-03-09 02:56:56 +01:00
Grid.Column="0"
2024-03-09 20:15:19 +01:00
Text="{Binding Url, Mode=TwoWay}"
IsEnabled="{Binding Loading, Converter={StaticResource BoolNegationConverter}}"/>
2024-03-09 02:56:56 +01:00
<ctuc:SwitchPresenter Grid.Column="1"
Value="{Binding Loading, Converter={StaticResource ObjectToStringConverter}}">
<ctuc:Case Value="True">
<ProgressRing IsIndeterminate="True"
Width="20"
Height="20"/>
</ctuc:Case>
<ctuc:Case Value="False">
2026-02-17 22:49:36 +01:00
<Button x:Uid="/SubscriptionsViewResources/PlaylistSearchButton"
2024-03-09 02:56:56 +01:00
Command="{Binding AddCommand}"/>
</ctuc:Case>
</ctuc:SwitchPresenter>
</Grid>
</ctuc:Case>
<ctuc:Case Value="True">
2026-02-17 22:49:36 +01:00
<InfoBar x:Uid="/SubscriptionsViewResources/ErrorInfoBar"
2024-03-09 02:56:56 +01:00
Severity="Error"
IsOpen="{Binding IsErrorOpened, Mode=TwoWay}"
Message="{Binding Error}"
CloseButtonCommand="{Binding CloseErrorCommand}"/>
</ctuc:Case>
</ctuc:SwitchPresenter>
2024-03-08 20:48:31 +01:00
</Grid>
</Page>