diff --git a/OF DL.Gui/OF DL.Gui.csproj b/OF DL.Gui/OF DL.Gui.csproj
index 1050cfd..94f25be 100644
--- a/OF DL.Gui/OF DL.Gui.csproj
+++ b/OF DL.Gui/OF DL.Gui.csproj
@@ -1,13 +1,19 @@
+ WinExe
net10.0
OF_DL.Gui
enable
enable
true
+ Icon\download.ico
+
+
+
+
@@ -19,10 +25,25 @@
+
+
+
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+
diff --git a/OF DL.Gui/Program.cs b/OF DL.Gui/Program.cs
index c664b27..4dd175b 100644
--- a/OF DL.Gui/Program.cs
+++ b/OF DL.Gui/Program.cs
@@ -1,12 +1,23 @@
using Avalonia;
+using Microsoft.Extensions.DependencyInjection;
+using OF_DL.Services;
+using Serilog;
namespace OF_DL.Gui;
-public static class GuiLauncher
+public static class Program
{
- public static void Run(string[] args)
+ public static void Main(string[] args)
{
- BuildAvaloniaApp().StartWithClassicDesktopLifetime(args);
+ ServiceCollection services = new();
+ services.AddSingleton();
+ ServiceProvider tempProvider = services.BuildServiceProvider();
+ ILoggingService loggingService = tempProvider.GetRequiredService();
+
+ Log.Information("Starting OF DL GUI");
+
+ BuildAvaloniaApp()
+ .StartWithClassicDesktopLifetime(args);
}
private static AppBuilder BuildAvaloniaApp() =>
diff --git a/OF DL/OF DL.csproj b/OF DL/OF DL.csproj
index 602daa6..f4c4eb8 100644
--- a/OF DL/OF DL.csproj
+++ b/OF DL/OF DL.csproj
@@ -15,7 +15,6 @@
-
diff --git a/OF DL/Program.cs b/OF DL/Program.cs
index e14c45b..f625012 100644
--- a/OF DL/Program.cs
+++ b/OF DL/Program.cs
@@ -1,7 +1,6 @@
using System.Text.RegularExpressions;
using Microsoft.Extensions.DependencyInjection;
using OF_DL.CLI;
-using OF_DL.Gui;
using OF_DL.Models;
using OF_DL.Enumerations;
using OF_DL.Models.Config;
@@ -15,9 +14,6 @@ namespace OF_DL;
public class Program(IServiceProvider serviceProvider)
{
- private const string CliFlag = "--cli";
- private const string NonInteractiveFlag = "--non-interactive";
-
private async Task LoadAuthFromBrowser()
{
IAuthService authService = serviceProvider.GetRequiredService();
@@ -69,58 +65,19 @@ public class Program(IServiceProvider serviceProvider)
await authService.SaveToFileAsync();
}
- [STAThread]
public static async Task Main(string[] args)
{
- bool runCli = await ShouldRunCliModeAsync(args);
- string[] cleanArgs = args.Where(a => !a.Equals(CliFlag, StringComparison.OrdinalIgnoreCase)).ToArray();
-
- if (!runCli)
- {
- GuiLauncher.Run(cleanArgs);
- return;
- }
-
AnsiConsole.Write(new FigletText("Welcome to OF-DL").Color(Color.Red));
AnsiConsole.Markup("Documentation: [link]https://docs.ofdl.tools/[/]\n");
AnsiConsole.Markup("Discord server: [link]https://discord.com/invite/6bUW8EJ53j[/]\n\n");
- ServiceCollection services = await ConfigureServices(cleanArgs);
+ ServiceCollection services = await ConfigureServices(args);
ServiceProvider serviceProvider = services.BuildServiceProvider();
- // Get the Program instance and run
Program program = serviceProvider.GetRequiredService();
await program.RunAsync();
}
- private static async Task ShouldRunCliModeAsync(string[] args)
- {
- if (args.Any(a => a.Equals(CliFlag, StringComparison.OrdinalIgnoreCase)))
- {
- return true;
- }
-
- if (args.Any(a => a.Equals(NonInteractiveFlag, StringComparison.OrdinalIgnoreCase)))
- {
- return true;
- }
-
- ServiceCollection services = new();
- services.AddSingleton();
- services.AddSingleton();
-
- await using ServiceProvider provider = services.BuildServiceProvider();
- IConfigService configService = provider.GetRequiredService();
-
- bool loaded = await configService.LoadConfigurationAsync(args);
- if (!loaded)
- {
- return false;
- }
-
- return configService.IsCliNonInteractive || configService.CurrentConfig.NonInteractiveMode;
- }
-
private static async Task ConfigureServices(string[] args)
{
// Set up dependency injection with LoggingService and ConfigService