Layout : sidebar spans rows 1+2+3, health banner cantonné Col 1

Restructure visuelle pour que la sidebar reste le « chapeau de tout »
côté gauche, comme la top bar l'est en haut :

  ┌──────────────────────────────────────────┐
  │           Top bar (ColSpan 2)             │  Row 0
  ├─────────┬────────────────────────────────┤
  │         │  Health banner (Col 1)         │  Row 1
  │ Sidebar ├────────────────────────────────┤
  │ (Col 0  │  Content (Library / Rep / Doc) │  Row 2
  │  RowSpan│                                │
  │   = 3)  ├────────────────────────────────┤
  │         │  Footer (Col 1)                │  Row 3
  └─────────┴────────────────────────────────┘

Auparavant le health banner traversait toute la largeur (ColSpan=2),
donc la sidebar ne commençait qu'EN-DESSOUS — décalée verticalement
par rapport au logo PROSERVE de la top bar. Maintenant le banner est
cantonné à la colonne content (Col 1), la sidebar (Col 0, RowSpan=3)
court sur toute la hauteur sous la top bar.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-03 18:57:25 +02:00
parent 93f54d094a
commit 741e30b7ae

View File

@@ -341,14 +341,13 @@
</Grid>
</Border>
<!-- ============== Health banner (Row 1, ColSpan 2) ==============
<!-- ============== Health banner (Row 1, Col 1 uniquement) ==============
Pills colorées indiquant l'état des dépendances système (SteamVR,
Vive Streaming, ping casque…). Visible uniquement sur la page
Library — sur Reports/Documentation, les WebView prennent toute
la place et le bandeau n'a pas de sens fonctionnel. Cachée aussi
si la config n'a aucun check (ShowHealthBanner = HasHealthIndicators
&& IsLibrary). Tooltip détaillé au survol de chaque pill. -->
<Border Grid.Row="1" Grid.ColumnSpan="2"
Vive Streaming, ping casque…). Le banner ne couvre QUE la colonne
content — la sidebar à gauche s'étend du sous-topbar jusqu'en bas
en RowSpan=3 (banner + body + footer) pour rester visuellement le
chapeau de tout. Visible uniquement sur la page Library. -->
<Border Grid.Row="1" Grid.Column="1"
Background="{StaticResource Brush.Bg.Sidebar}"
BorderBrush="{StaticResource Brush.Border}"
BorderThickness="0,0,0,1"
@@ -654,10 +653,11 @@
<!-- ============== END Content area ============== -->
<!-- ============== Left sidebar : nav buttons ==============
Row 2 + RowSpan=2 → la sidebar s'étend depuis le bas du health
banner jusqu'en bas de la fenêtre, couvrant content + footer.
(Row 0 = top bar, Row 1 = health banner full-width.) -->
<Border Grid.Row="2" Grid.RowSpan="2" Grid.Column="0"
Row 1 + RowSpan=3 → la sidebar s'étend du bas du top bar jusqu'au
bas de la fenêtre, couvrant les 3 rows (health banner, content,
footer). Visuellement la sidebar reste le « chapeau de tout »
côté gauche, peu importe ce qui se passe à droite. -->
<Border Grid.Row="1" Grid.RowSpan="3" Grid.Column="0"
Background="#0A0A0E"
BorderBrush="{StaticResource Brush.Border}"
BorderThickness="0,0,1,0">