fix.依旧在调整我们的在线安装器

This commit is contained in:
lincube
2026-06-03 12:32:56 +08:00
parent 75c7aece4f
commit bb4e90ea8d
8 changed files with 820 additions and 301 deletions

View File

@@ -1,4 +1,5 @@
using CommunityToolkit.Mvvm.ComponentModel;
using FluentIcons.Common;
using LanDesktopPLONDS.Installer.Models;
namespace LanDesktopPLONDS.Installer.ViewModels;
@@ -6,7 +7,7 @@ namespace LanDesktopPLONDS.Installer.ViewModels;
public sealed partial class InstallerStepViewModel(
InstallerStepId stepId,
string title,
string iconKey) : ObservableObject
Icon icon) : ObservableObject
{
[ObservableProperty]
private bool _isUnlocked;
@@ -14,9 +15,43 @@ public sealed partial class InstallerStepViewModel(
[ObservableProperty]
private bool _isSelected;
[ObservableProperty]
private bool _isCompleted;
public InstallerStepId StepId { get; } = stepId;
public string Title { get; } = title;
public string IconKey { get; } = iconKey;
public Icon Icon { get; } = icon;
public bool IsLocked => !IsUnlocked;
public Icon DisplayIcon => IsLocked
? Icon.LockClosed
: IsCompleted
? Icon.CheckmarkCircle
: Icon;
public bool IsAvailable => IsUnlocked && !IsSelected && !IsCompleted;
partial void OnIsUnlockedChanged(bool value)
{
_ = value;
OnPropertyChanged(nameof(IsLocked));
OnPropertyChanged(nameof(IsAvailable));
OnPropertyChanged(nameof(DisplayIcon));
}
partial void OnIsSelectedChanged(bool value)
{
_ = value;
OnPropertyChanged(nameof(IsAvailable));
}
partial void OnIsCompletedChanged(bool value)
{
_ = value;
OnPropertyChanged(nameof(DisplayIcon));
OnPropertyChanged(nameof(IsAvailable));
}
}