merge branch MainWindow

This commit is contained in:
2025-12-01 15:04:58 +03:00
6 changed files with 159 additions and 69 deletions

View File

@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 26.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Слой_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 17 17" style="enable-background:new 0 0 17 17;" xml:space="preserve">
<style type="text/css">
.st0{fill:#FFFFFF;}
</style>
<g>
<g>
<path class="st0" d="M8.5,5.71c-0.28,0-0.51-0.08-0.69-0.23c-0.18-0.15-0.27-0.36-0.27-0.6c0-0.25,0.09-0.45,0.27-0.6
C7.99,4.12,8.22,4.04,8.5,4.04c0.29,0,0.52,0.08,0.7,0.23c0.18,0.15,0.27,0.36,0.27,0.6c0,0.25-0.09,0.45-0.27,0.6
C9.02,5.64,8.79,5.71,8.5,5.71z M7.77,6.52H8.5h0.73v6.44H7.77V6.52z"/>
</g>
<path class="st0" d="M8.5,16.5c-4.41,0-8-3.59-8-8s3.59-8,8-8s8,3.59,8,8S12.91,16.5,8.5,16.5z M8.5,2.09
c-3.53,0-6.41,2.87-6.41,6.41c0,3.53,2.87,6.41,6.41,6.41s6.41-2.87,6.41-6.41C14.91,4.97,12.03,2.09,8.5,2.09z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 950 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 65 KiB

View File

@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 26.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Слой_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 17 17" style="enable-background:new 0 0 17 17;" xml:space="preserve">
<style type="text/css">
.st0{fill:#FFFFFF;}
</style>
<g>
<path class="st0" d="M16.68,7.66l-0.5-2.2c-0.06-0.28-0.34-0.45-0.62-0.39l-1.6,0.12c-0.31-0.53-0.7-1.01-1.14-1.43l0.47-1.54
c0.12-0.26,0.02-0.57-0.24-0.69l-2.03-0.98c-0.26-0.12-0.57-0.02-0.69,0.24L9.42,2.12c-0.3-0.04-0.6-0.07-0.92-0.07
c-0.31,0-0.62,0.02-0.92,0.07L6.68,0.79C6.55,0.54,6.25,0.43,5.99,0.55L3.95,1.53C3.7,1.65,3.59,1.96,3.71,2.22l0.47,1.54
c-0.45,0.42-0.83,0.9-1.14,1.43l-1.6-0.12C1.16,5.01,0.89,5.18,0.82,5.46l-0.5,2.2C0.26,7.94,0.43,8.21,0.71,8.28l1.5,0.59
c0.05,0.62,0.19,1.22,0.41,1.78l-1.09,1.18c-0.22,0.18-0.26,0.5-0.08,0.73l1.41,1.77c0.18,0.22,0.5,0.26,0.73,0.08l1.39-0.8
c0.5,0.34,1.06,0.61,1.65,0.8l0.24,1.59c0,0.29,0.23,0.52,0.52,0.52h2.26c0.29,0,0.52-0.23,0.52-0.52l0.24-1.59
c0.59-0.19,1.15-0.46,1.65-0.8l1.39,0.8c0.22,0.18,0.55,0.14,0.73-0.08l1.41-1.77c0.18-0.22,0.14-0.55-0.08-0.73l-1.09-1.18
c0.22-0.56,0.36-1.16,0.41-1.78l1.5-0.59C16.57,8.21,16.74,7.94,16.68,7.66z M12.31,8.37c0,2.1-1.71,3.81-3.81,3.81
c-2.1,0-3.81-1.71-3.81-3.81c0-2.1,1.71-3.81,3.81-3.81C10.6,4.56,12.31,6.26,12.31,8.37z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@@ -24,6 +24,8 @@
<PrivateAssets Condition="'$(Configuration)' != 'Debug'">All</PrivateAssets>
</PackageReference>
<PackageReference Include="CommunityToolkit.Mvvm" Version="8.2.1" />
<PackageReference Include="Svg.Controls.Skia.Avalonia" Version="11.3.6" />
<PackageReference Include="Svg.Skia" Version="3.2.1" />
</ItemGroup>
<ItemGroup>

View File

@@ -4,91 +4,94 @@
xmlns:m="using:KeyKeeper.Models"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:KeyKeeper.Views"
xmlns:local="clr-namespace:KeyKeeper.Views"
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
x:Class="KeyKeeper.Views.MainWindow"
x:DataType="vm:MainWindowViewModel"
Icon="/Assets/avalonia-logo.ico"
Background="#fff"
Icon="/Assets/icon.ico"
Title="KeyKeeper">
<Design.DataContext>
<vm:MainWindowViewModel/>
</Design.DataContext>
<Grid>
<TextBlock Text="{Binding Greeting}"
HorizontalAlignment="Center"
VerticalAlignment="Center"/>
<StackPanel HorizontalAlignment="Left" VerticalAlignment="Top" Margin="20">
<Button Content="Настройки"
Command="{Binding OpenSettingsCommand}"
Width="100"
Height="30"/>
</StackPanel>
<Grid Margin="20">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Grid ColumnDefinitions="1.3*, 3*">
<TextBlock Grid.Row="0"
Text="KeyKeeper"
FontSize="24"
FontWeight="Bold"
HorizontalAlignment="Center"
Margin="0,0,0,30"/>
<Border Background="#2328C4" Grid.Column="0">
<Grid RowDefinitions="Auto,*,Auto" Margin="30">
<StackPanel Grid.Row="1"
VerticalAlignment="Center"
HorizontalAlignment="Center"
Spacing="15"
Width="300">
<Svg Path="/Assets/logo_en.svg" Width="340" Height="340"/>
<Button Content="Создать новое хранилище"
Click="CreateNewVault_Click"
Height="40"
FontSize="14"/>
<StackPanel Grid.Row="1" Spacing="5" VerticalAlignment="Top">
<Button Content="New Database"
Foreground="White"
Background="Transparent"
BorderThickness="0"
FontSize="28"
Cursor="Hand"
Click="CreateNewVault_Click"/>
<Button Content="Открыть существующее хранилище"
Click="OpenExistingVault_Click"
Height="40"
FontSize="14"/>
<Button Content="Open Database"
Foreground="White"
Background="Transparent"
BorderThickness="0"
FontSize="28"
Cursor="Hand"
Click="OpenExistingVault_Click"/>
</StackPanel>
<Border Height="1" Margin="0,10" Background="Transparent">
<Grid>
<Rectangle Height="1"
Fill="LightGray"
HorizontalAlignment="Left"
Width="65"/>
<Rectangle Height="1"
Fill="LightGray"
HorizontalAlignment="Right"
Width="65"/>
</Grid>
</Border>
<StackPanel Grid.Row="2" Orientation="Horizontal" Spacing="25">
<Svg Path="/Assets/settings.svg" Width="61" Height="61"/>
<Button Command="{Binding OpenSettingsCommand}">
<Svg Path="/Assets/about.svg" Width="61" Height="61"/>
</Button>
</StackPanel>
<TextBlock Text="Недавно открытые:"
FontWeight="SemiBold"
Margin="0,0,0,5"/>
</Grid>
</Border>
<ListBox x:Name="RecentVaultsList"
Height="120"
Background="Transparent"
BorderThickness="1"
BorderBrush="LightGray"
ItemsSource="{Binding RecentFiles}">
<ListBox.ItemTemplate>
<DataTemplate x:DataType="m:RecentFile">
<TextBlock Text="{Binding DisplayPath}"
Margin="5"/>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</StackPanel>
<Grid Grid.Column="1" VerticalAlignment="Center">
<Grid RowDefinitions="Auto,Auto">
</Grid>
</Grid>
<TextBlock Text="Recent Database"
FontSize="38"
Foreground="#2328C4"
FontWeight="SemiBold"
HorizontalAlignment="Center"
Margin="0,40,0,30"/>
<Border Grid.Row="1"
Width="700"
Height="260"
HorizontalAlignment="Center"
BorderBrush="#D0D0D0"
BorderThickness="1"
CornerRadius="4"
Padding="25">
<ListBox x:Name="RecentVaultsList"
Background="Transparent"
ItemsSource="{Binding RecentFiles}">
<ListBox.ItemTemplate>
<DataTemplate x:DataType="m:RecentFile">
<TextBlock Text="{Binding DisplayPath}"
Foreground="#000"
Margin="5"/>
</DataTemplate>
</ListBox.ItemTemplate>
<ListBox.Styles>
<Style Selector="ListBoxItem">
<Setter Property="BorderThickness" Value="0,0,0,1"/>
<Setter Property="BorderBrush" Value="#D0D0D0"/>
</Style>
</ListBox.Styles>
</ListBox>
</Border>
</Grid>
</Grid>
</Grid>
</Window>