Styles: add shared Typography/Scroll resources; add platform overrides (Desktop/Android/Browser) and load via App; switch icons to resource-based sizes and cap history text lines.

This commit is contained in:
Codex CLI 2025-08-27 03:15:47 -05:00
commit 7e40c1dc0b
8 changed files with 144 additions and 6 deletions

View file

@ -5,6 +5,8 @@ using Avalonia;
using Avalonia.Controls.ApplicationLifetimes;
using Avalonia.Data.Core.Plugins;
using Avalonia.Markup.Xaml;
using Avalonia.Styling;
using System;
namespace AdvancedCalculator;
@ -21,6 +23,40 @@ public partial class App : Application
// Without this line you will get duplicate validations from both Avalonia and CT
BindingPlugins.DataValidators.RemoveAt(0);
// Load platform-specific styles (typography, scrollbars overrides)
try
{
var styles = Current?.Styles;
if (styles is not null)
{
if (OperatingSystem.IsAndroid())
{
styles.Add(new StyleInclude(new Uri("avares://AdvancedCalculator/"))
{
Source = new Uri("avares://AdvancedCalculator.Android/Styles/Android.axaml")
});
}
else if (OperatingSystem.IsBrowser())
{
styles.Add(new StyleInclude(new Uri("avares://AdvancedCalculator/"))
{
Source = new Uri("avares://AdvancedCalculator.Browser/Styles/Browser.axaml")
});
}
else
{
styles.Add(new StyleInclude(new Uri("avares://AdvancedCalculator/"))
{
Source = new Uri("avares://AdvancedCalculator.Desktop/Styles/Desktop.axaml")
});
}
}
}
catch
{
// If a platform-specific style dictionary is missing, continue without failing.
}
if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)
{
desktop.MainWindow = new MainWindow