Files
APIVisualExecutor/Examples/Nodify.Calculator/StartupWindow.xaml
Ankitkumar Satapara f9118a563c
Some checks failed
Build / build (push) Has been cancelled
Enhance the landing page and include the recent projects for faster opening
2026-04-22 14:21:30 +05:30

197 lines
11 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<Window x:Class="Nodify.Calculator.StartupWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="API Visual Executor"
Width="720"
Height="520"
WindowStartupLocation="CenterScreen"
ResizeMode="CanResizeWithGrip"
Background="#1E1E1E"
Foreground="White">
<Grid Margin="32,24">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<!-- Header -->
<StackPanel Grid.Row="0" HorizontalAlignment="Center" Margin="0,0,0,6">
<TextBlock Text="API Visual Executor"
FontSize="28" FontWeight="Bold"
Foreground="#6366f1"
HorizontalAlignment="Center" />
<TextBlock Text="Create or open a project to get started"
FontSize="13" Foreground="Gray"
HorizontalAlignment="Center"
Margin="0,4,0,0" />
</StackPanel>
<!-- Action buttons -->
<StackPanel Grid.Row="1" Orientation="Horizontal"
HorizontalAlignment="Center" Margin="0,14,0,14">
<Button Content=" New Project"
Width="200" Height="42" FontSize="15"
Margin="0,0,12,0"
Background="#6366f1" Foreground="White"
BorderThickness="0" Cursor="Hand"
Click="NewProject_Click" />
<Button Content="📂 Open Project"
Width="200" Height="42" FontSize="15"
Background="#3E3E42" Foreground="White"
BorderThickness="1" BorderBrush="#555"
Cursor="Hand"
Click="OpenProject_Click" />
</StackPanel>
<!-- Recent projects grid -->
<Border Grid.Row="2" Background="#252526" CornerRadius="6"
BorderBrush="#3E3E42" BorderThickness="1"
Padding="0">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<TextBlock Grid.Row="0" Text="Recent Projects"
FontSize="14" FontWeight="SemiBold"
Foreground="#DCDCDC" Margin="14,10,14,6" />
<!-- Empty state -->
<TextBlock Grid.Row="1" x:Name="EmptyLabel"
Text="No recent projects yet. Create or open a project to see it here."
Foreground="#777" FontSize="12"
HorizontalAlignment="Center" VerticalAlignment="Center"
Visibility="Collapsed" />
<DataGrid Grid.Row="1" x:Name="RecentProjectsGrid"
AutoGenerateColumns="False"
IsReadOnly="True"
CanUserAddRows="False"
CanUserDeleteRows="False"
CanUserReorderColumns="False"
SelectionMode="Single"
HeadersVisibility="Column"
GridLinesVisibility="Horizontal"
HorizontalGridLinesBrush="#2D2D30"
Background="Transparent"
RowBackground="#252526"
AlternatingRowBackground="#2A2A2E"
BorderThickness="0"
Foreground="#DCDCDC"
FontSize="13"
Margin="6,0,6,6"
MouseDoubleClick="RecentProjectsGrid_MouseDoubleClick">
<DataGrid.ColumnHeaderStyle>
<Style TargetType="DataGridColumnHeader">
<Setter Property="Background" Value="#2D2D30" />
<Setter Property="Foreground" Value="#AAAAAA" />
<Setter Property="FontSize" Value="12" />
<Setter Property="FontWeight" Value="SemiBold" />
<Setter Property="Padding" Value="10,6" />
<Setter Property="BorderBrush" Value="#3E3E42" />
<Setter Property="BorderThickness" Value="0,0,0,1" />
</Style>
</DataGrid.ColumnHeaderStyle>
<DataGrid.RowStyle>
<Style TargetType="DataGridRow">
<Setter Property="Cursor" Value="Hand" />
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="#333337" />
</Trigger>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="#3E3E42" />
</Trigger>
</Style.Triggers>
</Style>
</DataGrid.RowStyle>
<DataGrid.CellStyle>
<Style TargetType="DataGridCell">
<Setter Property="BorderThickness" Value="0" />
<Setter Property="Padding" Value="10,6" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="DataGridCell">
<Border Padding="{TemplateBinding Padding}" Background="{TemplateBinding Background}">
<ContentPresenter VerticalAlignment="Center" />
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="Transparent" />
<Setter Property="Foreground" Value="White" />
</Trigger>
</Style.Triggers>
</Style>
</DataGrid.CellStyle>
<DataGrid.Columns>
<DataGridTextColumn Header="Project Name" Binding="{Binding ProjectName}" Width="*">
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="Foreground" Value="#E0E0E0" />
<Setter Property="FontWeight" Value="Medium" />
<Setter Property="VerticalAlignment" Value="Center" />
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
<DataGridTextColumn Header="Location" Binding="{Binding ProjectPath}" Width="2*">
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="Foreground" Value="#999999" />
<Setter Property="TextTrimming" Value="CharacterEllipsis" />
<Setter Property="VerticalAlignment" Value="Center" />
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
<DataGridTextColumn Header="Last Opened" Binding="{Binding LastOpened, StringFormat='{}{0:MMM dd, yyyy hh:mm tt}'}" Width="160">
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="Foreground" Value="#888888" />
<Setter Property="VerticalAlignment" Value="Center" />
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
<DataGridTemplateColumn Header="" Width="70">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Button Content="Open"
Click="OpenRecentProject_Click"
Background="#6366f1" Foreground="White"
BorderThickness="0" Cursor="Hand"
Padding="10,4" FontSize="12"
HorizontalAlignment="Center"
VerticalAlignment="Center" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Header="" Width="36">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Button Content="✕"
Click="RemoveRecentProject_Click"
Background="Transparent" Foreground="#888"
BorderThickness="0" Cursor="Hand"
Padding="4,2" FontSize="12"
ToolTip="Remove from list"
HorizontalAlignment="Center"
VerticalAlignment="Center" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
</Grid>
</Border>
<!-- Footer hint -->
<TextBlock Grid.Row="3" Text="Double-click a project to open it quickly"
FontSize="11" Foreground="#555"
HorizontalAlignment="Center" Margin="0,8,0,0" />
</Grid>
</Window>