diff --git a/src/PSLauncher.App/ViewModels/MainViewModel.cs b/src/PSLauncher.App/ViewModels/MainViewModel.cs
index 1a6f9d1..3f24bb4 100644
--- a/src/PSLauncher.App/ViewModels/MainViewModel.cs
+++ b/src/PSLauncher.App/ViewModels/MainViewModel.cs
@@ -75,14 +75,19 @@ public sealed partial class MainViewModel : ObservableObject
[ObservableProperty] private double _progressPercent;
///
- /// Onglet actuellement actif dans la sidebar droite. La UI montre le bon bloc
+ /// Onglet actuellement actif dans la sidebar gauche. La UI montre le bon bloc
/// via les converters IsLibrary / IsReport / IsDocumentation. Default = Library
/// pour que le launcher s'ouvre directement sur l'écran principal.
+ /// On notifie aussi FooterVisibility/FooterText : le footer (barre de DL,
+ /// status d'install) appartient à la page Library uniquement — il n'a aucun
+ /// sens visuel sur Report/Documentation qui sont des WebView pleine page.
///
[ObservableProperty]
[NotifyPropertyChangedFor(nameof(IsLibrary))]
[NotifyPropertyChangedFor(nameof(IsReport))]
[NotifyPropertyChangedFor(nameof(IsDocumentation))]
+ [NotifyPropertyChangedFor(nameof(FooterVisibility))]
+ [NotifyPropertyChangedFor(nameof(FooterText))]
private LauncherPage _currentPage = LauncherPage.Library;
public bool IsLibrary => CurrentPage == LauncherPage.Library;
@@ -190,8 +195,16 @@ public sealed partial class MainViewModel : ObservableObject
FeaturedVersion is null && OtherVersions.Count == 0
? Visibility.Visible : Visibility.Collapsed;
+ ///
+ /// Footer visible UNIQUEMENT sur la page Library : c'est elle qui héberge
+ /// les téléchargements et installs, donc le seul contexte où la barre
+ /// de progression a du sens. Sur Report/Documentation (WebView pleine page),
+ /// le footer disparaît même si IsBusy ou StatusMessage non vide — l'opération
+ /// continue en arrière-plan, le user retrouve son état en revenant sur Library.
+ ///
public Visibility FooterVisibility =>
- IsBusy || !string.IsNullOrEmpty(StatusMessage) ? Visibility.Visible : Visibility.Collapsed;
+ IsLibrary && (IsBusy || !string.IsNullOrEmpty(StatusMessage))
+ ? Visibility.Visible : Visibility.Collapsed;
public string FooterText =>
!string.IsNullOrEmpty(ProgressDetail) ? ProgressDetail :