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}"/> + + + + + + + + + + + + + + + + + + + + + + + +