46e94539cd
Add DiffPreviewDialog and DiffPreviewDialogViewModel to display a diff preview of configuration changes before saving. The dialog shows line numbers, insertions (green), deletions (red), and unchanged lines with a dark theme matching the ConfigManager design spec.
70 lines
3.4 KiB
XML
70 lines
3.4 KiB
XML
<Window xmlns="https://github.com/avaloniaui"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
xmlns:vm="using:JdeScoping.ConfigManager.ViewModels.Dialogs"
|
|
x:Class="JdeScoping.ConfigManager.Views.Dialogs.ValidationResultsDialog"
|
|
x:DataType="vm:ValidationResultsDialogViewModel"
|
|
Title="Validation Results"
|
|
Width="600" Height="500"
|
|
MinWidth="400" MinHeight="300"
|
|
Background="#151920"
|
|
WindowStartupLocation="CenterOwner">
|
|
|
|
<DockPanel>
|
|
<!-- Header -->
|
|
<Border DockPanel.Dock="Top" Background="#1C2128" Padding="24,16"
|
|
BorderBrush="#2D3540" BorderThickness="0,0,0,1">
|
|
<StackPanel>
|
|
<TextBlock Text="Validation Results"
|
|
Foreground="#E6EDF5" FontSize="18" FontWeight="SemiBold"/>
|
|
<StackPanel Orientation="Horizontal" Margin="0,8,0,0" Spacing="16">
|
|
<TextBlock Foreground="#FF6B6B" FontSize="12">
|
|
<Run Text="{Binding ErrorCount}"/> errors
|
|
</TextBlock>
|
|
<TextBlock Foreground="#FFB84D" FontSize="12">
|
|
<Run Text="{Binding WarningCount}"/> warnings
|
|
</TextBlock>
|
|
</StackPanel>
|
|
</StackPanel>
|
|
</Border>
|
|
|
|
<!-- Footer -->
|
|
<Border DockPanel.Dock="Bottom" Background="#1C2128" Padding="24,16"
|
|
BorderBrush="#2D3540" BorderThickness="0,1,0,0">
|
|
<Button Content="Close" Command="{Binding CloseCommand}"
|
|
HorizontalAlignment="Right"
|
|
Background="#5C9AFF" Foreground="#0D0F12"
|
|
Padding="16,8" FontWeight="Medium"/>
|
|
</Border>
|
|
|
|
<!-- Content -->
|
|
<ScrollViewer Background="#0D0F12" Padding="16">
|
|
<ItemsControl ItemsSource="{Binding Items}">
|
|
<ItemsControl.ItemTemplate>
|
|
<DataTemplate>
|
|
<Border Background="{Binding Background}"
|
|
BorderBrush="{Binding BorderColor}"
|
|
BorderThickness="3,0,0,0"
|
|
Margin="0,0,0,8"
|
|
Padding="12">
|
|
<StackPanel>
|
|
<StackPanel Orientation="Horizontal" Spacing="8">
|
|
<TextBlock Text="{Binding Icon}"
|
|
Foreground="{Binding IconColor}"
|
|
FontSize="14"/>
|
|
<TextBlock Text="{Binding Source}"
|
|
Foreground="#5C6A7A"
|
|
FontFamily="JetBrains Mono" FontSize="11"/>
|
|
</StackPanel>
|
|
<TextBlock Text="{Binding Message}"
|
|
Foreground="#E6EDF5"
|
|
TextWrapping="Wrap"
|
|
Margin="22,4,0,0"/>
|
|
</StackPanel>
|
|
</Border>
|
|
</DataTemplate>
|
|
</ItemsControl.ItemTemplate>
|
|
</ItemsControl>
|
|
</ScrollViewer>
|
|
</DockPanel>
|
|
</Window>
|