Login fonctionne

pull/24/head
lebeaulato 3 months ago
parent 00bc784f05
commit 60eeea3920

@ -1,15 +1,13 @@
namespace WF_WebAdmin.Model using System;
namespace WF_WebAdmin.Model
{ {
public class UserLogin public class UserLogin
{ {
public int Id { get; set; } public int Id { get; set; }
public string Image { get; set; } public string Image { get; set; }
public string Name { get; set; } public string Name { get; set;}
public Boolean IsAdmin { get; set; } public Boolean IsAdmin { get; set; }
public string Mdp { get; set; } public string Mdp { get; set; }
public UserLogin(int id,string image, string name, bool isAdmin, string mdp) public UserLogin(int id,string image, string name, bool isAdmin, string mdp)
{ {
Id = id; Id = id;

@ -18,6 +18,7 @@ namespace WF_WebAdmin.Pages
protected override async Task OnInitializedAsync() protected override async Task OnInitializedAsync()
{ {
quotes = await Http.GetFromJsonAsync<Quote[]>($"{NavigationManager.BaseUri}fake-dataQuote.json"); quotes = await Http.GetFromJsonAsync<Quote[]>($"{NavigationManager.BaseUri}fake-dataQuote.json");
} }
} }
} }

@ -1,6 +1,6 @@
@page "/" @page "/"
@using WF_WebAdmin.Model @using WF_WebAdmin.Model
@inject UserLogin uLogin
<h1>▶ Connexion ◀</h1> <h1>▶ Connexion ◀</h1>
<div class="login"> <div class="login">
@ -8,12 +8,11 @@
<DataAnnotationsValidator /> <DataAnnotationsValidator />
<ValidationSummary /> <ValidationSummary />
<label for="name"><strong>Identifiant *</strong></label> <label for="name"><strong>Identifiant *</strong></label>
<InputText @bind-Value="userLogin.Name" id="name" placeholder="Entrez votre pseudo" class="connexion" required /> <InputText @bind-Value="userLogin.Name" id="name" placeholder="Entrez votre pseudo" class="connexion" required />
<label for="mdp"><strong>Mot de passe*</strong></label> <label for="mdp"><strong>Mot de passe*</strong></label>
<InputText @bind-Value="@userLogin.Mdp" type="password" placeholder="Password" class="connexion" required /> <InputText @bind-Value="@userLogin.Mdp" type="password" placeholder="Entrez votre mot de passe" class="connexion" required />
<div class="buttonSubmitDiv"> <div class="buttonSubmitDiv">

@ -8,8 +8,12 @@ namespace WF_WebAdmin.Pages
{ {
public partial class Login public partial class Login
{ {
private UserLogin userLogin = new UserLogin(); private UserLogin userLogin = new UserLogin();
[Inject]
public UserLogin uLogin { get; set; }
private string ErrorConnexion; private string ErrorConnexion;
private List<UserLogin> usersConnexion; private List<UserLogin> usersConnexion;
@ -22,6 +26,7 @@ namespace WF_WebAdmin.Pages
protected override async Task OnInitializedAsync() protected override async Task OnInitializedAsync()
{ {
usersConnexion = await Http.GetFromJsonAsync<List<UserLogin>>($"{NavigationManager.BaseUri}fake-dataUsers.json"); usersConnexion = await Http.GetFromJsonAsync<List<UserLogin>>($"{NavigationManager.BaseUri}fake-dataUsers.json");
} }
@ -36,8 +41,13 @@ namespace WF_WebAdmin.Pages
if(user.IsAdmin) if(user.IsAdmin)
{ {
ErrorConnexion = $"Connecté en tant que {user.Name} (Ca doit disparaitre dans le futur)"; ErrorConnexion = $"Connecté en tant que {user.Name} (Ca doit disparaitre dans le futur)";
uLogin.Id = user.Id; uLogin.Id = userLogin.Id;
break; uLogin.Name = user.Name;
uLogin.Image = user.Image;
NavigationManager.NavigateTo(NavigationManager.BaseUri + "/accueil");
return;
} }
else else
{ {

@ -3,7 +3,7 @@
<PageTitle>Corection des citation</PageTitle> <PageTitle>Corection des citation</PageTitle>
<h3>Corection des citation</h3> <h3>Correction des citations</h3>
<p>Ajouter une recherche</p> <p>Ajouter une recherche</p>

@ -14,7 +14,7 @@ builder.Services.AddServerSideBlazor();
builder.Services.AddSingleton<WeatherForecastService>(); builder.Services.AddSingleton<WeatherForecastService>();
builder.Services.AddHttpClient(); builder.Services.AddHttpClient();
builder.Services.AddSingleton<UserLogin>(); builder.Services.AddScoped<UserLogin>();
builder.Services builder.Services
.AddBlazorise() .AddBlazorise()

@ -2,35 +2,41 @@
@inherits LayoutComponentBase @inherits LayoutComponentBase
@inject UserLogin uLogin @inject UserLogin uLogin
<PageTitle>WF-WebAdmin</PageTitle> <PageTitle>WF-WebAdmin</PageTitle>
<div class="page">
<div class="sidebar"> <div class="page">
<NavMenu /> @if (uLogin.Name != null)
</div> {
<div class="sidebar">
<main> <NavMenu />
</div>
}
<main>
<div class="top-row px-4"> <div class="top-row px-4">
@if (!string.IsNullOrEmpty(uLogin.Name)) @if (!string.IsNullOrEmpty(uLogin.Name))
{ {
<img class="imageProfil" src="@uLogin.Image" /> <img class="imageProfil" src="@uLogin.Image" />
} }
else else
{ {
<img class="imageProfil" src="https://cdn-icons-png.flaticon.com/512/61/61205.png"/> <img class="imageProfil" src="https://cdn-icons-png.flaticon.com/512/61/61205.png"/>
} }
</div> </div>
<article class="content px-4"> <article class="content px-4">
@Body @Body
</article> </article>
</main> </main>
</div> </div>
<style> <style>
.imageProfil{ .imageProfil{
height:auto; height:auto;
width : 30px; width : 30px;
border-radius:45%; border-radius:45%;
} }
</style> </style>

@ -1,61 +1,61 @@
<div class="top-row ps-3 navbar navbar-dark"> @using WF_WebAdmin.Model
<div class="container-fluid"> @inject UserLogin uLogin
<a class="navbar-brand" href="">What the Fantasy</a>
<button title="Navigation menu" class="navbar-toggler" @onclick="ToggleNavMenu">
<span class="navbar-toggler-icon"></span>
</button>
</div>
</div>
<div class="@NavMenuCssClass" @onclick="ToggleNavMenu">
<nav class="flex-column">
<div class="nav-item px-3">
<NavLink class="nav-link" href="" Match="NavLinkMatch.All">
<span class="oi oi-home" aria-hidden="true"></span> Login
</NavLink>
</div>
<div class="nav-item px-3">
<NavLink class="nav-link" href="Accueil">
<span class="oi oi-plus" aria-hidden="true"></span> Accueil
</NavLink>
</div>
<div class="nav-item px-3">
<NavLink class="nav-link" href="ValidQuote">
<span class="oi oi-list-rich" aria-hidden="true"></span> Validation de citations
</NavLink>
</div>
<div class="nav-item px-3">
<NavLink class="nav-link" href="ValidQuiz">
<span class="oi oi-list-rich" aria-hidden="true"></span> Validation de quiz
</NavLink>
</div>
<div class="nav-item px-3">
<NavLink class="nav-link" href="deleteuser">
<span class="oi oi-list-rich" aria-hidden="true"></span> Gestion des utilisateurs
</NavLink>
</div>
<div class="nav-item px-3"> <div class="top-row ps-3 navbar navbar-dark">
<NavLink class="nav-link" href="modifquote"> <div class="container-fluid">
<span class="oi oi-list-rich" aria-hidden="true"></span> Correction des citations <a class="navbar-brand" href="">What the Fantasy</a>
</NavLink> <button title="Navigation menu" class="navbar-toggler" @onclick="ToggleNavMenu">
<span class="navbar-toggler-icon"></span>
</button>
</div> </div>
</div>
<div class="@NavMenuCssClass" @onclick="ToggleNavMenu">
<nav class="flex-column">
<div class="nav-item px-3">
<NavLink class="nav-link" href="Accueil">
<span class="oi oi-plus" aria-hidden="true"></span> Accueil
</NavLink>
</div>
<div class="nav-item px-3">
<NavLink class="nav-link" href="ValidQuote">
<span class="oi oi-list-rich" aria-hidden="true"></span> Validation de citations
</NavLink>
</div>
<div class="nav-item px-3">
<NavLink class="nav-link" href="ValidQuiz">
<span class="oi oi-list-rich" aria-hidden="true"></span> Validation de quiz
</NavLink>
</div>
<div class="nav-item px-3">
<NavLink class="nav-link" href="deleteuser">
<span class="oi oi-list-rich" aria-hidden="true"></span> Gestion des utilisateurs
</NavLink>
</div>
<div class="nav-item px-3">
<NavLink class="nav-link" href="modifquote">
<span class="oi oi-list-rich" aria-hidden="true"></span> Correction des citations
</NavLink>
</div>
</nav>
</div>
</nav> @code {
</div> private bool collapseNavMenu = true;
@code {
private bool collapseNavMenu = true;
private string? NavMenuCssClass => collapseNavMenu ? "collapse" : null; private string? NavMenuCssClass => collapseNavMenu ? "collapse" : null;
private void ToggleNavMenu() private void ToggleNavMenu()
{ {
collapseNavMenu = !collapseNavMenu; collapseNavMenu = !collapseNavMenu;
}
} }
}

@ -10,7 +10,7 @@
"Id": 2, "Id": 2,
"Image": "https://tse2.mm.bing.net/th/id/OIP.MMpXBB5RDRYQm05FJmevGAHaKl?w=137&h=195&c=7&r=0&o=5&pid=1.7", "Image": "https://tse2.mm.bing.net/th/id/OIP.MMpXBB5RDRYQm05FJmevGAHaKl?w=137&h=195&c=7&r=0&o=5&pid=1.7",
"Name": "exploit", "Name": "exploit",
"IsAdmin": false, "IsAdmin": true,
"Mdp": "passwd" "Mdp": "passwd"
} }
] ]

@ -24,7 +24,7 @@
"Name": "exploit", "Name": "exploit",
"Email": "exploit@gmail.com", "Email": "exploit@gmail.com",
"DateCreation": "2024-11-12", "DateCreation": "2024-11-12",
"IsAdmin": false, "IsAdmin": true,
"Mdp": "passwd" "Mdp": "passwd"
}, },
{ {

Loading…
Cancel
Save