feat(ui): add sticky version label to variables pane\n\n- Split left SplitView pane into scroll area + bottom bar\n- Show current app version from AssemblyInformationalVersion\n- Uses theme surface + top border per design tokens

This commit is contained in:
Codex CLI 2025-09-01 03:35:22 -05:00
commit 74c5b403ae
2 changed files with 15 additions and 1 deletions

View file

@ -6,6 +6,7 @@ using AdvancedCalculator.Models;
using AdvancedCalculator.Services;
using CSMic;
using System;
using System.Reflection;
namespace AdvancedCalculator.ViewModels;
@ -42,6 +43,12 @@ public partial class MainViewModel : ViewModelBase
public ObservableCollection<HistoryItem> History { get; }
public ObservableCollection<VariableItem> Variables { get; }
// App version string, sourced from AssemblyInformationalVersion
public string AppVersion { get; } =
typeof(MainViewModel).Assembly
.GetCustomAttribute<AssemblyInformationalVersionAttribute>()?
.InformationalVersion ?? "0.0.0";
[RelayCommand]
private void ToggleFunctions()
{

View file

@ -26,7 +26,8 @@
<!-- Left pane: Variables only (Functions moved to flyout) -->
<SplitView.Pane>
<Grid Background="{DynamicResource Brush.Surface}">
<Grid Background="{DynamicResource Brush.Surface}"
RowDefinitions="*,Auto">
<!-- Variables list with empty-state hint overlay -->
<Grid Grid.Row="0">
@ -64,6 +65,12 @@
HorizontalAlignment="Center" VerticalAlignment="Center" />
</Grid>
<!-- Bottom sticky version bar -->
<Border Grid.Row="1" Padding="10" Background="{DynamicResource Brush.Surface}"
BorderBrush="{DynamicResource Brush.Border}" BorderThickness="0,1,0,0">
<TextBlock Text="{Binding AppVersion, StringFormat='Version {0}'}"
HorizontalAlignment="Left"/>
</Border>
</Grid>
</SplitView.Pane>