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:
@@ -152,6 +152,28 @@ public static class Strings
|
||||
"تطبيق الترقيات تلقائياً عند تثبيت نسخة جديدة"
|
||||
);
|
||||
public static string SettingsDbReplay => T("🔁 Rejouer les migrations", "🔁 Replay migrations", "🔁 重新执行迁移", "🔁 เรียกใช้การโยกย้ายอีกครั้ง", "🔁 إعادة تشغيل الترقيات");
|
||||
// ==================== RIGHT NAV SIDEBAR ====================
|
||||
public static string NavLibrary => T("Bibliothèque", "Library", "库", "ห้องสมุด", "المكتبة");
|
||||
public static string NavReport => T("Statistiques", "Reports", "统计", "รายงาน", "التقارير");
|
||||
public static string NavDocumentation => T("Documentation", "Documentation","文档", "เอกสาร", "التوثيق");
|
||||
|
||||
public static string SettingsReportUrl => T("URL de l'outil de reporting local", "Local reporting tool URL", "本地报告工具 URL", "URL ของเครื่องมือรายงานในเครื่อง", "عنوان أداة التقارير المحلية");
|
||||
public static string SettingsDocsUrl => T("URL de la documentation", "Documentation URL", "文档 URL", "URL ของเอกสาร", "عنوان التوثيق");
|
||||
public static string DocsPlaceholder => T(
|
||||
"Aucune URL de documentation configurée.\n\nVa dans Paramètres → Avancés → Base de données pour pointer vers la documentation locale ou en ligne.",
|
||||
"No documentation URL configured.\n\nGo to Settings → Advanced → Database to point to local or online documentation.",
|
||||
"未配置文档 URL。\n\n前往 设置 → 高级 → 数据库 以指向本地或在线文档。",
|
||||
"ยังไม่ได้กำหนด URL เอกสาร\n\nไปที่ การตั้งค่า → ขั้นสูง → ฐานข้อมูล เพื่อชี้ไปยังเอกสารในเครื่องหรือออนไลน์",
|
||||
"لم يتم تكوين عنوان التوثيق.\n\nاذهب إلى الإعدادات → متقدم → قاعدة البيانات للإشارة إلى التوثيق المحلي أو عبر الإنترنت."
|
||||
);
|
||||
public static string WebViewLoadError(string url, string detail) => T(
|
||||
$"Impossible de charger {url}\n\n{detail}\n\nVérifie que XAMPP est démarré et que l'URL est correcte (Paramètres → Avancés).",
|
||||
$"Could not load {url}\n\n{detail}\n\nCheck that XAMPP is running and the URL is correct (Settings → Advanced).",
|
||||
$"无法加载 {url}\n\n{detail}\n\n请检查 XAMPP 是否正在运行以及 URL 是否正确(设置 → 高级)。",
|
||||
$"ไม่สามารถโหลด {url}\n\n{detail}\n\nตรวจสอบว่า XAMPP กำลังทำงานและ URL ถูกต้อง (ตั้งค่า → ขั้นสูง)",
|
||||
$"تعذر تحميل {url}\n\n{detail}\n\nتأكد من تشغيل XAMPP وأن العنوان صحيح (الإعدادات → متقدم)."
|
||||
);
|
||||
|
||||
public static string SettingsAdvanced => T(
|
||||
"▸ PARAMÈTRES AVANCÉS (serveur, installation, base de données, logs)",
|
||||
"▸ ADVANCED SETTINGS (server, installation, database, logs)",
|
||||
|
||||
Reference in New Issue
Block a user