using CommunityToolkit.Mvvm.ComponentModel;
namespace MikrotikInstaller.App.ViewModels.Steps;
///
/// Wahl zwischen dem geführten Assistenten (Standard, für die meisten Nutzer passend) und dem
/// Experten-Modus, der in den folgenden Schritten zusätzliche, technischere RouterOS-Optionen einblendet.
/// Die Wahl blockiert nie das Weitergehen — der geführte Assistent ist vorausgewählt. Bei
/// "Backup verwalten" () nicht relevant und übersprungen.
///
public partial class ModeSelectionStepViewModel : WizardStepViewModelBase
{
private readonly WizardSession _session;
public ModeSelectionStepViewModel(WizardSession session)
: base(
title: "Modus wählen",
description: "Der geführte Assistent passt für die meisten Haushalte. Kennst du dich mit RouterOS aus, kannst du den Experten-Modus wählen — die folgenden Schritte zeigen dann zusätzliche, technischere Einstellungen.")
{
_session = session;
_isExpertMode = session.IsExpertMode;
}
[ObservableProperty]
private bool _isExpertMode;
/// Ohne „Professioneller Netzwerker" gibt es nichts zu wählen — dann immer der geführte Assistent.
public override bool ShouldSkip => _session.SelectedArea == AppArea.BackupManagement || !UserSettings.Current.ProfessionalMode;
public override Task OnActivatedAsync()
{
IsExpertMode = _session.IsExpertMode;
return Task.CompletedTask;
}
partial void OnIsExpertModeChanged(bool value) => _session.IsExpertMode = value;
}