Right sidebar nav: Library / Reports / Documentation tabs (WebView2)
The body of the launcher is now a 2-column layout: - Left : swappable content area - Right (200px) : sidebar with 3 nav buttons + active-state highlighting Three pages, all under the same window chrome / footer: 1. **Library** (default) — the existing main view (featured version, other versions list, floating "Vérifier les MAJ" button, copyright). 2. **Reports** — embedded WebView2 navigated to a configurable URL. Default http://localhost/ProserveReport/ which matches the local stats tool installed on each customer machine alongside XAMPP. 3. **Documentation** — WebView2 with a configurable URL, falls back to a placeholder explaining where to set it if empty. Implementation - LocalConfig gains ReportUrl + DocumentationUrl (string). - MainViewModel gains LauncherPage enum + CurrentPage state with Navigate{Library,Report,Documentation}Command. ReportUri / DocumentationUri parse the strings to Uri for WebView2.Source. - Theme.xaml: NavButton style (transparent, left-aligned, hover darken, active state highlighted via Tag bool + accent left-border). - InverseBoolToVisibilityConverter added (true → Collapsed) for the documentation placeholder fallback. - Microsoft.Web.WebView2 NuGet (1.0.2792.45). Runtime is pre-installed on Win11 and auto-pushed via Windows Update on Win10. If absent, WebView2 surfaces an error which the user sees inline. - Settings → Avancés → Serveur extended with the two URL fields. - Strings.cs: NavLibrary / NavReport / NavDocumentation, SettingsReportUrl / SettingsDocsUrl, DocsPlaceholder, WebViewLoadError. Sidebar localized in 5 languages. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -213,6 +213,23 @@
|
||||
<TextBlock Text="{Binding ConnectionStatus}"
|
||||
Foreground="{StaticResource Brush.Text.Secondary}"
|
||||
FontSize="12" Margin="0,8,0,0" TextWrapping="Wrap" />
|
||||
|
||||
<!-- URLs des onglets latéraux Report / Documentation -->
|
||||
<TextBlock Text="{x:Static loc:Strings.SettingsReportUrl}"
|
||||
Foreground="{StaticResource Brush.Text.Secondary}"
|
||||
FontSize="12" Margin="0,16,0,4" />
|
||||
<TextBox Text="{Binding ReportUrl, UpdateSourceTrigger=PropertyChanged}"
|
||||
Background="#1A1A20" Foreground="{StaticResource Brush.Text.Primary}"
|
||||
BorderBrush="{StaticResource Brush.Border}" BorderThickness="1" Padding="8"
|
||||
FontFamily="Consolas" />
|
||||
|
||||
<TextBlock Text="{x:Static loc:Strings.SettingsDocsUrl}"
|
||||
Foreground="{StaticResource Brush.Text.Secondary}"
|
||||
FontSize="12" Margin="0,12,0,4" />
|
||||
<TextBox Text="{Binding DocumentationUrl, UpdateSourceTrigger=PropertyChanged}"
|
||||
Background="#1A1A20" Foreground="{StaticResource Brush.Text.Primary}"
|
||||
BorderBrush="{StaticResource Brush.Border}" BorderThickness="1" Padding="8"
|
||||
FontFamily="Consolas" />
|
||||
</StackPanel>
|
||||
</Border>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user