From bba5fe093c031e0ca41a2f3b57aca6cc2b5d9b12 Mon Sep 17 00:00:00 2001 From: Paul Schneider Date: Sun, 4 Oct 2026 20:12:34 +0100 Subject: [PATCH] + scroll --- src/PostIt/PostIt.Tests/MD/le-chant-1.md | 34 ++++++++++++ .../Controls/MarkdownEditorControl.axaml | 40 ++++++++------ src/PostIt/PostIt/Views/Blogs/BlogsPage.axaml | 12 ++++- .../PostIt/Views/Blogs/BlogsPage.axaml.cs | 53 ------------------- src/Yavsc.Org/wwwroot/css/site.css | 5 +- src/Yavsc.Org/wwwroot/css/site.scss | 5 +- 6 files changed, 74 insertions(+), 75 deletions(-) create mode 100644 src/PostIt/PostIt.Tests/MD/le-chant-1.md diff --git a/src/PostIt/PostIt.Tests/MD/le-chant-1.md b/src/PostIt/PostIt.Tests/MD/le-chant-1.md new file mode 100644 index 000000000..f4a7506fe --- /dev/null +++ b/src/PostIt/PostIt.Tests/MD/le-chant-1.md @@ -0,0 +1,34 @@ + + Loin vers l'infini s'étendent + Les grands prés marécageux . + Pas un seul oiseau ne chante + Sur les arbres secs et creux ! + +*(Refrain)* + + Ô terre de détresse, + Où nous devons sans cesse, + Piocher, piocher . + + Dans ce camp morne et sauvage + Entouré de murs de fer, + Il nous semble vivre en cage + Au milieu d'un grand désert . + + Bruit des pas et bruit des armes, + Sentinelles jours et nuits, + Et du sang, et des cris, des larmes, + La mort pour celui qui fuit . + + Mais un jour dans notre vie, + Le printemps refleurira . + Liberté, liberté chérie + Je dirai : « Tu es à moi ! » + +*(Dernier refrain)* + + Ô terre d'allégresse, + Où nous pourrons sans cesse, + Aimer, aimer ! + +[audio : Mario Hacquard - Youtube](https://www.youtube.com/watch?v=ogw_mgk1pFs) diff --git a/src/PostIt/PostIt/Controls/MarkdownEditorControl.axaml b/src/PostIt/PostIt/Controls/MarkdownEditorControl.axaml index 7c639043d..9e8df6dd1 100644 --- a/src/PostIt/PostIt/Controls/MarkdownEditorControl.axaml +++ b/src/PostIt/PostIt/Controls/MarkdownEditorControl.axaml @@ -7,26 +7,35 @@ x:Name="Root" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"> - + - + + VerticalScrollBarVisibility="Auto" + HorizontalAlignment="Stretch" + VerticalAlignment="Stretch"> + + + Padding="8" + MinHeight="260"> - + + - + @@ -191,4 +198,5 @@ + diff --git a/src/PostIt/PostIt/Views/Blogs/BlogsPage.axaml.cs b/src/PostIt/PostIt/Views/Blogs/BlogsPage.axaml.cs index 629727870..b40021276 100644 --- a/src/PostIt/PostIt/Views/Blogs/BlogsPage.axaml.cs +++ b/src/PostIt/PostIt/Views/Blogs/BlogsPage.axaml.cs @@ -4,69 +4,16 @@ using Avalonia.Controls; using Avalonia.Platform.Storage; using Avalonia.Controls.Primitives; using Avalonia.Interactivity; -using Avalonia.Controls.Platform; namespace PostIt.Views.Blogs; public partial class BlogsPage : ContentPage { - private IInputPane? _inputPane; - public BlogsPage() { InitializeComponent(); } - protected override void OnLoaded(RoutedEventArgs e) - { - base.OnLoaded(e); - - // Récupère l'accès au TopLevel de la fenêtre/application - var topLevel = TopLevel.GetTopLevel(this); - if (topLevel != null) - { - _inputPane = topLevel!.InputPane; - if (_inputPane != null) - { - // S'abonne aux changements d'état du clavier virtuel - _inputPane.StateChanged += OnInputPaneStateChanged; - - // Applique la configuration initiale si le clavier est déjà présent - UpdateLayoutForKeyboard(_inputPane.OccludedRect.Height); - } - } - } - - protected override void OnUnloaded(RoutedEventArgs e) - { - if (_inputPane != null) - { - _inputPane.StateChanged -= OnInputPaneStateChanged; - } - base.OnUnloaded(e); - } - - - private void UpdateLayoutForKeyboard(double keyboardHeight) - { - double visibleHeight = this.Bounds.Height - keyboardHeight; - if (keyboardHeight > 0) - { - DraftArticleTextEditor.MaxHeight = visibleHeight; - } - else - { - DraftArticleTextEditor.MaxHeight = double.PositiveInfinity; - } - } - - private void OnInputPaneStateChanged(object? sender, InputPaneStateEventArgs e) - { - // e.EndRect contient le rectangle final du clavier virtuel - // e.EndRect.Height vous donne sa hauteur exacte en pixels indépendants du périphérique (pixels logiques) - UpdateLayoutForKeyboard(e.EndRect.Height); - } - protected override void OnApplyTemplate(TemplateAppliedEventArgs e) { base.OnApplyTemplate(e); diff --git a/src/Yavsc.Org/wwwroot/css/site.css b/src/Yavsc.Org/wwwroot/css/site.css index bafc2d571..2e4720ff3 100644 --- a/src/Yavsc.Org/wwwroot/css/site.css +++ b/src/Yavsc.Org/wwwroot/css/site.css @@ -1,4 +1 @@ -.user-icon { - max-width: 1.5em; - max-height: 1.5em; -} +.user-icon{max-width:1.5em;max-height:1.5em}.card{padding:.5em} diff --git a/src/Yavsc.Org/wwwroot/css/site.scss b/src/Yavsc.Org/wwwroot/css/site.scss index 1bf7a4d34..546aac220 100644 --- a/src/Yavsc.Org/wwwroot/css/site.scss +++ b/src/Yavsc.Org/wwwroot/css/site.scss @@ -1,4 +1,7 @@ -user-icon { +.user-icon { max-width: 1.5em; max-height: 1.5em; } +.card { + padding: .5em; +}