mirror of
https://github.com/Jellyfin2Samsung/Samsung-Jellyfin-Installer.git
synced 2026-03-01 11:21:12 +03:00
143 lines
4.8 KiB
XML
143 lines
4.8 KiB
XML
<Window xmlns="https://github.com/avaloniaui"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
x:Class="Jellyfin2Samsung.Views.MainWindow"
|
|
x:DataType="viewModels:MainWindowViewModel"
|
|
xmlns:viewModels="clr-namespace:Jellyfin2Samsung.ViewModels"
|
|
xmlns:fa="clr-namespace:FluentAvalonia.UI.Controls;assembly=FluentAvalonia"
|
|
Width="580"
|
|
Height="410"
|
|
WindowStartupLocation="CenterScreen"
|
|
Title="Jellyfin2Samsung"
|
|
Background="#F5F5F5">
|
|
|
|
<Window.Styles>
|
|
<StyleInclude Source="avares://Avalonia.Themes.Fluent/FluentTheme.xaml"/>
|
|
<StyleInclude Source="avares://Avalonia.Controls.DataGrid/Themes/Fluent.xaml"/>
|
|
<StyleInclude Source="avares://Jellyfin2Samsung/Styles/Buttons.axaml"/>
|
|
<StyleInclude Source="avares://Jellyfin2Samsung/Styles/TextBlocks.axaml"/>
|
|
<StyleInclude Source="avares://Jellyfin2Samsung/Styles/ComboBoxes.axaml"/>
|
|
</Window.Styles>
|
|
|
|
<Border Background="White"
|
|
Padding="16"
|
|
CornerRadius="8"
|
|
Margin="6"
|
|
BorderBrush="#E8E8E8"
|
|
BorderThickness="1">
|
|
|
|
<Border.Effect>
|
|
<DropShadowEffect BlurRadius="15" OffsetX="2" OffsetY="2" Color="#00000020" Opacity="0.15"/>
|
|
</Border.Effect>
|
|
|
|
<StackPanel Spacing="14">
|
|
<Border Background="#2C3E50"
|
|
Padding="24,20"
|
|
CornerRadius="8"
|
|
BorderBrush="#E9ECEF"
|
|
BorderThickness="1">
|
|
<StackPanel Spacing="12" HorizontalAlignment="Center">
|
|
<TextBlock
|
|
Text="Jellyfin Installer for Samsung (Tizen)"
|
|
HorizontalAlignment="Center"
|
|
Foreground="White"
|
|
FontWeight="Medium"/>
|
|
</StackPanel>
|
|
</Border>
|
|
|
|
<!-- Form fields - side by side layout -->
|
|
<StackPanel Spacing="18">
|
|
|
|
<!-- Release -->
|
|
<Grid ColumnDefinitions="100,*,Auto" ColumnSpacing="8">
|
|
<TextBlock Classes="label"
|
|
Text="{Binding LblRelease}"
|
|
VerticalAlignment="Center"
|
|
Grid.Column="0"/>
|
|
<ComboBox Classes="clean"
|
|
SelectedItem="{Binding SelectedRelease}"
|
|
Grid.Column="1"
|
|
HorizontalAlignment="Stretch"
|
|
ItemsSource="{Binding Releases}">
|
|
<ComboBox.ItemTemplate>
|
|
<DataTemplate>
|
|
<TextBlock Text="{Binding Name}"/>
|
|
</DataTemplate>
|
|
</ComboBox.ItemTemplate>
|
|
</ComboBox>
|
|
<!-- Spacer removed -->
|
|
</Grid>
|
|
|
|
<!-- Version -->
|
|
<Grid ColumnDefinitions="100,*,Auto" ColumnSpacing="8">
|
|
<TextBlock Classes="label"
|
|
Text="{Binding LblVersion}"
|
|
VerticalAlignment="Center"
|
|
Grid.Column="0"/>
|
|
<ComboBox Classes="clean"
|
|
Grid.Column="1"
|
|
HorizontalAlignment="Stretch"
|
|
ItemsSource="{Binding AvailableAssets}"
|
|
SelectedItem="{Binding SelectedAsset, Mode=TwoWay}">
|
|
<ComboBox.ItemTemplate>
|
|
<DataTemplate>
|
|
<TextBlock Text="{Binding DisplayText}"/>
|
|
</DataTemplate>
|
|
</ComboBox.ItemTemplate>
|
|
</ComboBox>
|
|
</Grid>
|
|
|
|
<!-- TV Selection -->
|
|
<Grid ColumnDefinitions="100,*,40" ColumnSpacing="8">
|
|
<TextBlock Classes="label"
|
|
Text="{Binding LblSelectTv}"
|
|
VerticalAlignment="Center"
|
|
Grid.Column="0"/>
|
|
<ComboBox Classes="clean"
|
|
Grid.Column="1"
|
|
HorizontalAlignment="Stretch"
|
|
ItemsSource="{Binding AvailableDevices}"
|
|
SelectedItem="{Binding SelectedDevice, Mode=TwoWay}">
|
|
<ComboBox.ItemTemplate>
|
|
<DataTemplate>
|
|
<TextBlock Text="{Binding DisplayText}"/>
|
|
</DataTemplate>
|
|
</ComboBox.ItemTemplate>
|
|
</ComboBox>
|
|
<Button Classes="icon" Grid.Column="2" Command="{Binding RefreshDevicesCommand}">
|
|
<fa:SymbolIcon Symbol="Refresh" Width="20" Height="20"/>
|
|
</Button>
|
|
</Grid>
|
|
|
|
</StackPanel>
|
|
|
|
<!-- Status - Clean and simple -->
|
|
<Border Background="#2C3E50"
|
|
Padding="16"
|
|
CornerRadius="6">
|
|
<TextBlock Text="{Binding StatusBar}"
|
|
HorizontalAlignment="Center"
|
|
Foreground="White"
|
|
FontWeight="Medium"/>
|
|
</Border>
|
|
|
|
<!-- Action Buttons -->
|
|
<StackPanel Orientation="Horizontal"
|
|
HorizontalAlignment="Center"
|
|
Spacing="12">
|
|
<Button Classes="primary"
|
|
Content="{Binding DownloadAndInstall}"
|
|
Command="{Binding DownloadAndInstallCommand} "/>
|
|
<Button Classes="icon" Command="{Binding OpenSettingsCommand}">
|
|
<fa:SymbolIcon Symbol="Settings" Width="20" Height="20"/>
|
|
</Button>
|
|
</StackPanel>
|
|
|
|
<!-- Clean footer -->
|
|
<TextBlock HorizontalAlignment="Center"
|
|
FontSize="11"
|
|
Foreground="#95A5A6"
|
|
Text="{Binding FooterText}"/>
|
|
|
|
</StackPanel>
|
|
</Border>
|
|
</Window> |