in packages/amplify_auth_cognito/example/lib/Widgets/ViewUserAttributes.dart [71:150]
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('User Attributes'),
actions: [
TextButton(
onPressed: () {
Navigator.of(context).push(
MaterialPageRoute(
builder: (context) => UpdateUserAttributesWidget(),
),
);
},
child: Text(
'Bulk Update',
style: TextStyle(color: Colors.white),
),
),
IconButton(
icon: Icon(Icons.refresh),
onPressed: () => _fetchAttributes(isRefresh: true),
)
],
),
body: Builder(
builder: (context) {
if (_isLoading) {
return Center(child: CircularProgressIndicator());
} else if (_errorMessage != '') {
return Center(child: Text(_errorMessage));
} else if (_userAttributes.isEmpty) {
return Center(child: Text('This user has no attributes'));
} else {
return RefreshIndicator(
onRefresh: () => _fetchAttributes(isRefresh: true),
child: ListView.builder(
itemCount: _userAttributes.length,
itemBuilder: (context, index) {
AuthUserAttribute atrribute = _userAttributes[index];
CognitoUserAttributeKey userAttributeKey =
atrribute.userAttributeKey as CognitoUserAttributeKey;
String value = atrribute.value;
return ListTile(
title: Text(userAttributeKey.toString()),
subtitle: Text(value),
trailing: userAttributeKey.readOnly
? null
: IconButton(
icon: Icon(Icons.edit),
onPressed: () {
Navigator.of(context).push(
MaterialPageRoute(
builder: (context) =>
UpdateUserAttributeWidget(
userAttributeKey: userAttributeKey,
),
),
);
},
),
);
},
),
);
}
},
),
floatingActionButton: FloatingActionButton.extended(
onPressed: () {
Navigator.of(context).push(
MaterialPageRoute(
builder: (context) => UpdateUserAttributeWidget(),
),
);
},
icon: Icon(Icons.add),
label: Text('Add Attribute'),
),
);
}