diff --git a/Moonlight/Shared/Views/Admin/Users/Edit.razor b/Moonlight/Shared/Views/Admin/Users/Edit.razor new file mode 100644 index 00000000..581400f6 --- /dev/null +++ b/Moonlight/Shared/Views/Admin/Users/Edit.razor @@ -0,0 +1,187 @@ +@page "/admin/users/edit/{Id:int}" +@using Moonlight.App.Repositories +@using Moonlight.App.Database.Entities +@using Moonlight.App.Models.Misc +@using Moonlight.App.Services +@using Moonlight.App.Services.Interop +@using Moonlight.App.Services.Sessions + +@inject UserRepository UserRepository +@inject SessionService SessionService +@inject ToastService ToastService +@inject SmartTranslateService SmartTranslateService + + + + @if (User == null) + { + + No user with this id found + + } + else + { + + + + + Manage user @(User.Email) + + + + + + + + + + + First name + + + + + + Last name + + + + + + Email + + + + + + + + @foreach (var status in (UserStatus[])Enum.GetValues(typeof(UserStatus))) + { + if (User.Status == status) + { + @(status) + } + else + { + @(status) + } + } + + + + + + + + + Cancel + + + + + + + + + + + Address + + + + + + City + + + + + + State + + + + + + Country + + + + + + + Totp + + + + + + Admin + + + + + + + Discord id + + + + + + Discord username + + + + + + Discord discriminator + + + + + + + } + + + +@code +{ + [Parameter] + public int Id { get; set; } + + private User? User; + + private Task Load(LazyLoader arg) + { + User = UserRepository.Get().FirstOrDefault(x => x.Id == Id); + + return Task.CompletedTask; + } + + private async Task UpdateStatus() + { + var user = UserRepository.Get().FirstOrDefault(x => x.Id == User!.Id)!; + user.Status = User!.Status; + UserRepository.Update(user); + + SessionService.ReloadUserSessions(User); + + await ToastService.Success(SmartTranslateService.Translate("Successfully updated user")); + } + + private async Task Update() + { + UserRepository.Update(User!); + + await ToastService.Success(SmartTranslateService.Translate("Successfully updated user")); + } +} \ No newline at end of file diff --git a/Moonlight/Shared/Views/Admin/Users/Index.razor b/Moonlight/Shared/Views/Admin/Users/Index.razor index b034f6a2..b4d93243 100644 --- a/Moonlight/Shared/Views/Admin/Users/Index.razor +++ b/Moonlight/Shared/Views/Admin/Users/Index.razor @@ -41,7 +41,7 @@ - + Manage diff --git a/Moonlight/resources/lang/de_de.lang b/Moonlight/resources/lang/de_de.lang index fe066311..485272ea 100644 --- a/Moonlight/resources/lang/de_de.lang +++ b/Moonlight/resources/lang/de_de.lang @@ -384,3 +384,12 @@ Change power state for;Change power state for to;to Stop all servers;Stop all servers Do you really want to stop all running servers?;Do you really want to stop all running servers? +Manage ;Manage +Manage user ;Manage user +Reloading;Reloading +Update;Update +Updating;Updating +Successfully updated user;Successfully updated user +Discord id;Discord id +Discord username;Discord username +Discord discriminator;Discord discriminator