namespace NexusShell.Models;

public enum NexusPlatformLockMode
{
    Locked,
    Unlocked,
}

public sealed class NexusPlatformLockState
{
    public NexusPlatformLockMode Mode { get; set; } = NexusPlatformLockMode.Locked;
    public DateTimeOffset? UnlockedAtUtc { get; set; }
    public DateTimeOffset? UnlockedUntilUtc { get; set; }
    public string? UnlockedBy { get; set; }
    public DateTimeOffset? LockedAtUtc { get; set; }
}

public sealed class NexusPlatformUnlockConfig
{
    public string UnlockPin { get; set; } = "8742";
    public int DefaultSessionMinutes { get; set; } = 30;
    public string KeyChord { get; set; } = "Ctrl+Shift+Alt+U";
}

public enum NexusSetupStep
{
    Welcome = 1,
    Organization = 2,
    User = 3,
    Device = 4,
    Security = 5,
}
