From 04110bc503d1c2cfdf5a76a49fae61381c61da17 Mon Sep 17 00:00:00 2001 From: tomivt Date: Mon, 10 Feb 2025 10:36:45 +0100 Subject: [PATCH] Code Smells from Pages/Acceuil --- WF-WebAdmin/WF-WebAdmin/Pages/Accueil.razor | 2 +- .../WF-WebAdmin/Pages/Accueil.razor.cs | 53 ++++-- .../WF-WebAdmin/Pages/DeleteUser.razor.cs | 2 - WF-WebAdmin/WF-WebAdmin/Pages/_Host.cshtml | 15 +- WF-WebAdmin/WF-WebAdmin/Pages/_Layout.cshtml | 11 +- .../WF-WebAdmin/wwwroot/fake_data_users.json | 166 ++++++++---------- 6 files changed, 135 insertions(+), 114 deletions(-) diff --git a/WF-WebAdmin/WF-WebAdmin/Pages/Accueil.razor b/WF-WebAdmin/WF-WebAdmin/Pages/Accueil.razor index d9af67e..34ec508 100644 --- a/WF-WebAdmin/WF-WebAdmin/Pages/Accueil.razor +++ b/WF-WebAdmin/WF-WebAdmin/Pages/Accueil.razor @@ -3,7 +3,7 @@ Accueil -

@Localizer["AccueilWelcome"]

+

@Localizer["AccueilWelcome"] ?? "Bienvenue"

@Localizer["AccueilTitle"]

