using FluentResults;

namespace NexusReader.Application.Abstractions.Services;

public interface IPlatformService
{
    Task<Result> VibrateSuccessAsync();
    Task<Result> VibrateErrorAsync();
    Task<Result> VibrateAsync(int milliseconds);
    Result<DeviceContext> GetDeviceContext();
}

public record DeviceContext(
    string Model, 
    string Manufacturer, 
    DeviceType DeviceType, 
    DisplayOrientation Orientation
);

public enum DeviceType
{
    Unknown,
    Phone,
    Tablet,
    Desktop
}

public enum DisplayOrientation
{
    Unknown,
    Portrait,
    Landscape
}
