mirror of
https://github.com/okieselbach/AutopilotMonitor.git
synced 2026-10-24 04:32:32 +00:00
219 lines
13 KiB
XML
219 lines
13 KiB
XML
<Window x:Class="AutopilotMonitor.SummaryDialog.MainWindow"
|
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
Title="Autopilot Enrollment Summary"
|
|
Width="540" Height="640"
|
|
MinWidth="540" MinHeight="400"
|
|
ResizeMode="NoResize"
|
|
WindowStartupLocation="CenterScreen"
|
|
Topmost="True"
|
|
WindowStyle="None"
|
|
AllowsTransparency="True"
|
|
Background="Transparent"
|
|
Loaded="Window_Loaded">
|
|
|
|
<Window.Resources>
|
|
<!-- Light Theme Colors (defaults, overridden in code-behind for dark) -->
|
|
<SolidColorBrush x:Key="WindowBackground" Color="#FFFFFF"/>
|
|
<SolidColorBrush x:Key="TitleBarBackground" Color="#F9FAFB"/>
|
|
<SolidColorBrush x:Key="BorderColor" Color="#E5E7EB"/>
|
|
<SolidColorBrush x:Key="PrimaryText" Color="#111827"/>
|
|
<SolidColorBrush x:Key="SecondaryText" Color="#6B7280"/>
|
|
<SolidColorBrush x:Key="SuccessColor" Color="#059669"/>
|
|
<SolidColorBrush x:Key="SuccessBackground" Color="#ECFDF5"/>
|
|
<SolidColorBrush x:Key="ErrorColor" Color="#DC2626"/>
|
|
<SolidColorBrush x:Key="ErrorBackground" Color="#FEF2F2"/>
|
|
<SolidColorBrush x:Key="ProgressBackground" Color="#E5E7EB"/>
|
|
<SolidColorBrush x:Key="ProgressSuccess" Color="#059669"/>
|
|
<SolidColorBrush x:Key="ProgressError" Color="#DC2626"/>
|
|
<SolidColorBrush x:Key="SectionBackground" Color="#F9FAFB"/>
|
|
<SolidColorBrush x:Key="ButtonBackground" Color="#F3F4F6"/>
|
|
<SolidColorBrush x:Key="ButtonHover" Color="#E5E7EB"/>
|
|
<SolidColorBrush x:Key="ButtonText" Color="#374151"/>
|
|
<SolidColorBrush x:Key="CloseButtonHover" Color="#FEE2E2"/>
|
|
<SolidColorBrush x:Key="PhaseHeaderText" Color="#374151"/>
|
|
<SolidColorBrush x:Key="AppItemHover" Color="#F3F4F6"/>
|
|
</Window.Resources>
|
|
|
|
<Grid>
|
|
<!-- Shadow layer (separate so clipping the content border doesn't cut the shadow) -->
|
|
<Border CornerRadius="12" Background="{DynamicResource WindowBackground}">
|
|
<Border.Effect>
|
|
<DropShadowEffect BlurRadius="24" ShadowDepth="4" Opacity="0.15" Color="#000000"/>
|
|
</Border.Effect>
|
|
</Border>
|
|
|
|
<!-- Content layer (clipped to rounded corners in code-behind) -->
|
|
<Border x:Name="ContentBorder" CornerRadius="12"
|
|
Background="{DynamicResource WindowBackground}"
|
|
BorderBrush="{DynamicResource BorderColor}" BorderThickness="1">
|
|
<Grid>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto"/> <!-- Branding banner -->
|
|
<RowDefinition Height="Auto"/> <!-- Title bar -->
|
|
<RowDefinition Height="Auto"/> <!-- Outcome header -->
|
|
<RowDefinition Height="*"/> <!-- App list -->
|
|
<RowDefinition Height="Auto"/> <!-- Footer -->
|
|
</Grid.RowDefinitions>
|
|
|
|
<!-- Branding Banner (hidden by default, shown if image loads) -->
|
|
<Border x:Name="BrandingBanner" Grid.Row="0" Height="80" Visibility="Collapsed"
|
|
ClipToBounds="True">
|
|
<Image x:Name="BrandingImage" Stretch="UniformToFill"
|
|
RenderOptions.BitmapScalingMode="HighQuality"/>
|
|
</Border>
|
|
|
|
<!-- Custom Title Bar -->
|
|
<Border Grid.Row="1" Background="{DynamicResource TitleBarBackground}"
|
|
CornerRadius="{Binding ElementName=BrandingBanner, Path=Visibility, Converter={x:Null}}"
|
|
BorderBrush="{DynamicResource BorderColor}" BorderThickness="0,0,0,1"
|
|
MouseLeftButtonDown="TitleBar_MouseLeftButtonDown">
|
|
<Border.Style>
|
|
<Style TargetType="Border">
|
|
<Setter Property="CornerRadius" Value="0"/>
|
|
</Style>
|
|
</Border.Style>
|
|
<Grid Margin="20,12,12,12">
|
|
<TextBlock Text="Autopilot Enrollment Summary"
|
|
FontFamily="Segoe UI Semibold" FontSize="14"
|
|
Foreground="{DynamicResource PrimaryText}"
|
|
VerticalAlignment="Center"/>
|
|
<Button x:Name="CloseButton" Content=""
|
|
FontFamily="Segoe MDL2 Assets" FontSize="12"
|
|
HorizontalAlignment="Right" VerticalAlignment="Center"
|
|
Width="32" Height="32" Cursor="Hand"
|
|
Click="CloseButton_Click">
|
|
<Button.Style>
|
|
<Style TargetType="Button">
|
|
<Setter Property="Background" Value="Transparent"/>
|
|
<Setter Property="BorderThickness" Value="0"/>
|
|
<Setter Property="Foreground" Value="{DynamicResource SecondaryText}"/>
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="Button">
|
|
<Border x:Name="Bd" Background="{TemplateBinding Background}"
|
|
CornerRadius="6" Width="{TemplateBinding Width}" Height="{TemplateBinding Height}">
|
|
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
|
|
</Border>
|
|
<ControlTemplate.Triggers>
|
|
<Trigger Property="IsMouseOver" Value="True">
|
|
<Setter TargetName="Bd" Property="Background" Value="{DynamicResource CloseButtonHover}"/>
|
|
<Setter Property="Foreground" Value="{DynamicResource ErrorColor}"/>
|
|
</Trigger>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
</Button.Style>
|
|
</Button>
|
|
</Grid>
|
|
</Border>
|
|
|
|
<!-- Outcome Section -->
|
|
<Border Grid.Row="2" Padding="24,20,24,16"
|
|
BorderBrush="{DynamicResource BorderColor}" BorderThickness="0,0,0,1">
|
|
<StackPanel HorizontalAlignment="Center">
|
|
<!-- Success/Failure Icon -->
|
|
<Grid Width="56" Height="56" Margin="0,0,0,12">
|
|
<!-- Success Icon -->
|
|
<Canvas x:Name="SuccessIcon" Width="56" Height="56" Visibility="Collapsed">
|
|
<Ellipse Width="56" Height="56" Fill="{DynamicResource SuccessBackground}"/>
|
|
<Ellipse Width="56" Height="56" Stroke="{DynamicResource SuccessColor}" StrokeThickness="2"/>
|
|
<Path Data="M 16,28 L 24,36 L 40,20" Stroke="{DynamicResource SuccessColor}"
|
|
StrokeThickness="3" StrokeStartLineCap="Round" StrokeEndLineCap="Round" StrokeLineJoin="Round"/>
|
|
</Canvas>
|
|
<!-- Failure Icon -->
|
|
<Canvas x:Name="FailureIcon" Width="56" Height="56" Visibility="Collapsed">
|
|
<Ellipse Width="56" Height="56" Fill="{DynamicResource ErrorBackground}"/>
|
|
<Ellipse Width="56" Height="56" Stroke="{DynamicResource ErrorColor}" StrokeThickness="2"/>
|
|
<Path Data="M 20,20 L 36,36 M 36,20 L 20,36" Stroke="{DynamicResource ErrorColor}"
|
|
StrokeThickness="3" StrokeStartLineCap="Round" StrokeEndLineCap="Round"/>
|
|
</Canvas>
|
|
</Grid>
|
|
|
|
<TextBlock x:Name="OutcomeText" FontFamily="Segoe UI Semibold" FontSize="20"
|
|
Foreground="{DynamicResource PrimaryText}" HorizontalAlignment="Center"
|
|
Text="Enrollment Completed"/>
|
|
<TextBlock x:Name="DurationText" FontFamily="Segoe UI" FontSize="13"
|
|
Foreground="{DynamicResource SecondaryText}" HorizontalAlignment="Center"
|
|
Margin="0,6,0,0" Text="Duration: --"/>
|
|
</StackPanel>
|
|
</Border>
|
|
|
|
<!-- Applications Section -->
|
|
<Grid Grid.Row="3" Margin="24,16,24,0">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto"/> <!-- Header + progress bar -->
|
|
<RowDefinition Height="*"/> <!-- App list -->
|
|
</Grid.RowDefinitions>
|
|
|
|
<!-- Apps Header -->
|
|
<StackPanel Grid.Row="0">
|
|
<TextBlock FontFamily="Segoe UI Semibold" FontSize="14"
|
|
Foreground="{DynamicResource PrimaryText}" Text="Applications" Margin="0,0,0,8"/>
|
|
|
|
<!-- Progress Bar -->
|
|
<Grid Height="8" Margin="0,0,0,4">
|
|
<Border Background="{DynamicResource ProgressBackground}" CornerRadius="4"/>
|
|
<Border x:Name="ProgressBarSuccess" Background="{DynamicResource ProgressSuccess}"
|
|
CornerRadius="4" HorizontalAlignment="Left" Width="0"/>
|
|
</Grid>
|
|
<TextBlock x:Name="AppSummaryText" FontFamily="Segoe UI" FontSize="12"
|
|
Foreground="{DynamicResource SecondaryText}" Margin="0,0,0,12"
|
|
Text="0 of 0 apps installed"/>
|
|
|
|
<!-- No Apps Message -->
|
|
<TextBlock x:Name="NoAppsText" FontFamily="Segoe UI" FontSize="13"
|
|
Foreground="{DynamicResource SecondaryText}" HorizontalAlignment="Center"
|
|
Margin="0,20,0,0" Visibility="Collapsed"
|
|
Text="No application data available."/>
|
|
</StackPanel>
|
|
|
|
<!-- App List by Phase -->
|
|
<ScrollViewer Grid.Row="1" VerticalScrollBarVisibility="Auto"
|
|
Margin="0,0,-8,0" Padding="0,0,8,0">
|
|
<StackPanel x:Name="AppListPanel"/>
|
|
</ScrollViewer>
|
|
</Grid>
|
|
|
|
<!-- Footer -->
|
|
<Border Grid.Row="4" Padding="24,12,24,16"
|
|
BorderBrush="{DynamicResource BorderColor}" BorderThickness="0,1,0,0">
|
|
<Grid>
|
|
<TextBlock x:Name="CountdownText" FontFamily="Segoe UI" FontSize="12"
|
|
Foreground="{DynamicResource SecondaryText}" VerticalAlignment="Center"
|
|
HorizontalAlignment="Left" Text=""/>
|
|
<Button Content="Close" HorizontalAlignment="Right" Padding="20,8"
|
|
Click="CloseButton_Click" Cursor="Hand">
|
|
<Button.Style>
|
|
<Style TargetType="Button">
|
|
<Setter Property="FontFamily" Value="Segoe UI Semibold"/>
|
|
<Setter Property="FontSize" Value="13"/>
|
|
<Setter Property="Foreground" Value="{DynamicResource ButtonText}"/>
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="Button">
|
|
<Border x:Name="Bd" Background="{DynamicResource ButtonBackground}"
|
|
CornerRadius="6" Padding="{TemplateBinding Padding}"
|
|
BorderBrush="{DynamicResource BorderColor}" BorderThickness="1">
|
|
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
|
|
</Border>
|
|
<ControlTemplate.Triggers>
|
|
<Trigger Property="IsMouseOver" Value="True">
|
|
<Setter TargetName="Bd" Property="Background" Value="{DynamicResource ButtonHover}"/>
|
|
</Trigger>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
</Button.Style>
|
|
</Button>
|
|
</Grid>
|
|
</Border>
|
|
</Grid>
|
|
</Border>
|
|
</Grid>
|
|
</Window>
|