From a9ee6491b97652d96f0d2288abd0931727f4e4a3 Mon Sep 17 00:00:00 2001 From: rrrockey Date: Wed, 25 Feb 2026 18:12:57 -0600 Subject: [PATCH 1/2] feat: add real-time progress tracking for password input on sign up page --- .../Components/Pages/Users/AdminSignUp.razor | 190 ++++++++++++------ 1 file changed, 126 insertions(+), 64 deletions(-) diff --git a/CulinaryCommandApp/Components/Pages/Users/AdminSignUp.razor b/CulinaryCommandApp/Components/Pages/Users/AdminSignUp.razor index 8bbf2e1..660ca2b 100644 --- a/CulinaryCommandApp/Components/Pages/Users/AdminSignUp.razor +++ b/CulinaryCommandApp/Components/Pages/Users/AdminSignUp.razor @@ -70,9 +70,7 @@
Add one or more restaurant locations.
- @@ -86,8 +84,7 @@
Location @(locIndex + 1)
-
@@ -182,43 +201,46 @@ @code { @@ -350,6 +392,26 @@ private string FirstName { get; set; } = string.Empty; private string LastName { get; set; } = string.Empty; + // Password requirement flags + private bool PasswordHasMinLength => Signup.Admin.Password?.Length >= 8; + private bool PasswordHasUpper => !string.IsNullOrEmpty(Signup.Admin.Password) && + Signup.Admin.Password.Any(char.IsUpper); + private bool PasswordHasLower => !string.IsNullOrEmpty(Signup.Admin.Password) && + Signup.Admin.Password.Any(char.IsLower); + private bool PasswordHasNumber => !string.IsNullOrEmpty(Signup.Admin.Password) && + Signup.Admin.Password.Any(char.IsDigit); + private bool PasswordHasSymbol => !string.IsNullOrEmpty(Signup.Admin.Password) && Signup.Admin.Password.Any(c => + CognitoSymbols.Contains(c)); + + // Cognito symbol set (same as in CognitoPasswordAttribute) + private const string CognitoSymbols = "^$*.[\\]{}()?\"!@#%&/\\,><':;|_~`=+-"; + + private void OnPasswordInput(ChangeEventArgs e) + { + // This triggers UI update as the password changes + StateHasChanged(); + } + protected override void OnInitialized() { Signup.Locations ??= new List(); @@ -373,7 +435,7 @@ { errorMessage = ""; successMessage = ""; - + if (string.IsNullOrWhiteSpace(FirstName) || string.IsNullOrWhiteSpace(LastName)) { errorMessage = "First and last name are required."; @@ -400,4 +462,4 @@ isSubmitting = false; } } -} +} \ No newline at end of file From bfa085c39a0aea3e2308eec4e84b07c66183bf28 Mon Sep 17 00:00:00 2001 From: rrrockey Date: Wed, 25 Feb 2026 18:19:50 -0600 Subject: [PATCH 2/2] chore: remove deprecated /ingredients files and references --- .../Components/Layout/NavMenu.razor | 10 -- .../Inventory/Pages/Ingredients/Create.razor | 20 --- .../Inventory/Pages/Ingredients/Edit.razor | 34 ----- .../Inventory/Pages/Ingredients/Index.razor | 5 - .../Pages/Ingredients/IngredientForm.razor | 64 --------- .../Pages/Ingredients/IngredientList.razor | 70 ---------- .../Pages/Ingredients/Ingredients.razor | 121 ------------------ 7 files changed, 324 deletions(-) delete mode 100644 CulinaryCommandApp/Inventory/Pages/Ingredients/Create.razor delete mode 100644 CulinaryCommandApp/Inventory/Pages/Ingredients/Edit.razor delete mode 100644 CulinaryCommandApp/Inventory/Pages/Ingredients/Index.razor delete mode 100644 CulinaryCommandApp/Inventory/Pages/Ingredients/IngredientForm.razor delete mode 100644 CulinaryCommandApp/Inventory/Pages/Ingredients/IngredientList.razor delete mode 100644 CulinaryCommandApp/Inventory/Pages/Ingredients/Ingredients.razor diff --git a/CulinaryCommandApp/Components/Layout/NavMenu.razor b/CulinaryCommandApp/Components/Layout/NavMenu.razor index 7cc76f7..cb3896c 100644 --- a/CulinaryCommandApp/Components/Layout/NavMenu.razor +++ b/CulinaryCommandApp/Components/Layout/NavMenu.razor @@ -52,11 +52,6 @@ Recipes - -