diff --git a/WF-WebAdmin/WF-WebAdmin/Pages/Accueil.razor.cs b/WF-WebAdmin/WF-WebAdmin/Pages/Accueil.razor.cs index 877c92a..7c0407b 100644 --- a/WF-WebAdmin/WF-WebAdmin/Pages/Accueil.razor.cs +++ b/WF-WebAdmin/WF-WebAdmin/Pages/Accueil.razor.cs @@ -31,22 +31,55 @@ namespace WF_WebAdmin.Pages /// protected override async Task OnInitializedAsync() { - Dailyquote = await Http.GetFromJsonAsync($"{NavigationManager.BaseUri}fake-dataDailyQuote.json"); - + var url = $"{NavigationManager.BaseUri}fake-dataDailyQuote.json"; + + try + { + var response = await Http.GetFromJsonAsync(url); + Dailyquote = response ?? Array.Empty(); // Assurer qu'on ne stocke pas null + } + catch (Exception ex) + { + Console.WriteLine($"Erreur lors du chargement des citations : {ex.Message}"); + Dailyquote = Array.Empty(); // Éviter une exception en cas d'erreur réseau + } } - private async void RandomDailyquote() + private async Task RandomDailyquote() { - string _jsonFilePath = Path.Combine(Environment.CurrentDirectory, "wwwroot", "fake-dataDailyQuote.json"); - Random random = new Random(); + try + { + string _jsonFilePath = Path.Combine(Environment.CurrentDirectory, "wwwroot", "fake-dataDailyQuote.json"); + Random random = new Random(); - Quote[] quotes = await Http.GetFromJsonAsync($"{NavigationManager.BaseUri}fake-dataQuote.json"); + var response = await Http.GetFromJsonAsync($"{NavigationManager.BaseUri}fake-dataQuote.json"); + Quote[] quotes = response ?? Array.Empty(); // Empêche null - Dailyquote = new Quote[] { quotes.OrderBy(x => random.Next()).First() }; + if (quotes.Length > 0) + { + Dailyquote = new Quote[] { quotes.OrderBy(x => random.Next()).First() }; + } + else + { + Console.WriteLine("Aucune citation disponible dans le fichier JSON."); + return; + } - var json = JsonSerializer.Serialize(Dailyquote, new JsonSerializerOptions { WriteIndented = true }); - await File.WriteAllTextAsync(_jsonFilePath, json); + var json = JsonSerializer.Serialize(Dailyquote, new JsonSerializerOptions { WriteIndented = true }); + await File.WriteAllTextAsync(_jsonFilePath, json); - LoggerSaveStub.Log(Logger, LogLevel.Information, "Random change of quote of the day"); + if (Logger != null) + { + LoggerSaveStub.Log(Logger, LogLevel.Information, "Random change of quote of the day"); + } + else + { + Console.WriteLine("Logger non initialisé."); + } + } + catch (Exception ex) + { + Console.WriteLine($"Erreur dans RandomDailyquote: {ex.Message}"); + } } } } diff --git a/WF-WebAdmin/WF-WebAdmin/Pages/DeleteUser.razor.cs b/WF-WebAdmin/WF-WebAdmin/Pages/DeleteUser.razor.cs index 6b3da7e..1eae8a6 100644 --- a/WF-WebAdmin/WF-WebAdmin/Pages/DeleteUser.razor.cs +++ b/WF-WebAdmin/WF-WebAdmin/Pages/DeleteUser.razor.cs @@ -16,7 +16,6 @@ namespace WF_WebAdmin.Pages private List users; - private bool showDeletePopup = false; private bool showModifyPopup = false; private User userToDelete = null; private User selectedUser; @@ -164,7 +163,6 @@ namespace WF_WebAdmin.Pages private void ClosePopup() { // Set all popup visibility flags to false to hide the popups - showDeletePopup = false; // Close the delete confirmation popup showModifyPopup = false; // Close the modify confirmation popup showPopupDelete = false; // Close any additional delete popups showPopupAdmin = false; // Close the admin-related popup (if any) diff --git a/WF-WebAdmin/WF-WebAdmin/Pages/_Host.cshtml b/WF-WebAdmin/WF-WebAdmin/Pages/_Host.cshtml index a28d1ba..4565061 100644 --- a/WF-WebAdmin/WF-WebAdmin/Pages/_Host.cshtml +++ b/WF-WebAdmin/WF-WebAdmin/Pages/_Host.cshtml @@ -1,4 +1,13 @@ -@page "/" +@* + File: _Host.cshtml + Project: WF_WebAdmin + Description: ... + Author: What The Fantasy + Created: 10/02/2025 + Last Modified: 10/02/2025 +*@ + +@page "/" @namespace WF_WebAdmin.Pages @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers @{ @@ -8,5 +17,5 @@ - - + + \ No newline at end of file diff --git a/WF-WebAdmin/WF-WebAdmin/Pages/_Layout.cshtml b/WF-WebAdmin/WF-WebAdmin/Pages/_Layout.cshtml index 6db6afe..dd9d1b4 100644 --- a/WF-WebAdmin/WF-WebAdmin/Pages/_Layout.cshtml +++ b/WF-WebAdmin/WF-WebAdmin/Pages/_Layout.cshtml @@ -1,4 +1,13 @@ -@using Microsoft.AspNetCore.Components.Web +@* + File: _Layout.cshtml + Project: WF_WebAdmin + Description: ... + Author: What The Fantasy + Created: 10/02/2025 + Last Modified: 10/02/2025 +*@ + +@using Microsoft.AspNetCore.Components.Web @namespace WF_WebAdmin.Pages @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers diff --git a/WF-WebAdmin/WF-WebAdmin/wwwroot/fake_data_users.json b/WF-WebAdmin/WF-WebAdmin/wwwroot/fake_data_users.json index 73edfc2..555b920 100644 --- a/WF-WebAdmin/WF-WebAdmin/wwwroot/fake_data_users.json +++ b/WF-WebAdmin/WF-WebAdmin/wwwroot/fake_data_users.json @@ -1,98 +1,70 @@ -[ - { - "Id": 3, - "Image": "https://tse4.mm.bing.net/th/id/OIP.XNQPKwc1OUfvnSO9MsxDYgHaE7?w=202\u0026h=180\u0026c=7\u0026r=0\u0026o=5\u0026pid=1.7", - "Name": "testeur", - "Email": "testeur@gmail.com", - "DateCreation": "2024-08-02T00:00:00", - "IsAdmin": false, - "Comments": [ - { - "Text": "Premier test effectu\u00E9, tout semble OK.", - "DateCreation": "2024-08-02T00:00:00" - } - ] - }, - { - "Id": 4, - "Image": "https://tse2.mm.bing.net/th/id/OIP.MMpXBB5RDRYQm05FJmevGAHaKl?w=137\u0026h=195\u0026c=7\u0026r=0\u0026o=5\u0026pid=1.7", - "Name": "dev", - "Email": "dev@gmail.com", - "DateCreation": "2024-10-10T00:00:00", - "IsAdmin": true, - "Comments": null - }, - { - "Id": 5, - "Image": "https://tse2.mm.bing.net/th/id/OIP.MMpXBB5RDRYQm05FJmevGAHaKl?w=137\u0026h=195\u0026c=7\u0026r=0\u0026o=5\u0026pid=1.7", - "Name": "jean_doe", - "Email": "jean.doe@gmail.com", - "DateCreation": "2024-06-25T00:00:00", - "IsAdmin": false, - "Comments": [ - { - "Text": "Utilisateur tr\u00E8s actif, peut \u00EAtre un peu trop intrusif.", - "DateCreation": "2024-06-25T00:00:00" - } - ] - }, - { - "Id": 7, - "Image": "https://tse2.mm.bing.net/th/id/OIP.MMpXBB5RDRYQm05FJmevGAHaKl?w=137\u0026h=195\u0026c=7\u0026r=0\u0026o=5\u0026pid=1.7", - "Name": "test_n1", - "Email": "admin.joe@gmail.com", - "DateCreation": "2024-05-30T00:00:00", - "IsAdmin": false, - "Comments": null - }, - { - "Id": 8, - "Image": "https://tse2.mm.bing.net/th/id/OIP.MMpXBB5RDRYQm05FJmevGAHaKl?w=137\u0026h=195\u0026c=7\u0026r=0\u0026o=5\u0026pid=1.7", - "Name": "dev_anna", - "Email": "dev.anna@gmail.com", - "DateCreation": "2024-09-05T00:00:00", - "IsAdmin": false, - "Comments": null - }, - { - "Id": 9, - "Image": "https://tse2.mm.bing.net/th/id/OIP.MMpXBB5RDRYQm05FJmevGAHaKl?w=137\u0026h=195\u0026c=7\u0026r=0\u0026o=5\u0026pid=1.7", - "Name": "support_mark", - "Email": "support.mark@gmail.com", - "DateCreation": "2024-11-20T00:00:00", - "IsAdmin": false, - "Comments": [ - { - "Text": "Support rapide et efficace, mais manquant un peu de d\u00E9tails.", - "DateCreation": "2024-11-20T00:00:00" - } - ] - }, - { - "Id": 10, - "Image": "https://th.bing.com/th/id/OIP.24T00MDK-RUhFnm1Do5PFwHaFj?w=229\u0026h=180\u0026c=7\u0026r=0\u0026o=5\u0026pid=1.7", - "Name": "dev_susan", - "Email": "dev.susan@gmail.com", - "DateCreation": "2024-08-12T00:00:00", - "IsAdmin": false, - "Comments": null - }, - { - "Id": 12, - "Image": "https://tse2.mm.bing.net/th/id/OIP.MMpXBB5RDRYQm05FJmevGAHaKl?w=137\u0026h=195\u0026c=7\u0026r=0\u0026o=5\u0026pid=1.7", - "Name": "admin_lucas", - "Email": "admin.lucas@gmail.com", - "DateCreation": "2024-09-22T00:00:00", - "IsAdmin": false, - "Comments": null - }, - { - "Id": 14, - "Image": "https://tse2.mm.bing.net/th/id/OIP.MMpXBB5RDRYQm05FJmevGAHaKl?w=137\u0026h=195\u0026c=7\u0026r=0\u0026o=5\u0026pid=1.7", - "Name": "developer_mike", - "Email": "developer.mike@gmail.com", - "DateCreation": "2024-11-02T00:00:00", - "IsAdmin": false, - "Comments": null - } +[ + { + "Id": 3, + "Image": "https://tse4.mm.bing.net/th/id/OIP.XNQPKwc1OUfvnSO9MsxDYgHaE7?w=202\u0026h=180\u0026c=7\u0026r=0\u0026o=5\u0026pid=1.7", + "Name": "testeur", + "Email": "testeur@gmail.com", + "DateCreation": "2024-08-02T00:00:00", + "IsAdmin": false, + "Comments": [ + { + "Id": 0, + "IdUser": 0, + "DateCreation": "2024-08-02T00:00:00", + "Text": "Premier test effectu\u00E9, tout semble OK." + } + ] + }, + { + "Id": 4, + "Image": "https://tse2.mm.bing.net/th/id/OIP.MMpXBB5RDRYQm05FJmevGAHaKl?w=137\u0026h=195\u0026c=7\u0026r=0\u0026o=5\u0026pid=1.7", + "Name": "dev", + "Email": "dev@gmail.com", + "DateCreation": "2024-10-10T00:00:00", + "IsAdmin": true, + "Comments": null + }, + { + "Id": 5, + "Image": "https://tse2.mm.bing.net/th/id/OIP.MMpXBB5RDRYQm05FJmevGAHaKl?w=137\u0026h=195\u0026c=7\u0026r=0\u0026o=5\u0026pid=1.7", + "Name": "jean_doe", + "Email": "jean.doe@gmail.com", + "DateCreation": "2024-06-25T00:00:00", + "IsAdmin": false, + "Comments": [ + { + "Id": 0, + "IdUser": 0, + "DateCreation": "2024-06-25T00:00:00", + "Text": "Utilisateur tr\u00E8s actif, peut \u00EAtre un peu trop intrusif." + } + ] + }, + { + "Id": 7, + "Image": "https://tse2.mm.bing.net/th/id/OIP.MMpXBB5RDRYQm05FJmevGAHaKl?w=137\u0026h=195\u0026c=7\u0026r=0\u0026o=5\u0026pid=1.7", + "Name": "test_n1", + "Email": "admin.joe@gmail.com", + "DateCreation": "2024-05-30T00:00:00", + "IsAdmin": false, + "Comments": null + }, + { + "Id": 10, + "Image": "https://th.bing.com/th/id/OIP.24T00MDK-RUhFnm1Do5PFwHaFj?w=229\u0026h=180\u0026c=7\u0026r=0\u0026o=5\u0026pid=1.7", + "Name": "dev_susan", + "Email": "dev.susan@gmail.com", + "DateCreation": "2024-08-12T00:00:00", + "IsAdmin": false, + "Comments": null + }, + { + "Id": 12, + "Image": "https://tse2.mm.bing.net/th/id/OIP.MMpXBB5RDRYQm05FJmevGAHaKl?w=137\u0026h=195\u0026c=7\u0026r=0\u0026o=5\u0026pid=1.7", + "Name": "admin_lucas", + "Email": "admin.lucas@gmail.com", + "DateCreation": "2024-09-22T00:00:00", + "IsAdmin": false, + "Comments": null + } ] \ No newline at end of file