namespace BookReader.Services;

public class NavigationService : INavigationService
{
    public Task GoToAsync(string route)
    {
        return Shell.Current.GoToAsync(route);
    }

    public Task GoToAsync(string route, IDictionary<string, object> parameters)
    {
        return Shell.Current.GoToAsync(route, parameters);
    }

    public Task GoBackAsync()
    {
        return Shell.Current.GoToAsync("..");
    }

    public Task DisplayAlertAsync(string title, string message, string cancel)
    {
        return Shell.Current.DisplayAlertAsync(title, message, cancel);
    }

    public Task<bool> DisplayAlertAsync(string title, string message, string accept, string cancel)
    {
        return Shell.Current.DisplayAlertAsync(title, message, accept, cancel);
    }

    public async Task<string?> DisplayActionSheetAsync(string title, string cancel, params string[] actions)
    {
        return await Shell.Current.DisplayActionSheetAsync(title, cancel, null, actions);
    }
}
