using System;
using Avalonia;
using Splat;

using Microsoft.EntityFrameworkCore;
using CsvHelper.Configuration;
using CsvHelper;
using StarsAssistant.Model;
using System.Globalization;
using Avalonia.ReactiveUI;


namespace StarsAssistant;

sealed class Program
{
    // Initialization code. Don't use any Avalonia, third-party APIs or any
    // SynchronizationContext-reliant code before AppMain is called: things aren't initialized
    // yet and stuff might break.
    [STAThread]
    public static void Main(string[] args) 
    {
        ModeDetector.OverrideModeDetector(Splat.ModeDetection.Mode.Run);

        var logger = new ConsoleLogger() { Level = LogLevel.Debug };
        Locator.CurrentMutable.RegisterConstant(logger, typeof(ILogger));

        BuildAvaloniaApp()
            .StartWithClassicDesktopLifetime(args);
    }

    // Avalonia configuration, don't remove; also used by visual designer.
    public static AppBuilder BuildAvaloniaApp()
        => AppBuilder.Configure<App>()
            .UsePlatformDetect()
            .WithInterFont()
            .LogToTrace()
            .UseReactiveUI();

}