From fe1eb52a55a17ebd6fd87e50428146ce1b7c0021 Mon Sep 17 00:00:00 2001 From: Paul Schneider Date: Sun, 6 Sep 2026 15:21:22 +0100 Subject: [PATCH] postit: extend shared status bar to main, dialogs and billing flows --- .../ViewModels/AddCircleMemberDialogViewModel.cs | 8 ++++++++ .../ViewModels/BillingQueriesPageViewModel.cs | 8 ++++++++ .../PostIt/ViewModels/CommandFormsPageViewModel.cs | 8 ++++++++ src/PostIt/PostIt/ViewModels/MainViewModel.cs | 8 ++++++++ .../PostIt/ViewModels/PostAclDialogViewModel.cs | 8 ++++++++ .../PostIt/ViewModels/SignaturePageViewModel.cs | 8 ++++++++ src/PostIt/PostIt/Views/AddCircleMemberDialog.axaml | 5 +++-- src/PostIt/PostIt/Views/BillingQueriesPage.axaml | 13 +++---------- src/PostIt/PostIt/Views/CommandFormsPage.axaml | 13 +++---------- src/PostIt/PostIt/Views/Commands/BrushPage.axaml | 13 +++---------- src/PostIt/PostIt/Views/MainPage.axaml | 4 +++- src/PostIt/PostIt/Views/PostAclDialog.axaml | 5 +++-- src/PostIt/PostIt/Views/SignaturePage.axaml | 7 +++---- 13 files changed, 69 insertions(+), 39 deletions(-) diff --git a/src/PostIt/PostIt/ViewModels/AddCircleMemberDialogViewModel.cs b/src/PostIt/PostIt/ViewModels/AddCircleMemberDialogViewModel.cs index 88d01335a..e63cfb28a 100644 --- a/src/PostIt/PostIt/ViewModels/AddCircleMemberDialogViewModel.cs +++ b/src/PostIt/PostIt/ViewModels/AddCircleMemberDialogViewModel.cs @@ -48,6 +48,14 @@ public partial class AddCircleMemberDialogViewModel : ViewModelBase [ObservableProperty] public partial string StatusMessage { get; set; } = string.Empty; + [ObservableProperty] + public partial StatusNotice ActionStatus { get; set; } = StatusNotice.FromMessage(string.Empty); + + partial void OnStatusMessageChanged(string value) + { + ActionStatus = StatusNotice.FromMessage(value); + } + /// /// Raised when the user confirms a selection. The hosting /// CirclesPage subscribes to this event and calls diff --git a/src/PostIt/PostIt/ViewModels/BillingQueriesPageViewModel.cs b/src/PostIt/PostIt/ViewModels/BillingQueriesPageViewModel.cs index d5aba0215..098cdc6f4 100644 --- a/src/PostIt/PostIt/ViewModels/BillingQueriesPageViewModel.cs +++ b/src/PostIt/PostIt/ViewModels/BillingQueriesPageViewModel.cs @@ -36,6 +36,14 @@ public partial class BillingQueriesPageViewModel : ViewModelBase [ObservableProperty] public partial string StatusMessage { get; set; } = "Chargement des commandes..."; + [ObservableProperty] + public partial StatusNotice ActionStatus { get; set; } = StatusNotice.FromMessage("Chargement des commandes..."); + + partial void OnStatusMessageChanged(string value) + { + ActionStatus = StatusNotice.FromMessage(value); + } + public string Title => IsReadOnly ? $"Demandes en cours ({Form.Title})" : $"Commandes {Form.Title}"; diff --git a/src/PostIt/PostIt/ViewModels/CommandFormsPageViewModel.cs b/src/PostIt/PostIt/ViewModels/CommandFormsPageViewModel.cs index 71f5d67a0..fd4c9ec8d 100644 --- a/src/PostIt/PostIt/ViewModels/CommandFormsPageViewModel.cs +++ b/src/PostIt/PostIt/ViewModels/CommandFormsPageViewModel.cs @@ -27,6 +27,14 @@ public partial class CommandFormsPageViewModel : ViewModelBase [ObservableProperty] public partial string StatusMessage { get; set; } + [ObservableProperty] + public partial StatusNotice ActionStatus { get; set; } = StatusNotice.FromMessage(string.Empty); + + partial void OnStatusMessageChanged(string value) + { + ActionStatus = StatusNotice.FromMessage(value); + } + public string Title => $"Formulaires pour {Performer.UserName}"; public string ContextLabel => $"{Activity.Name} · {Forms.Count} formulaire(s)"; diff --git a/src/PostIt/PostIt/ViewModels/MainViewModel.cs b/src/PostIt/PostIt/ViewModels/MainViewModel.cs index f56b666dd..2ef6959bc 100644 --- a/src/PostIt/PostIt/ViewModels/MainViewModel.cs +++ b/src/PostIt/PostIt/ViewModels/MainViewModel.cs @@ -54,9 +54,17 @@ public partial class MainViewModel : ViewModelBase [ObservableProperty] public partial string StatusMessage { get; set; } + [ObservableProperty] + public partial StatusNotice ActionStatus { get; set; } = StatusNotice.FromMessage(string.Empty); + [ObservableProperty] public partial string SearchText { get; set; } + partial void OnStatusMessageChanged(string value) + { + ActionStatus = StatusNotice.FromMessage(value); + } + [ObservableProperty] public partial ObservableCollection Posts { get; set; } diff --git a/src/PostIt/PostIt/ViewModels/PostAclDialogViewModel.cs b/src/PostIt/PostIt/ViewModels/PostAclDialogViewModel.cs index 605446068..994a4bcbd 100644 --- a/src/PostIt/PostIt/ViewModels/PostAclDialogViewModel.cs +++ b/src/PostIt/PostIt/ViewModels/PostAclDialogViewModel.cs @@ -63,6 +63,14 @@ public partial class PostAclDialogViewModel : ViewModelBase [ObservableProperty] public partial string StatusMessage { get; set; } = string.Empty; + [ObservableProperty] + public partial StatusNotice ActionStatus { get; set; } = StatusNotice.FromMessage(string.Empty); + + partial void OnStatusMessageChanged(string value) + { + ActionStatus = StatusNotice.FromMessage(value); + } + /// /// Idempotency gate for : the dialog /// attaches the load trigger in DataContextChanged, diff --git a/src/PostIt/PostIt/ViewModels/SignaturePageViewModel.cs b/src/PostIt/PostIt/ViewModels/SignaturePageViewModel.cs index b4b37974b..47667bddf 100644 --- a/src/PostIt/PostIt/ViewModels/SignaturePageViewModel.cs +++ b/src/PostIt/PostIt/ViewModels/SignaturePageViewModel.cs @@ -42,6 +42,14 @@ public partial class SignaturePageViewModel : ViewModelBase [ObservableProperty] public partial string StatusMessage { get; set; } = "Prêt."; + [ObservableProperty] + public partial StatusNotice ActionStatus { get; set; } = StatusNotice.FromMessage("Prêt."); + + partial void OnStatusMessageChanged(string value) + { + ActionStatus = StatusNotice.FromMessage(value); + } + [ObservableProperty] public partial int StrokeCount { get; set; } diff --git a/src/PostIt/PostIt/Views/AddCircleMemberDialog.axaml b/src/PostIt/PostIt/Views/AddCircleMemberDialog.axaml index 8b2329886..a17f8574e 100644 --- a/src/PostIt/PostIt/Views/AddCircleMemberDialog.axaml +++ b/src/PostIt/PostIt/Views/AddCircleMemberDialog.axaml @@ -3,6 +3,7 @@ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" x:Class="PostIt.Views.AddCircleMemberDialog" xmlns:vm="using:PostIt.ViewModels" + xmlns:postitControls="using:PostIt.Controls" xmlns:services="using:PostIt.Services" x:DataType="vm:AddCircleMemberDialogViewModel" > @@ -47,8 +48,8 @@ - +