This repository has been archived on 2024-09-13. You can view files and clone it, but cannot push or open issues or pull requests.
BetterRaid_OLD/App.axaml.cs

52 lines
1.7 KiB
C#

using System;
using System.IO;
using Avalonia;
using Avalonia.Controls.ApplicationLifetimes;
using Avalonia.Data.Core.Plugins;
using Avalonia.Markup.Xaml;
using BetterRaid.ViewModels;
using BetterRaid.Views;
namespace BetterRaid;
public partial class App : Application
{
public static string TokenClientId = "";
public static string TokenClientSecret = "";
public override void Initialize()
{
try
{
var tokenFile = "zn_twitch.secret";
var profilePath = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile);
var tokenFilePath = Path.Combine(profilePath, tokenFile);
var tokenFileLines = File.ReadAllLines(tokenFilePath);
TokenClientId = tokenFileLines[0].Split('=')[1];
TokenClientSecret = tokenFileLines[1].Split('=')[1];
}
catch (Exception)
{
Console.WriteLine("[ERROR] Failed to read token from secret file!");
Environment.Exit(1);
}
AvaloniaXamlLoader.Load(this);
}
public override void OnFrameworkInitializationCompleted()
{
if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)
{
// Line below is needed to remove Avalonia data validation.
// Without this line you will get duplicate validations from both Avalonia and CT
BindingPlugins.DataValidators.RemoveAt(0);
desktop.MainWindow = new MainWindow
{
DataContext = new MainWindowViewModel(),
};
}
base.OnFrameworkInitializationCompleted();
}
}