diff --git a/Moonlight/App/Models/Forms/NameModel.cs b/Moonlight/App/Models/Forms/NameModel.cs new file mode 100644 index 00000000..17d832ab --- /dev/null +++ b/Moonlight/App/Models/Forms/NameModel.cs @@ -0,0 +1,14 @@ +using System.ComponentModel.DataAnnotations; + +namespace Moonlight.App.Models.Forms; + +public class NameModel +{ + [Required] + [MinLength(2, ErrorMessage = "Do you think, that works?")] + public string FirstName { get; set; } + + [Required] + [MinLength(2, ErrorMessage = "Do you think, that works?")] + public string LastName { get; set; } +} \ No newline at end of file diff --git a/Moonlight/Shared/Components/Auth/UserDataSetView.razor b/Moonlight/Shared/Components/Auth/UserDataSetView.razor new file mode 100644 index 00000000..d1191ec1 --- /dev/null +++ b/Moonlight/Shared/Components/Auth/UserDataSetView.razor @@ -0,0 +1,67 @@ +@using Microsoft.AspNetCore.Components +@using Moonlight.App.Database.Entities +@using Moonlight.App.Models.Forms +@using Moonlight.App.Models.Misc +@using Moonlight.App.Repositories +@using Moonlight.App.Services +@using Moonlight.App.Services.Sessions + +@inject IdentityService IdentityService +@inject UserRepository UserRepository +@inject SmartTranslateService SmartTranslateService +@inject NavigationManager NavigationManager + +
+
+
+
+ + +
+

+ Enter your information +

+
+ You need to enter your full name in order to use moonlight +
+
+ +
+
+ +
+ +
+ +
+
+ + +
+
+
+
+
+
+ +@code { + private User User; + private NameModel Name = new (); + + private async Task Load(LazyLoader loader) + { + User = await IdentityService.Get(); + } + + private async Task SetName() + { + User.FirstName = Name.FirstName; + User.LastName = Name.LastName; + User.Status = UserStatus.Unverified; + + UserRepository.Update(User); + NavigationManager.NavigateTo(NavigationManager.Uri, true); + } +} \ No newline at end of file diff --git a/Moonlight/Shared/Layouts/MainLayout.razor b/Moonlight/Shared/Layouts/MainLayout.razor index 1c2303af..5345b49a 100644 --- a/Moonlight/Shared/Layouts/MainLayout.razor +++ b/Moonlight/Shared/Layouts/MainLayout.razor @@ -83,6 +83,10 @@ { } + else if (User.Status == UserStatus.DataPending) + { + + } else { @Body diff --git a/Moonlight/resources/lang/de_de.lang b/Moonlight/resources/lang/de_de.lang index c7b639d8..02ca6ef0 100644 --- a/Moonlight/resources/lang/de_de.lang +++ b/Moonlight/resources/lang/de_de.lang @@ -464,3 +464,6 @@ Amount;Amount Do you really want to delete it?;Do you really want to delete it? Change your password;Change your password You need to change your password in order to use moonlight;You need to change your password in order to use moonlight +You need to enter your full name in order to use moonlight;You need to enter your full name in order to use moonlight +Enter your information;Enter your information +The field FirstName must be a string or array type with a minimum length of '2'.;The field FirstName must be a string or array type with a minimum length of '2'.