Added Last Name display and made it editable

This commit is contained in:
Arseni
2025-12-24 18:48:33 +03:00
parent 964e90767d
commit 4453dab366
8 changed files with 118 additions and 43 deletions

View File

@@ -17,16 +17,20 @@ class _AccountNameConstants {
}
class AccountName extends StatelessWidget {
final String name;
final String firstName;
final String lastName;
final String title;
final String hintText;
final String lastNameHint;
final String errorText;
const AccountName({
super.key,
required this.name,
required this.firstName,
required this.lastName,
required this.title,
required this.hintText,
required this.lastNameHint,
required this.errorText,
});
@@ -34,12 +38,14 @@ class AccountName extends StatelessWidget {
Widget build(BuildContext context) {
return ChangeNotifierProvider(
create: (ctx) => AccountNameState(
initialName: name,
initialFirstName: firstName,
initialLastName: lastName,
errorMessage: errorText,
accountProvider: ctx.read<AccountProvider>(),
),
child: _AccountNameBody(
hintText: hintText,
lastNameHint: lastNameHint,
),
);
}
@@ -48,9 +54,11 @@ class AccountName extends StatelessWidget {
class _AccountNameBody extends StatelessWidget {
const _AccountNameBody({
required this.hintText,
required this.lastNameHint,
});
final String hintText;
final String lastNameHint;
@override
Widget build(BuildContext context) {
@@ -58,8 +66,9 @@ class _AccountNameBody extends StatelessWidget {
final provider = context.watch<AccountProvider>();
final theme = Theme.of(context);
final currentName = provider.account?.name ?? state.initialName;
state.syncName(currentName);
final currentFirstName = provider.account?.name ?? state.initialFirstName;
final currentLastName = provider.account?.lastName ?? state.initialLastName;
state.syncNames(currentFirstName, currentLastName);
return Column(
mainAxisSize: MainAxisSize.min,
@@ -69,6 +78,7 @@ class _AccountNameBody extends StatelessWidget {
children: [
AccountNameText(
hintText: hintText,
lastNameHint: lastNameHint,
inputWidth: _AccountNameConstants.inputWidth,
borderWidth: _AccountNameConstants.borderWidth,
),