diff --git a/lib/domain_layer/entities/onboarding_user_info.dart b/lib/domain_layer/entities/onboarding_user_info.dart index 2cf44d5..64b672a 100644 --- a/lib/domain_layer/entities/onboarding_user_info.dart +++ b/lib/domain_layer/entities/onboarding_user_info.dart @@ -6,6 +6,7 @@ class OnboardingUserInfo { MemFile? picture; MemFile? banner; String? about = ''; + String? pronouns = ''; String? nip05; String? website = ''; bool nip46 = false; @@ -19,6 +20,7 @@ class OnboardingUserInfo { this.picture, this.banner, this.about, + this.pronouns, this.nip05, this.website, this.nip46 = false, diff --git a/lib/presentation_layer/components/edit_profile.dart b/lib/presentation_layer/components/edit_profile.dart index 86805ec..1d3741d 100644 --- a/lib/presentation_layer/components/edit_profile.dart +++ b/lib/presentation_layer/components/edit_profile.dart @@ -27,6 +27,8 @@ class EditProfile extends ConsumerStatefulWidget { final Function(String) onLud06Changed; final String initialLud16; final Function(String) onLud16Changed; + final String initialPronouns; + final Function(String) onPronounsChanged; const EditProfile({ super.key, @@ -38,6 +40,7 @@ class EditProfile extends ConsumerStatefulWidget { required this.initialWebsite, required this.initialLud06, required this.initialLud16, + required this.initialPronouns, required this.onNameChanged, required this.pictureCallback, required this.bannerCallback, @@ -46,6 +49,7 @@ class EditProfile extends ConsumerStatefulWidget { required this.onWebsiteChanged, required this.onLud06Changed, required this.onLud16Changed, + required this.onPronounsChanged, }); @override @@ -67,6 +71,7 @@ class _EditProfileState extends ConsumerState { 'website': TextEditingController(text: widget.initialWebsite), 'lud06': TextEditingController(text: widget.initialLud06), 'lud16': TextEditingController(text: widget.initialLud16), + 'pronouns': TextEditingController(text: widget.initialPronouns), }; // Adding listeners to each controller to call the corresponding callback when the text changes. @@ -91,6 +96,9 @@ class _EditProfileState extends ConsumerState { case 'lud16': widget.onLud16Changed(controller.text); break; + case 'pronouns': + widget.onPronounsChanged(controller.text); + break; } }); }); @@ -170,10 +178,10 @@ class _EditProfileState extends ConsumerState { children: [ _buildInputField('Name', _controllers['name']!), _buildInputField('Bio', _controllers['about']!, isMultiline: true), + _buildInputField('pronouns', _controllers['pronouns']!), _buildInputField('Website', _controllers['website']!), - _buildInputField('nip05', _controllers['nip05']!), - _buildInputField('lud06', _controllers['lud06']!), - _buildInputField('lud16', _controllers['lud16']!), + _buildInputField('username (nip05)', _controllers['nip05']!), + _buildInputField('lightning address', _controllers['lud16']!), ], ), ); diff --git a/lib/presentation_layer/routes/nostr/onboarding/onboarding_done.dart b/lib/presentation_layer/routes/nostr/onboarding/onboarding_done.dart index 731894c..9dc7d77 100644 --- a/lib/presentation_layer/routes/nostr/onboarding/onboarding_done.dart +++ b/lib/presentation_layer/routes/nostr/onboarding/onboarding_done.dart @@ -125,6 +125,7 @@ ${_privateKey.mnemonicSentence} picture: uploadedPicture, banner: uploadedBanner, about: widget.userInfo.about, + pronouns: widget.userInfo.pronouns, website: widget.userInfo.website, nip05: widget.userInfo.nip05, lud06: widget.userInfo.lud06, diff --git a/lib/presentation_layer/routes/nostr/onboarding/onboarding_profile.dart b/lib/presentation_layer/routes/nostr/onboarding/onboarding_profile.dart index e910816..002932f 100644 --- a/lib/presentation_layer/routes/nostr/onboarding/onboarding_profile.dart +++ b/lib/presentation_layer/routes/nostr/onboarding/onboarding_profile.dart @@ -140,6 +140,10 @@ class _OnboardingProfileState extends ConsumerState { onAboutChanged: (value) { widget.signUpInfo.about = value; }, + initialPronouns: widget.signUpInfo.pronouns ?? '', + onPronounsChanged: (value) { + widget.signUpInfo.pronouns = value; + }, initialNip05: widget.signUpInfo.nip05 ?? '', onNip05Changed: (value) { widget.signUpInfo.nip05 = value;