diff --git a/.github/workflows/dotnetcore.yml b/.github/workflows/dotnetcore.yml
old mode 100644
new mode 100755
index 4bb5766..cf33626
--- a/.github/workflows/dotnetcore.yml
+++ b/.github/workflows/dotnetcore.yml
@@ -8,7 +8,7 @@ jobs:
runs-on: ${{ matrix.os }}
strategy:
matrix:
- dotnet_version: ['2.2.108']
+ dotnet_version: ['5.0.x']
os: [ubuntu-latest, windows-latest, macOS-latest]
steps:
diff --git a/.gitignore b/.gitignore
old mode 100644
new mode 100755
diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md
old mode 100644
new mode 100755
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
old mode 100644
new mode 100755
diff --git a/Directory.Build.props b/Directory.Build.props
old mode 100644
new mode 100755
diff --git a/LICENSE b/LICENSE
old mode 100644
new mode 100755
diff --git a/README.md b/README.md
old mode 100644
new mode 100755
diff --git a/docs/main_view.png b/docs/main_view.png
old mode 100644
new mode 100755
diff --git a/mk-release.sh b/mk-release.sh
index 6d42e2c..9110440 100755
--- a/mk-release.sh
+++ b/mk-release.sh
@@ -3,11 +3,11 @@ rm -rf ./bin/app/ && rm -rf ./src/bin/Release/
echo "restoring packeges"
dotnet restore
echo -n "building for linux"
-dotnet publish --framework netcoreapp3.1 --runtime="linux-x64" -c Release -o ./bin/app/linux
+dotnet publish --framework net5.0 --runtime="linux-x64" -c Release -o ./bin/app/linux
echo -n "building for win10"
-dotnet publish --framework netcoreapp3.1 --runtime="win10-x64" -c Release -o ./bin/app/win10
+dotnet publish --framework net5.0 --runtime="win10-x64" -c Release -o ./bin/app/win10
echo -n "building for osx"
-dotnet publish --framework netcoreapp3.1 --runtime="osx-x64" -c Release -o ./bin/app/osx
+dotnet publish --framework net5.9 --runtime="osx-x64" -c Release -o ./bin/app/osx
cd ./bin/app/
zip -r -9 ./linux.zip ./linux/
zip -r -9 ./win10.zip ./win10/
diff --git a/src/App.xaml b/src/App.xaml
old mode 100644
new mode 100755
index 9790576..3838521
--- a/src/App.xaml
+++ b/src/App.xaml
@@ -8,7 +8,6 @@
-->
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ Text="{Binding LocalizationContext.ModelManagerName}"/>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Text="{Binding Url}"/>
+ Text="{Binding LocalizationContext.ModelManagerTag}"/>
+ Text="{Binding Tag}"/>
+ Text="{Binding LocalizationContext.ModelManagerSupportedOs}"/>
+ Text="{Binding OperatingSystems}"/>
-
- Email
-
- Password
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/Views/SignInWindow.xaml.cs b/src/Views/SignInWindow.xaml.cs
deleted file mode 100644
index 18dfd08..0000000
--- a/src/Views/SignInWindow.xaml.cs
+++ /dev/null
@@ -1,118 +0,0 @@
-using System;
-using System.IO;
-using System.Threading.Tasks;
-using Avalonia.Controls;
-using Avalonia.Markup.Xaml;
-using MessageBox.Avalonia;
-using MessageBox.Avalonia.DTO;
-using MessageBox.Avalonia.Enums;
-using Newtonsoft.Json;
-using LacmusApp.Models;
-
-namespace LacmusApp.Views
-{
- public class SignInWindow : Window
- {
- [JsonObject]
- public class SignInResult
- {
- [JsonProperty("email")]
- public string Email { get; set; }
- [JsonProperty("passwordHash")]
- public string PasswordHash { get; set; }
- [JsonProperty("id")]
- public int Id { get; set; }
- [JsonProperty("time")]
- public string Time { get; set; }
-
- public bool IsSignIn { get; set; }
- }
-
- public SignInWindow() => AvaloniaXamlLoader.Load(this);
-
- public static Task Show(Window parent)
- {
- var title = "Sign In";
- var msgbox = new SignInWindow
- {
- Title = title
- };
- var buttonPanel = msgbox.FindControl("Buttons");
-
- SignInResult res = new SignInResult();
- res.IsSignIn = false;
-
- void AddButton(string caption)
- {
- var btn = new Button {Content = caption};
- btn.Click += (_, __) =>
- {
- var path = AppDomain.CurrentDomain.BaseDirectory + "user_info";
- if (File.Exists(path))
- {
- res = JsonConvert.DeserializeObject(File.ReadAllText(path));
- res.IsSignIn = false;
- }
- else
- {
- ShowError("There are no account. Please sign up");
- msgbox.Close();
- return;
- }
-
- var passwordHash = msgbox.FindControl("tbPassword").Text;
- var email = msgbox.FindControl("tbEmail").Text;
- PasswordHasher hasher = new PasswordHasher();
- if (string.IsNullOrWhiteSpace(passwordHash) || passwordHash.Length < 6)
- {
- ShowError("Incorrect Password");
- msgbox.Close();
- return;
- }
-
- if (string.IsNullOrWhiteSpace(passwordHash) || !hasher.VerifyIdentityV3Hash(passwordHash, res.PasswordHash))
- {
- ShowError("Incorrect Password");
- msgbox.Close();
- return;
- }
-
- if (string.IsNullOrWhiteSpace(email) || !email.Contains('@') || !email.Contains('.') || email != res.Email)
- {
- ShowError("Incorrect Email");
- msgbox.Close();
- return;
- }
-
- if(email == res.Email && hasher.VerifyIdentityV3Hash(passwordHash, res.PasswordHash))
- res.IsSignIn = true;
-
- msgbox.Close();
- };
- buttonPanel.Children.Add(btn);
- }
-
- AddButton("Sign In");
- var tcs = new TaskCompletionSource();
- msgbox.Closed += delegate { tcs.TrySetResult(res); };
- if (parent != null)
- msgbox.ShowDialog(parent);
- else msgbox.Show();
- return tcs.Task;
- }
-
- private static async void ShowError(string message)
- {
- var msgbox = MessageBoxManager.GetMessageBoxStandardWindow(new MessageBoxStandardParams
- {
- ButtonDefinitions = ButtonEnum.Ok,
- ContentTitle = "Error",
- ContentMessage = message,
- Icon = MessageBox.Avalonia.Enums.Icon.Error,
- Style = Style.None,
- ShowInCenter = true
- });
- var result = await msgbox.Show();
- }
- }
-}
\ No newline at end of file
diff --git a/src/Views/SignUpWindow.xaml b/src/Views/SignUpWindow.xaml
deleted file mode 100644
index df7742c..0000000
--- a/src/Views/SignUpWindow.xaml
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
- Email
-
- Nick name
-
- First name
-
- Last name
-
- Password
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/Views/SignUpWindow.xaml.cs b/src/Views/SignUpWindow.xaml.cs
deleted file mode 100644
index a7d110b..0000000
--- a/src/Views/SignUpWindow.xaml.cs
+++ /dev/null
@@ -1,148 +0,0 @@
-using System;
-using System.IO;
-using System.Threading.Tasks;
-using Avalonia.Controls;
-using Avalonia.Markup.Xaml;
-using MessageBox.Avalonia;
-using MessageBox.Avalonia.DTO;
-using MessageBox.Avalonia.Enums;
-using Newtonsoft.Json;
-using LacmusApp.Models;
-
-namespace LacmusApp.Views
-{
- class SignUpWindow : Window
- {
- [JsonObject]
- public class SignUpResult
- {
- [JsonProperty("email")]
- public string Email { get; set; }
- [JsonProperty("passwordHash")]
- public string PasswordHash { get; set; }
- [JsonProperty("id")]
- public int Id { get; set; }
- [JsonProperty("time")]
- public string Time { get; set; }
-
- public bool IsSignIn { get; set; }
- }
-
- public SignUpWindow()
- {
- AvaloniaXamlLoader.Load(this);
- }
-
- public static Task Show(Window parent)
- {
- var title = "Create Account";
- var msgbox = new SignUpWindow
- {
- Title = title
- };
- var buttonPanel = msgbox.FindControl("Buttons");
-
- SignUpResult res = new SignUpResult();
-
- void AddButton(string caption)
- {
- var btn = new Button {Content = caption};
- btn.Click += (_, __) =>
- {
- var nickName = msgbox.FindControl("tbNickName").Text;
- var passwordHash = msgbox.FindControl("tbPassword").Text;
- var email = msgbox.FindControl("tbEmail").Text;
- var firstName = msgbox.FindControl("tbFirstName").Text;
- var lastName = msgbox.FindControl("tbLastName").Text;
- if (string.IsNullOrWhiteSpace(nickName))
- {
- ShowError("Incorrect Nick name");
- return;
- }
- if (string.IsNullOrWhiteSpace(passwordHash) || passwordHash.Length < 6)
- {
- ShowError("Incorrect Password");
- return;
- }
- if (string.IsNullOrWhiteSpace(firstName))
- {
- ShowError("Incorrect First name");
- return;
- }
- if (string.IsNullOrWhiteSpace(lastName))
- {
- ShowError("Incorrect Last name");
- return;
- }
- if (string.IsNullOrWhiteSpace(email) || !email.Contains('@') || !email.Contains('.'))
- {
- ShowError("Incorrect Email");
- return;
- }
-
- PasswordHasher hasher = new PasswordHasher();
- passwordHash = hasher.GenerateIdentityV3Hash(passwordHash);
-
- res = new SignUpResult
- {
- Email = email,
- PasswordHash = passwordHash,
- Id = 1,
- Time = DateTime.Now.ToString()
- };
-
- var path = AppDomain.CurrentDomain.BaseDirectory + "user_info";
- if (File.Exists(path))
- {
- ShowInfo("You already signed up. Please log in.");
- msgbox.Close();
- return;
- }
-
- res.IsSignIn = true;
-
- File.AppendAllText(
- path,
- JsonConvert.SerializeObject(res));
- msgbox.Close();
- };
- buttonPanel.Children.Add(btn);
- }
-
- AddButton("Sign Up");
- var tcs = new TaskCompletionSource();
- msgbox.Closed += delegate { tcs.TrySetResult(res); };
- if (parent != null)
- msgbox.ShowDialog(parent);
- else msgbox.Show();
- return tcs.Task;
- }
-
- private static async void ShowError(string message)
- {
- var msgbox = MessageBoxManager.GetMessageBoxStandardWindow(new MessageBoxStandardParams
- {
- ButtonDefinitions = ButtonEnum.Ok,
- ContentTitle = "Error",
- ContentMessage = message,
- Icon = MessageBox.Avalonia.Enums.Icon.Error,
- Style = Style.None,
- ShowInCenter = true
- });
- var result = await msgbox.Show();
- }
- private static async void ShowInfo(string message)
- {
- var msgbox = MessageBoxManager.GetMessageBoxStandardWindow(new MessageBoxStandardParams
- {
- ButtonDefinitions = ButtonEnum.Ok,
- ContentTitle = "Info",
- ContentMessage = message,
- Icon = MessageBox.Avalonia.Enums.Icon.Info,
- Style = Style.None,
- ShowInCenter = true
- });
- var result = await msgbox.Show();
- }
- }
-}
\ No newline at end of file
diff --git a/src/Views/ThirdWizardView.xaml b/src/Views/ThirdWizardView.xaml
old mode 100644
new mode 100755
index e3abdbb..60e60be
--- a/src/Views/ThirdWizardView.xaml
+++ b/src/Views/ThirdWizardView.xaml
@@ -28,21 +28,57 @@
+ Text="{Binding LocalizationContext.ModelManagerName}"/>
+ Text="{Binding Name}"/>
+ Text="{Binding LocalizationContext.ModelManagerVersion}"/>
+ Text="{Binding Version}"/>
+ Text="{Binding LocalizationContext.ModelManagerInferenceType}"/>
+ Text="{Binding InferenceType}"/>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+