From 5707f5a2d46064b0412407586b4bfac850a7cd71 Mon Sep 17 00:00:00 2001 From: taywon18 Date: Sun, 22 Sep 2024 11:48:59 +0200 Subject: [PATCH] added basic functionalities (login, create/del/rename pages) --- Tagger/Configuration.cs | 12 ++ Tagger/Pages/Index.razor | 8 +- Tagger/Pages/Login.razor | 60 ++++++++ Tagger/Pages/Page.razor | 30 +++- Tagger/Pages/PageList.razor | 48 +++++-- Tagger/Program.cs | 27 +++- Tagger/RunEnv/Pages/Tulipe | 0 Tagger/RunEnv/Pages/pommier | 1 + Tagger/Service/CustomAuthStateProvider.cs | 38 +++++ Tagger/Service/UserManager.cs | 160 +++++++++++++++++++++- Tagger/Shared/NavMenu.razor | 9 +- Tagger/Tagger.csproj | 12 +- 12 files changed, 374 insertions(+), 31 deletions(-) create mode 100644 Tagger/Configuration.cs create mode 100644 Tagger/Pages/Login.razor create mode 100644 Tagger/RunEnv/Pages/Tulipe create mode 100644 Tagger/RunEnv/Pages/pommier create mode 100644 Tagger/Service/CustomAuthStateProvider.cs diff --git a/Tagger/Configuration.cs b/Tagger/Configuration.cs new file mode 100644 index 0000000..490170d --- /dev/null +++ b/Tagger/Configuration.cs @@ -0,0 +1,12 @@ +namespace Tagger; + +public class User +{ + public string Name { get; set; } = ""; + public string Password { get; set; } = ""; +} + +public class Configuration +{ + public List Users { get; set; } = new(); +} diff --git a/Tagger/Pages/Index.razor b/Tagger/Pages/Index.razor index 46c13cf..c477a96 100644 --- a/Tagger/Pages/Index.razor +++ b/Tagger/Pages/Index.razor @@ -1,12 +1,8 @@ @page "/" -Index +Tagger App -

Hello, world!

- -Welcome to your new appss. - - +

Tagger App

@code{ diff --git a/Tagger/Pages/Login.razor b/Tagger/Pages/Login.razor new file mode 100644 index 0000000..64c0729 --- /dev/null +++ b/Tagger/Pages/Login.razor @@ -0,0 +1,60 @@ +@page "/login" +@inject UserManager Users; +@inject IHttpContextAccessor httpContextAccessor; +@inject NavigationManager NavManager; +@inject IHostEnvironmentAuthenticationStateProvider HostAuthentication; +@inject AuthenticationStateProvider AuthenticationStateProvider; + +

login

+ +@if(LoggedIn) +{ + +} +else +{ + + + +} + + + +@code { + + public string Username { get; set; } = ""; + public string Password { get; set; } = ""; + + public bool LoggedIn { get; set; } = false; + + protected async override Task OnInitializedAsync() + { + LoggedIn = await Users.IsLogged(); + await base.OnInitializedAsync(); + } + + protected async override Task OnAfterRenderAsync(bool firstRender) + { + //if(firstRender) + + + await base.OnAfterRenderAsync(firstRender); + } + + public async Task TryLogin() + { + if (await Users.TryLogin(Username, Password)) + { + LoggedIn = await Users.IsLogged(); + StateHasChanged(); + return; + } + } + + public async Task Logout() + { + await Users.Logout(); + LoggedIn = await Users.IsLogged(); + StateHasChanged(); + } +} diff --git a/Tagger/Pages/Page.razor b/Tagger/Pages/Page.razor index 0656fe5..6547d9f 100644 --- a/Tagger/Pages/Page.razor +++ b/Tagger/Pages/Page.razor @@ -1,6 +1,9 @@ @page "/page/{*Route}" @inject PageProvider Pages; +@inject UserManager Users; @inject NavigationManager NavManager; +@inject IJSRuntime JS + @if (CurrentPage is null) { @@ -11,28 +14,29 @@ else @((MarkupString)markdownHtml)
- -