From 7e40c1dc0bb878a1c4d7ded75867e01b15ae236b Mon Sep 17 00:00:00 2001 From: Codex CLI Date: Wed, 27 Aug 2025 03:15:47 -0500 Subject: [PATCH] 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. --- .../Styles/Android.axaml | 17 +++++++++ .../Styles/Browser.axaml | 16 +++++++++ .../Styles/Desktop.axaml | 16 +++++++++ src/AdvancedCalculator/App.axaml | 2 ++ src/AdvancedCalculator/App.axaml.cs | 36 +++++++++++++++++++ src/AdvancedCalculator/Styles/Scroll.axaml | 21 +++++++++++ .../Styles/Typography.axaml | 30 ++++++++++++++++ src/AdvancedCalculator/Views/MainView.axaml | 12 +++---- 8 files changed, 144 insertions(+), 6 deletions(-) create mode 100644 src/AdvancedCalculator.Android/Styles/Android.axaml create mode 100644 src/AdvancedCalculator.Browser/Styles/Browser.axaml create mode 100644 src/AdvancedCalculator.Desktop/Styles/Desktop.axaml create mode 100644 src/AdvancedCalculator/Styles/Scroll.axaml create mode 100644 src/AdvancedCalculator/Styles/Typography.axaml diff --git a/src/AdvancedCalculator.Android/Styles/Android.axaml b/src/AdvancedCalculator.Android/Styles/Android.axaml new file mode 100644 index 0000000..30f7e04 --- /dev/null +++ b/src/AdvancedCalculator.Android/Styles/Android.axaml @@ -0,0 +1,17 @@ + + + 16 + 18 + 24 + 1.35 + + + + + + diff --git a/src/AdvancedCalculator.Browser/Styles/Browser.axaml b/src/AdvancedCalculator.Browser/Styles/Browser.axaml new file mode 100644 index 0000000..3842c71 --- /dev/null +++ b/src/AdvancedCalculator.Browser/Styles/Browser.axaml @@ -0,0 +1,16 @@ + + + 15 + 22 + 1.3 + + + + + + diff --git a/src/AdvancedCalculator.Desktop/Styles/Desktop.axaml b/src/AdvancedCalculator.Desktop/Styles/Desktop.axaml new file mode 100644 index 0000000..7a951d8 --- /dev/null +++ b/src/AdvancedCalculator.Desktop/Styles/Desktop.axaml @@ -0,0 +1,16 @@ + + + 13 + 1.2 + 20 + + + + + + diff --git a/src/AdvancedCalculator/App.axaml b/src/AdvancedCalculator/App.axaml index 5e686cd..8d7bed3 100644 --- a/src/AdvancedCalculator/App.axaml +++ b/src/AdvancedCalculator/App.axaml @@ -6,6 +6,8 @@ + + diff --git a/src/AdvancedCalculator/App.axaml.cs b/src/AdvancedCalculator/App.axaml.cs index e967b3b..32716eb 100644 --- a/src/AdvancedCalculator/App.axaml.cs +++ b/src/AdvancedCalculator/App.axaml.cs @@ -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 diff --git a/src/AdvancedCalculator/Styles/Scroll.axaml b/src/AdvancedCalculator/Styles/Scroll.axaml new file mode 100644 index 0000000..ea9284d --- /dev/null +++ b/src/AdvancedCalculator/Styles/Scroll.axaml @@ -0,0 +1,21 @@ + + + + + + + + + + + diff --git a/src/AdvancedCalculator/Styles/Typography.axaml b/src/AdvancedCalculator/Styles/Typography.axaml new file mode 100644 index 0000000..eb80272 --- /dev/null +++ b/src/AdvancedCalculator/Styles/Typography.axaml @@ -0,0 +1,30 @@ + + + 12 + 14 + 16 + 20 + + 18 + 22 + 26 + + 1.1 + 1.25 + 1.4 + + + + + + + + diff --git a/src/AdvancedCalculator/Views/MainView.axaml b/src/AdvancedCalculator/Views/MainView.axaml index ba2be2e..d5fc5e7 100644 --- a/src/AdvancedCalculator/Views/MainView.axaml +++ b/src/AdvancedCalculator/Views/MainView.axaml @@ -59,8 +59,8 @@ Background="Transparent" BorderThickness="0" Padding="8" MinHeight="44" AutomationProperties.Name="Insert variable"> - + @@ -132,11 +132,11 @@ - + - - + +