diff --git a/Frontend/lib/mih_components/mih_inputs_and_buttons/mih_text_input.dart b/Frontend/lib/mih_components/mih_inputs_and_buttons/mih_text_input.dart index ec320cae..5eae9692 100644 --- a/Frontend/lib/mih_components/mih_inputs_and_buttons/mih_text_input.dart +++ b/Frontend/lib/mih_components/mih_inputs_and_buttons/mih_text_input.dart @@ -48,11 +48,15 @@ class _MIHTextFieldState extends State { if (widget.hintText == "Email" && !isEmailValid(text)) { errorMessage += "Enter a valid email address\n"; } - if (widget.hintText == "Username" && text.length < 8) { - errorMessage += "• Username must contain at least 8 characters.\n"; - } + // if (widget.hintText == "Username" && text.length < 8) { + // errorMessage += "• Username must contain at least 8 characters.\n"; + // } if (widget.hintText == "Username" && !isUsernameValid(text)) { - errorMessage += "• Username can only contain '_' special Chracters.\n"; + errorMessage += "Let's create a great username for you!\n"; + errorMessage += "• Your username should start with a letter.\n"; + errorMessage += "• You can use letters, numbers, and/ or underscores.\n"; + errorMessage += "• Keep it between 6 and 30 characters.\n"; + errorMessage += "• Avoid special characters like @, #, or \$.\"\n"; } if (errorMessage.isEmpty) { return null; @@ -62,8 +66,7 @@ class _MIHTextFieldState extends State { } bool isUsernameValid(String username) { - return RegExp(r'^(?=[a-zA-Z0-9._]{8,20}$)(?!.*[_.]{2})[^_.].*[^_.]$') - .hasMatch(username); + return RegExp(r'^[a-zA-Z][a-zA-Z0-9_]{5,19}$').hasMatch(username); } bool isEmailValid(String email) { diff --git a/Frontend/lib/mih_components/mih_pop_up_messages/mih_error_message.dart b/Frontend/lib/mih_components/mih_pop_up_messages/mih_error_message.dart index 56fe06b3..19f6a16b 100644 --- a/Frontend/lib/mih_components/mih_pop_up_messages/mih_error_message.dart +++ b/Frontend/lib/mih_components/mih_pop_up_messages/mih_error_message.dart @@ -287,7 +287,7 @@ class _MIHErrorMessageState extends State { ), const SizedBox(height: 15), Text( - "Your username needs a little adjustment. To make sure everyone has a unique username, please start your username with a letter or number and use only letters, numbers or underscores. Let's try that again!", + "Let's create a great username for you! Just a few quick tips:\n• Your username should start with a letter.\n• You can use letters, numbers, and/ or underscores.\n• Keep it between 6 and 20 characters.\n• Avoid special characters like @, #, or \$.\"", style: TextStyle( color: MzanziInnovationHub.of(context)!.theme.secondaryColor(), diff --git a/Frontend/lib/mih_packages/mih_home/mih_home.dart b/Frontend/lib/mih_packages/mih_home/mih_home.dart index c3f4a6e7..44311963 100644 --- a/Frontend/lib/mih_packages/mih_home/mih_home.dart +++ b/Frontend/lib/mih_packages/mih_home/mih_home.dart @@ -85,6 +85,8 @@ class _MIHHomeState extends State { ); void setAppsNewPersonal(List tileList) { + ImageProvider logo = MzanziInnovationHub.of(context)!.theme.logoImage(); + if (widget.signedInUser.fname == "") { tileList.add(MIHTile( videoID: "jFV3NN65DtQ", @@ -94,10 +96,9 @@ class _MIHHomeState extends State { widget.signedInUser, widget.propicFile)); }, tileName: "Setup Profie", - tileIcon: Icon( - Icons.perm_identity, - color: getSec(), - size: 230, + tileIcon: Padding( + padding: const EdgeInsets.all(15.0), + child: Image(image: logo), ), p: getPrim(), s: getSec(), diff --git a/Frontend/lib/mih_packages/mzansi_profile/profile_user_update.dart b/Frontend/lib/mih_packages/mzansi_profile/profile_user_update.dart index dfa09e03..c1fc021a 100644 --- a/Frontend/lib/mih_packages/mzansi_profile/profile_user_update.dart +++ b/Frontend/lib/mih_packages/mzansi_profile/profile_user_update.dart @@ -214,8 +214,7 @@ class _ProfileUserUpdateState extends State { } bool isUsernameValid(String username) { - return RegExp(r'^(?=[a-zA-Z0-9._]{8,20}$)(?!.*[_.]{2})[^_.].*[^_.]$') - .hasMatch(username); + return RegExp(r'^[a-zA-Z][a-zA-Z0-9_]{5,19}$').hasMatch(username); } Future submitForm() async {