Files
NebulaLauncher/Nebula.Launcher/Views/Pages/AccountInfoView.axaml
2025-11-08 13:42:11 +03:00

225 lines
12 KiB
XML

<UserControl
d:DesignHeight="450"
d:DesignWidth="1000"
mc:Ignorable="d"
x:Class="Nebula.Launcher.Views.Pages.AccountInfoView"
x:DataType="pages:AccountInfoViewModel"
xmlns="https://github.com/avaloniaui"
xmlns:customControls="clr-namespace:Nebula.Launcher.Controls"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:pages="clr-namespace:Nebula.Launcher.ViewModels.Pages"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:auth="clr-namespace:Nebula.Launcher.Models.Auth"
xmlns:converters="clr-namespace:Nebula.Launcher.Converters">
<Design.DataContext>
<pages:AccountInfoViewModel />
</Design.DataContext>
<Grid
ColumnDefinitions="3*,2*"
Margin="15"
RowDefinitions="*">
<StackPanel Grid.Column="1" Grid.Row="0">
<Border
BoxShadow="0 -1 15 -2 #121212"
CornerRadius="10,10,0,0"
Margin="5,5,5,0"
Padding="5">
<Border.Background>
<LinearGradientBrush EndPoint="50%,100%" StartPoint="50%,0%">
<GradientStop Color="#222222" Offset="0.0" />
<GradientStop Color="#292222" Offset="1.0" />
</LinearGradientBrush>
</Border.Background>
<customControls:LocalizedLabel HorizontalAlignment="Center" LocalId="account-profiles"/>
</Border>
<ScrollViewer HorizontalScrollBarVisibility="Disabled" VerticalScrollBarVisibility="Auto">
<ItemsControl
Background="#00000000"
ItemsSource="{Binding Accounts}"
Padding="0">
<ItemsControl.ItemTemplate>
<DataTemplate DataType="{x:Type auth:ProfileEntry}">
<Grid ColumnDefinitions="4*,*">
<Border
BoxShadow="0 1 15 -2 #121212"
CornerRadius="0,10,0,10"
Margin="5,5,5,0">
<Border.Background>
<LinearGradientBrush EndPoint="100%,50%" StartPoint="20%,50%">
<GradientStop Color="{Binding Credentials.AuthServer,
Converter={x:Static converters:TypeConverters.NameColorRepresentation}}" Offset="0.0" />
<GradientStop Color="#222222" Offset="1.0" />
</LinearGradientBrush>
</Border.Background>
<Label>
<TextBlock Text="{Binding AuthName}" Margin="5"/>
</Label>
</Border>
<Border Grid.Column="0"
CornerRadius="0,10,0,10"
Margin="5,5,5,0">
<Border.Background>
<LinearGradientBrush EndPoint="100%,50%" StartPoint="20%,50%">
<GradientStop Color="#aa222222" Offset="0.0" />
<GradientStop Color="#222222" Offset="0.4" />
</LinearGradientBrush>
</Border.Background>
<Button
HorizontalAlignment="Stretch"
Command="{Binding OnSelect}">
<Label>
<TextBlock Text="{Binding Credentials.Login}" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="0,0,5,0"/>
</Label>
</Button>
</Border>
<Border
BoxShadow="0 1 15 -2 #121212"
CornerRadius="0,10,0,10"
Margin="0,5,5,0" Grid.Column="1" Padding="0">
<Border.Background>
<LinearGradientBrush EndPoint="100%,50%" StartPoint="20%,50%">
<GradientStop Color="#292222" Offset="1.0" />
<GradientStop Color="#222222" Offset="1.0" />
</LinearGradientBrush>
</Border.Background>
<Button Command="{Binding OnDelete}" CornerRadius="0,10,0,10" HorizontalAlignment="Stretch">
<Svg
Height="15"
Path="/Assets/svg/delete.svg"
Width="15" />
</Button>
</Border>
</Grid>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</ScrollViewer>
</StackPanel>
<StackPanel
Grid.Column="0"
Grid.ColumnSpan="{Binding AuthViewSpan}"
Grid.Row="0">
<Border
BoxShadow="{StaticResource DefaultShadow}"
CornerRadius="10"
Margin="5"
Padding="15">
<Border.Background>
<LinearGradientBrush EndPoint="50%,100%" StartPoint="50%,0%">
<GradientStop Color="#292222" Offset="0.0" />
<GradientStop Color="#222222" Offset="1.0" />
</LinearGradientBrush>
</Border.Background>
<Panel>
<StackPanel IsVisible="{Binding !IsLogged}" Spacing="15">
<Svg
Height="100"
Margin="0,0,0,20"
Path="/Assets/svg/user.svg" />
<StackPanel HorizontalAlignment="Center">
<StackPanel IsVisible="{Binding DoRetryAuth}">
<Border Background="{StaticResource DefaultSelected}" BoxShadow="{StaticResource DefaultShadow}">
<Button
Command="{Binding DoCurrentAuth}"
HorizontalAlignment="Stretch"
HorizontalContentAlignment="Center">
<customControls:LocalizedLabel LocalId="account-auth-retry"/>
</Button>
</Border>
<customControls:LocalizedLabel HorizontalAlignment="Center" LocalId="account-auth-try-another"/>
</StackPanel>
<StackPanel Orientation="Horizontal">
<customControls:LocalizedLabel VerticalAlignment="Center" LocalId="account-auth-login"/>
<TextBox Text="{Binding CurrentLogin}" MinWidth="200" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<customControls:LocalizedLabel HorizontalAlignment="Left" VerticalAlignment="Center" LocalId="account-auth-password"/>
<TextBox PasswordChar="#" MinWidth="200" Text="{Binding CurrentPassword}" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<customControls:LocalizedLabel VerticalAlignment="Center" LocalId="account-auth-server"/>
<Button Command="{Binding OnExpandAuthUrl}" VerticalAlignment="Stretch">
<Label>+</Label>
</Button>
</StackPanel>
</StackPanel>
<Border
BoxShadow="{StaticResource DefaultShadow}"
CornerRadius="10"
IsVisible="{Binding AuthUrlConfigExpand}">
<ScrollViewer Height="80">
<ListBox
Background="#00000000"
ItemsSource="{Binding AuthUrls}"
Margin="5"
SelectedItem="{Binding AuthItemSelect}"
SelectionMode="Single">
<ListBox.ItemTemplate>
<DataTemplate>
<Label>
<TextBlock Text="{Binding Name}" />
</Label>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</ScrollViewer>
</Border>
<Border Background="{StaticResource DefaultSelected}" BoxShadow="{StaticResource DefaultShadow}">
<Button
Command="{Binding DoAuth}"
HorizontalAlignment="Stretch"
HorizontalContentAlignment="Center">
<customControls:LocalizedLabel LocalId="account-auth-button"/>
</Button>
</Border>
<Button Command="{Binding OnExpandAuthView}" HorizontalAlignment="Right">
<Label>
>
</Label>
</Button>
</StackPanel>
<StackPanel IsVisible="{Binding IsLogged}">
<Svg
Height="100"
Margin="0,0,0,20"
Path="/Assets/svg/user.svg" />
<Label>
<StackPanel>
<StackPanel HorizontalAlignment="Center" Orientation="Horizontal" Spacing="5">
<customControls:LocalizedLabel LocalId="account-auth-hello"/>
<TextBlock Text="{Binding Credentials.Value.Login}" />
</StackPanel>
<StackPanel HorizontalAlignment="Center" Orientation="Horizontal" Spacing="5">
<customControls:LocalizedLabel LocalId="account-auth-current-server"/>
<TextBlock Text="{Binding Credentials.Value.AuthServer}" />
</StackPanel>
</StackPanel>
</Label>
<StackPanel
HorizontalAlignment="Center"
Margin="5,20,5,5"
Orientation="Horizontal"
Spacing="5">
<Border BoxShadow="{StaticResource DefaultShadow}">
<Button Command="{Binding Logout}">
<customControls:LocalizedLabel LocalId="account-auth-logout"/>
</Button>
</Border>
<Border BoxShadow="{StaticResource DefaultShadow}"
IsVisible="{Binding CurrentPassword,
Converter={x:Static converters:TypeConverters.StringIsNotEmpty}}">
<Button Command="{Binding OnSaveProfile}">
<customControls:LocalizedLabel LocalId="account-auth-save"/>
</Button>
</Border>
</StackPanel>
</StackPanel>
</Panel>
</Border>
</StackPanel>
</Grid>
</UserControl>