Add OOBE redesign, theme & data location support

Introduce a redesigned OOBE flow and data-location/theme support across the launcher. Adds a new ThemeService for applying light/dark and accent colors; integrates FluentIcons.Avalonia package for icons. Overhauls OobeWindow (UX animations, typing effect, multi-step theme and data-location pages, Monet options, and final welcome step) and its code-behind to handle step navigation, accent selection, and data-location resolution. Adds DataLocation UI and handlers (DataLocationPromptWindow changes, DataLocation resolver usage) and wires a DevDebug UI for toggling/opening the data-location page. UpdateEngineService now resolves the launcher root via DataLocationResolver. Misc: update various view models, localization entries and remove TrimmerRoots.xml.
This commit is contained in:
lincube
2026-04-25 17:29:25 +08:00
parent 8b8c7d1e7f
commit 5b4b9f32b5
21 changed files with 1580 additions and 208 deletions

View File

@@ -25,6 +25,7 @@ public partial class DevDebugWindow : Window
_viewModel.OpenErrorRequested += OnOpenErrorRequested;
_viewModel.OpenUpdateRequested += OnOpenUpdateRequested;
_viewModel.OpenOobeRequested += OnOpenOobeRequested;
_viewModel.OpenDataLocationRequested += OnOpenDataLocationRequested;
_viewModel.CloseRequested += OnCloseRequested;
}
@@ -135,6 +136,17 @@ public partial class DevDebugWindow : Window
}
}
/// <summary>
/// 打开数据位置选择页面
/// </summary>
private void OnOpenDataLocationRequested(object? sender, DataLocationOpenEventArgs e)
{
var appRoot = AppDomain.CurrentDomain.BaseDirectory;
var resolver = new DataLocationResolver(appRoot);
var window = new DataLocationPromptWindow(resolver);
window.Show();
}
/// <summary>
/// 关闭窗口
/// </summary>