- tweak: Dependency injection think

This commit is contained in:
2024-12-21 13:11:30 +03:00
parent 9a1bd44a6e
commit 42fde38db6
27 changed files with 541 additions and 242 deletions

View File

@@ -0,0 +1,59 @@
<UserControl
d:DesignHeight="450"
d:DesignWidth="800"
mc:Ignorable="d"
x:Class="Nebula.Launcher.Views.Pages.AccountInfoPage"
xmlns="https://github.com/avaloniaui"
xmlns:controls="clr-namespace:Nebula.Launcher.Views.Controls"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Grid ColumnDefinitions="*,1.5*" RowDefinitions="*">
<StackPanel Grid.Column="0" Grid.Row="0">
<Border
CornerRadius="10"
Margin="5"
Padding="15">
<StackPanel HorizontalAlignment="Center">
<Image
Height="100"
Margin="0,0,0,20"
Source="/Assets/account.png" />
<Grid ColumnDefinitions="120, 100" RowDefinitions="Auto, Auto, Auto">
<Label Grid.Column="0" Grid.Row="0">Login:</Label>
<TextBox Grid.Column="1" Grid.Row="0" />
<Label Grid.Column="0" Grid.Row="1">Password:</Label>
<TextBox
Grid.Column="1"
Grid.Row="1"
PasswordChar="#"
Text="Sas" />
<Label Grid.Column="0" Grid.Row="2">Auth server:</Label>
<TextBox Grid.Column="1" Grid.Row="2" />
</Grid>
<StackPanel
HorizontalAlignment="Center"
Margin="5"
Orientation="Horizontal">
<Button>Save profile</Button>
</StackPanel>
</StackPanel>
</Border>
</StackPanel>
<StackPanel Grid.Column="1" Grid.Row="0">
<Border
CornerRadius="10,10,0,0"
Margin="5,5,5,0"
Padding="5">
<Label HorizontalAlignment="Center">Profiles:</Label>
</Border>
<ScrollViewer HorizontalScrollBarVisibility="Disabled" VerticalScrollBarVisibility="Auto">
<StackPanel>
<controls:PlayerContainerControl />
<controls:PlayerContainerControl />
</StackPanel>
</ScrollViewer>
</StackPanel>
</Grid>
</UserControl>

View File

@@ -0,0 +1,19 @@
using Avalonia.Controls;
using Nebula.Launcher.ViewModels;
namespace Nebula.Launcher.Views.Pages;
public interface ITab;
public partial class AccountInfoPage : UserControl
{
public AccountInfoPage()
{
InitializeComponent();
}
public AccountInfoPage(AccountInfoViewModel viewModel)
: this()
{
DataContext = viewModel;
}
}

View File

@@ -0,0 +1,41 @@
<UserControl
d:DesignHeight="450"
d:DesignWidth="800"
mc:Ignorable="d"
x:Class="Nebula.Launcher.Views.Pages.ServerListPage"
xmlns="https://github.com/avaloniaui"
xmlns:controls="clr-namespace:Nebula.Launcher.Views.Controls"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Grid ColumnDefinitions="*" RowDefinitions="*,40">
<ScrollViewer Margin="0,0,0,10" Padding="0,0,8,0">
<StackPanel>
<controls:ServerContainerControl />
<controls:ServerContainerControl />
<controls:ServerContainerControl />
<controls:ServerContainerControl />
<controls:ServerContainerControl />
<controls:ServerContainerControl />
<controls:ServerContainerControl />
<controls:ServerContainerControl />
<controls:ServerContainerControl />
<controls:ServerContainerControl />
</StackPanel>
</ScrollViewer>
<Border
BorderThickness="2,0,0,0"
CornerRadius="10"
Grid.Row="1">
<Grid ColumnDefinitions="*,40" RowDefinitions="*">
<TextBox
Margin="0"
VerticalAlignment="Center"
Watermark="Server name..." />
<Button Grid.Column="1" Padding="10">
<Image Source="/Assets/filter.png" />
</Button>
</Grid>
</Border>
</Grid>
</UserControl>

View File

@@ -0,0 +1,11 @@
using Avalonia.Controls;
namespace Nebula.Launcher.Views.Pages;
public partial class ServerListPage : UserControl
{
public ServerListPage()
{
InitializeComponent();
}
}