From 7be9b6ebb84d6c337ce4da4507b41c8f426e2c8b Mon Sep 17 00:00:00 2001 From: Andrey Savich <46422808+pieckenst@users.noreply.github.com> Date: Fri, 3 Apr 2026 22:58:35 +0300 Subject: [PATCH 1/6] About page redesign --- .../Properties/Localizations/App.resx | 20 +- .../Properties/Localizations/App.ru.resx | 20 +- .../PleasantUI.Example/Views/AboutView.axaml | 283 +++++++++++++++--- src/PleasantUI/Assets/IconGeometries.axaml | 11 + 4 files changed, 284 insertions(+), 50 deletions(-) diff --git a/samples/PleasantUI.Example/Properties/Localizations/App.resx b/samples/PleasantUI.Example/Properties/Localizations/App.resx index 85ef8eea..d42252f8 100644 --- a/samples/PleasantUI.Example/Properties/Localizations/App.resx +++ b/samples/PleasantUI.Example/Properties/Localizations/App.resx @@ -77,7 +77,25 @@ About Links Description - Graphical user interface library for Avalonia with its own controls + PleasantUI is a cross-platform UI theme and control library for Avalonia, inspired by Microsoft Fluent Design. It features complete Fluent-style control theming, custom Pleasant controls (PleasantWindow, NavigationView, ContentDialog, ProgressRing, and more), a multi-theme engine with 10+ built-in themes and custom theme support, and a reactive localization system. All controls are AOT-compatible with no rd.xml required. + MIT License + Fluent Design + Complete Fluent-style theming with rounded corners and smooth transitions + Custom Controls + PleasantWindow, NavigationView, ContentDialog, TabView, and more + 10+ Themes + Built-in themes plus custom theme editor with full color customization + Localization + Reactive localization system with runtime language switching + AOT Ready + Fully AOT-compatible with no rd.xml required + Cross-Platform + Works on Windows, macOS, Linux, and mobile platforms + GitHub Repository + Support on Patreon + Support on Boosty + Credits & Acknowledgments + • AvaloniaUI - The cross-platform UI framework • Aura.UI by PieroCastillo - Control inspiration • FluentAvalonia.ProgressRing by ymg2006 • JetBrains Rider - Development IDE Custom themes diff --git a/samples/PleasantUI.Example/Properties/Localizations/App.ru.resx b/samples/PleasantUI.Example/Properties/Localizations/App.ru.resx index 41e70391..7b8b2ff9 100644 --- a/samples/PleasantUI.Example/Properties/Localizations/App.ru.resx +++ b/samples/PleasantUI.Example/Properties/Localizations/App.ru.resx @@ -70,7 +70,25 @@ О программе Ссылки Описание - Библиотека графического интерфейса для Avalonia с собственными элементами управления + PleasantUI — это кроссплатформенная библиотека тем и элементов управления UI для Avalonia, вдохновлённая Microsoft Fluent Design. Она включает полную темизацию в стиле Fluent, собственные элементы управления (PleasantWindow, NavigationView, ContentDialog, ProgressRing и др.), мультитемный движок с 10+ встроенными темами и поддержкой пользовательских тем, а также реактивную систему локализации. Все элементы совместимы с AOT без необходимости rd.xml. + Лицензия MIT + Fluent Design + Полная темизация в стиле Fluent с закруглёнными углами и плавными переходами + Пользовательские элементы + PleasantWindow, NavigationView, ContentDialog, TabView и другие + 10+ тем + Встроенные темы плюс редактор с полной настройкой цветов + Локализация + Реактивная система локализации с переключением языка в реальном времени + Готовность к AOT + Полная совместимость с AOT без необходимости rd.xml + Кроссплатформенность + Работает на Windows, macOS, Linux и мобильных платформах + Репозиторий GitHub + Поддержать на Patreon + Поддержать на Boosty + Благодарности + • AvaloniaUI — кроссплатформенный UI фреймворк • Aura.UI от PieroCastillo — вдохновение для элементов • FluentAvalonia.ProgressRing от ymg2006 • JetBrains Rider — IDE для разработки Пользовательские темы diff --git a/samples/PleasantUI.Example/Views/AboutView.axaml b/samples/PleasantUI.Example/Views/AboutView.axaml index c15f3e4a..e06e5e49 100644 --- a/samples/PleasantUI.Example/Views/AboutView.axaml +++ b/samples/PleasantUI.Example/Views/AboutView.axaml @@ -2,81 +2,268 @@ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" - mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450" + xmlns:MaterialIcons="clr-namespace:PleasantUI.MaterialIcons;assembly=PleasantUI.MaterialIcons" + mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="600" x:Class="PleasantUI.Example.Views.AboutView"> - + + - - - - - - + + + + + + + + + + + + + + + + + + + + + + + - - - - + + TextAlignment="Right" + Foreground="{DynamicResource TextFillColor3}" + Margin="0 5 0 0" /> - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + - + - + + - - - + CornerRadius="{StaticResource ControlCornerRadius}" + Padding="16"> + + + + + + diff --git a/src/PleasantUI/Assets/IconGeometries.axaml b/src/PleasantUI/Assets/IconGeometries.axaml index 7bd13e90..10393432 100644 --- a/src/PleasantUI/Assets/IconGeometries.axaml +++ b/src/PleasantUI/Assets/IconGeometries.axaml @@ -53,4 +53,15 @@ M12,9A3,3 0 0,1 15,12A3,3 0 0,1 12,15A3,3 0 0,1 9,12A3,3 0 0,1 12,9M12,4.5C17,4.5 21.27,7.61 23,12C21.27,16.39 17,19.5 12,19.5C7,19.5 2.73,16.39 1,12C2.73,7.61 7,4.5 12,4.5M3.18,12C4.83,15.36 8.24,17.5 12,17.5C15.76,17.5 19.17,15.36 20.82,12C19.17,8.64 15.76,6.5 12,6.5C8.24,6.5 4.83,8.64 3.18,12Z M2,5.27L3.28,4L20,20.72L18.73,22L15.65,18.92C14.5,19.3 13.28,19.5 12,19.5C7,19.5 2.73,16.39 1,12C1.69,10.24 2.79,8.69 4.19,7.46L2,5.27M12,9A3,3 0 0,1 15,12C15,12.35 14.94,12.69 14.83,13L11,9.17C11.31,9.06 11.65,9 12,9M12,4.5C17,4.5 21.27,7.61 23,12C22.18,14.08 20.79,15.88 19,17.19L17.58,15.76C18.94,14.82 20.06,13.54 20.82,12C19.17,8.64 15.76,6.5 12,6.5C10.91,6.5 9.84,6.68 8.84,7L7.3,5.47C8.74,4.85 10.33,4.5 12,4.5M3.18,12C4.83,15.36 8.24,17.5 12,17.5C12.69,17.5 13.37,17.43 14,17.29L11.72,15C10.29,14.85 9.15,13.71 9,12.28L5.6,8.87C4.61,9.72 3.78,10.78 3.18,12Z + M11,9H13V7H11M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M12,2C6.5,2 2,6.5 2,12C2,17.5 6.5,22 12,22C17.5,22 22,17.5 22,12C22,6.5 17.5,2 12,2M11,17H13V11H11V17Z + M19,5V11H15V5H19M15,13V19H11V13H15M11,5V9H7V5H11M7,11V15H5V11H7M7,17V21H3V17H7M21,13V19H17V13H21M17,11V5H21V11H17M5,5H9V9H5V5M3,3V21H21V3H3Z + M7.5,2C7.5,2 8.54,2.38 9.71,3.13C9.38,4.29 9.15,5.64 9.05,7.08C10.5,7.35 11.91,7.93 13.12,8.74C12.36,9.69 11.68,10.74 11.13,11.88C12.06,11.64 13.03,11.5 14,11.5C14.5,11.5 15,11.54 15.5,11.61C14.79,10.21 14.14,8.75 13.57,7.24C14.87,6.88 15.85,6.6 16.26,6.5C16.17,6.37 16.09,6.25 16,6.13C15.13,5.09 14.21,4.09 13.24,3.13C12.34,2.23 11.43,1.38 10.53,0.56C9.68,0.21 8.77,0 7.83,0C6.62,0 5.46,0.32 4.44,0.88C3.23,1.61 2.22,2.64 1.52,3.87C0.69,5.34 0.33,7.03 0.5,8.71C0.75,11.31 2.16,13.66 4.31,15.19C6.46,16.72 9.15,17.29 11.74,16.79C11.03,15.35 10.47,13.84 10.06,12.28C9.44,12.85 8.82,13.41 8.21,13.97C7.04,13.74 5.94,13.27 4.96,12.58C3.71,11.69 2.79,10.41 2.36,8.95C2.13,8.14 2.03,7.29 2.07,6.44C2.21,4.34 3.39,2.42 5.22,1.32C5.95,0.91 6.74,0.63 7.57,0.5C7.54,1.16 7.52,1.83 7.5,2.5M14,20.76V18H12V16H19.55C19.4,15.58 19.25,15.16 19.1,14.75C19.43,14.76 19.76,14.77 20.09,14.78C20.3,15.81 20.58,16.83 20.93,17.84C21.34,18.97 21.79,20.1 22.29,21.21L20.46,21.89C20.09,21.09 19.75,20.28 19.43,19.46C19.27,20.03 19.11,20.6 18.96,21.16L17.03,20.64C17.36,19.68 17.68,18.71 18,17.74C16.67,18.16 15.33,18.5 14,20.76Z + M13,6V18L21.5,12M4,18L12.5,12L4,6V18Z + M4,6H20V16H4V6M2,18H22V20H2V18M20,4H4C2.89,4 2,4.89 2,6V16C2,17.1 2.89,18 4,18H20C21.1,18 22,17.1 22,16V6C22,4.89 21.1,4 20,4Z + M10.59,13.41C11,13.8 11,14.44 10.59,14.83C10.2,15.22 9.56,15.22 9.17,14.83C7.22,12.88 7.22,9.71 9.17,7.76L12.35,4.58C14.3,2.63 17.47,2.63 19.42,4.58C21.37,6.53 21.37,9.7 19.42,11.65L18.24,12.84C18.24,12.84 18.24,12.84 18.24,12.84C17.83,12.42 17.17,12.42 16.76,12.84C16.35,13.25 16.35,13.91 16.76,14.32L18,15.58C20.88,12.69 20.88,8.27 18,5.41C15.12,2.5 10.66,2.5 7.76,5.41L4.59,8.59C1.69,11.5 1.69,15.96 4.59,18.88C7.5,21.77 11.95,21.77 14.88,18.88C15.27,18.5 15.27,17.85 14.88,17.46C14.49,17.07 13.85,17.07 13.46,17.46C11.32,19.62 8.07,19.62 5.94,17.46C3.78,15.32 3.78,12.07 5.94,9.94L9.12,6.76C9.5,6.37 10.15,6.37 10.53,6.76C10.92,7.15 10.92,7.79 10.53,8.18L7.35,11.35C6.37,12.34 6.37,13.95 7.35,14.94C8.34,15.92 9.95,15.92 10.94,14.94L10.59,13.41Z + M12,2A10,10 0 0,0 2,12C2,16.42 4.87,20.17 8.84,21.5C9.34,21.58 9.5,21.27 9.5,21C9.5,20.77 9.5,20.14 9.5,19.31C6.73,19.91 6.14,17.97 6.14,17.97C5.68,16.81 5.03,16.5 5.03,16.5C4.12,15.88 5.1,15.9 5.1,15.9C6.1,15.97 6.63,16.93 6.63,16.93C7.5,18.45 8.97,18 9.54,17.76C9.63,17.11 9.89,16.67 10.17,16.42C7.95,16.17 5.62,15.31 5.62,11.5C5.62,10.39 6,9.5 6.65,8.79C6.55,8.54 6.2,7.5 6.75,6.15C6.75,6.15 7.59,5.88 9.5,7.17C10.29,6.95 11.15,6.84 12,6.84C12.85,6.84 13.71,6.95 14.5,7.17C16.41,5.88 17.25,6.15 17.25,6.15C17.8,7.5 17.45,8.54 17.35,8.79C18,9.5 18.38,10.39 18.38,11.5C18.38,15.32 16.04,16.16 13.81,16.41C14.17,16.72 14.5,17.33 14.5,18.26C14.5,19.6 14.5,20.68 14.5,21C14.5,21.27 14.66,21.59 15.17,21.5C19.14,20.16 22,16.42 22,12A10,10 0 0,0 12,2Z + M12.1,18.55L12,18.65L11.89,18.55C7.14,14.24 4,11.39 4,8.5C4,6.5 5.5,5 7.5,5C9.04,5 10.54,5.99 11.07,7.36H12.93C13.46,5.99 14.96,5 16.5,5C18.5,5 20,6.5 20,8.5C20,11.39 16.86,14.24 12.1,18.55M16.5,3C14.76,3 13.09,3.81 12,5.08C10.91,3.81 9.24,3 7.5,3C4.42,3 2,5.4 2,8.5C2,12.27 5.4,15.36 10.55,20.03L12,21.35L13.45,20.03C18.6,15.36 22,12.27 22,8.5C22,5.4 19.58,3 16.5,3Z + M7,15H9C9,16.08 9.37,17 10.06,17.66C10.75,18.33 11.67,18.65 12.81,18.65V15.31C11.29,15.21 10.08,14.75 9.18,13.93C8.28,13.11 7.83,12.09 7.83,10.86C7.83,9.65 8.29,8.65 9.2,7.85C10.11,7.05 11.31,6.64 12.81,6.62V5H14.84V6.68C16.2,6.89 17.28,7.42 18.08,8.27C18.88,9.12 19.28,10.17 19.28,11.42H17.22C17.22,10.44 16.87,9.66 16.16,9.08C15.45,8.5 14.59,8.2 13.59,8.18V11.39C15.27,11.5 16.56,11.96 17.46,12.77C18.36,13.58 18.81,14.64 18.81,15.96C18.81,17.23 18.32,18.29 17.35,19.14C16.38,19.99 15.14,20.47 13.62,20.57V23H11.59V20.55C10.03,20.36 8.77,19.83 7.8,18.98C6.83,18.13 6.35,17.04 6.35,15.71L7,15.04M13.59,15.35V18.39C14.5,18.28 15.22,17.97 15.73,17.46C16.24,16.95 16.5,16.35 16.5,15.65C16.5,15.03 16.28,14.52 15.84,14.12C15.4,13.72 14.66,13.47 13.62,13.36M12.81,8.81C11.96,8.92 11.32,9.22 10.88,9.7C10.44,10.18 10.22,10.72 10.22,11.33C10.22,11.88 10.42,12.35 10.82,12.74C11.22,13.13 11.9,13.42 12.84,13.6V8.8M7,15H9C9,16.08 9.37,17 10.06,17.66C10.75,18.33 11.67,18.65 12.81,18.65V15.31C11.29,15.21 10.08,14.75 9.18,13.93C8.28,13.11 7.83,12.09 7.83,10.86C7.83,9.65 8.29,8.65 9.2,7.85C10.11,7.05 11.31,6.64 12.81,6.62V5H14.84V6.68C16.2,6.89 17.28,7.42 18.08,8.27C18.88,9.12 19.28,10.17 19.28,11.42H17.22C17.22,10.44 16.87,9.66 16.16,9.08C15.45,8.5 14.59,8.2 13.59,8.18V11.39C15.27,11.5 16.56,11.96 17.46,12.77C18.36,13.58 18.81,14.64 18.81,15.96C18.81,17.23 18.32,18.29 17.35,19.14C16.38,19.99 15.14,20.47 13.62,20.57V23H11.59V20.55C10.03,20.36 8.77,19.83 7.8,18.98C6.83,18.13 6.35,17.04 6.35,15.71L7,15.04M13.59,15.35V18.39C14.5,18.28 15.22,17.97 15.73,17.46C16.24,16.95 16.5,16.35 16.5,15.65C16.5,15.03 16.28,14.52 15.84,14.12C15.4,13.72 14.66,13.47 13.62,13.36M12.81,8.81C11.96,8.92 11.32,9.22 10.88,9.7C10.44,10.18 10.22,10.72 10.22,11.33C10.22,11.88 10.42,12.35 10.82,12.74C11.22,13.13 11.9,13.42 12.84,13.6V8.8 + M12,21.35L10.55,20.03C5.4,15.36 2,12.27 2,8.5C2,5.42 4.42,3 7.5,3C9.24,3 10.91,3.81 12,5.09C13.09,3.81 14.76,3 16.5,3C19.58,3 22,5.42 22,8.5C22,12.27 18.6,15.36 13.45,20.04L12,21.35Z + \ No newline at end of file From a1bb3fe4d97d1e90e011bf928adb7d011e0029ca Mon Sep 17 00:00:00 2001 From: Andrey Savich <46422808+pieckenst@users.noreply.github.com> Date: Fri, 3 Apr 2026 23:00:50 +0300 Subject: [PATCH 2/6] CLEAN --- samples/PleasantUI.Example/Views/AboutView.axaml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/samples/PleasantUI.Example/Views/AboutView.axaml b/samples/PleasantUI.Example/Views/AboutView.axaml index e06e5e49..76243bb6 100644 --- a/samples/PleasantUI.Example/Views/AboutView.axaml +++ b/samples/PleasantUI.Example/Views/AboutView.axaml @@ -93,7 +93,7 @@ - + - + - + - + - + - + Date: Fri, 3 Apr 2026 23:03:45 +0300 Subject: [PATCH 3/6] Redesign for about page done --- .../PleasantUI.Example/Views/AboutView.axaml | 54 ++++++++++--------- 1 file changed, 30 insertions(+), 24 deletions(-) diff --git a/samples/PleasantUI.Example/Views/AboutView.axaml b/samples/PleasantUI.Example/Views/AboutView.axaml index 76243bb6..9aa5d26d 100644 --- a/samples/PleasantUI.Example/Views/AboutView.axaml +++ b/samples/PleasantUI.Example/Views/AboutView.axaml @@ -94,12 +94,13 @@ - - + - + @@ -108,14 +109,15 @@ Foreground="{DynamicResource TextFillColor3}" FontSize="12" /> - + - - + - + @@ -124,14 +126,15 @@ Foreground="{DynamicResource TextFillColor3}" FontSize="12" /> - + - - + - + @@ -140,14 +143,15 @@ Foreground="{DynamicResource TextFillColor3}" FontSize="12" /> - + - - + - + @@ -156,14 +160,15 @@ Foreground="{DynamicResource TextFillColor3}" FontSize="12" /> - + - - + - + @@ -172,14 +177,15 @@ Foreground="{DynamicResource TextFillColor3}" FontSize="12" /> - + - - + - + @@ -188,7 +194,7 @@ Foreground="{DynamicResource TextFillColor3}" FontSize="12" /> - + From d0d24512d743b5eb46384d51831c5c79904cee61 Mon Sep 17 00:00:00 2001 From: Andrey Savich <46422808+pieckenst@users.noreply.github.com> Date: Fri, 3 Apr 2026 23:06:45 +0300 Subject: [PATCH 4/6] links --- samples/PleasantUI.Example/Views/AboutView.axaml | 9 ++++++--- .../PleasantUI.Example/Views/AboutView.axaml.cs | 16 ++++++++++++++++ 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/samples/PleasantUI.Example/Views/AboutView.axaml b/samples/PleasantUI.Example/Views/AboutView.axaml index 9aa5d26d..0dc42bce 100644 --- a/samples/PleasantUI.Example/Views/AboutView.axaml +++ b/samples/PleasantUI.Example/Views/AboutView.axaml @@ -209,7 +209,8 @@