mirror of
https://github.com/Iconica-Development/flutter_profile.git
synced 2025-05-19 01:03:45 +02:00
Merge pull request #25 from Iconica-Development/feature/avatar_background_color
feat: add custom background color for avatar
This commit is contained in:
commit
81ab1664d5
7 changed files with 60 additions and 42 deletions
26
CHANGELOG.md
26
CHANGELOG.md
|
@ -1,43 +1,47 @@
|
|||
## 1.1.5
|
||||
|
||||
- Added custom background color for avatar
|
||||
|
||||
## 1.0.5
|
||||
|
||||
* Added TextStyle option for all text fields
|
||||
- Added TextStyle option for all text fields
|
||||
|
||||
## 1.0.4
|
||||
|
||||
* Fixed a nullcheck being done on the nullable user in Avatar
|
||||
- Fixed a nullcheck being done on the nullable user in Avatar
|
||||
|
||||
## 1.0.3
|
||||
|
||||
* No longer crashes without profile data
|
||||
- No longer crashes without profile data
|
||||
|
||||
## 1.0.2
|
||||
|
||||
* Added form key and more customizability for web
|
||||
- Added form key and more customizability for web
|
||||
|
||||
## 1.0.1
|
||||
|
||||
* Added a default wrap instead of column
|
||||
- Added a default wrap instead of column
|
||||
|
||||
## 0.0.11
|
||||
|
||||
* Fixed bug where some field wouldn't update when submitted.
|
||||
- Fixed bug where some field wouldn't update when submitted.
|
||||
|
||||
## 0.0.10
|
||||
|
||||
* Fixed bug where keyboard would close on selecting custom input fields.
|
||||
- Fixed bug where keyboard would close on selecting custom input fields.
|
||||
|
||||
## 0.0.7
|
||||
|
||||
* Submit all edited fields on submit of one field
|
||||
- Submit all edited fields on submit of one field
|
||||
|
||||
## 0.0.3
|
||||
|
||||
* Add support for image URL (instead of in-memory image using image parameter from User model)
|
||||
- Add support for image URL (instead of in-memory image using image parameter from User model)
|
||||
|
||||
## 0.0.2
|
||||
|
||||
* Add prioritizedItems option to display items at the top of the page.
|
||||
- Add prioritizedItems option to display items at the top of the page.
|
||||
|
||||
## 0.0.1
|
||||
|
||||
* Initial release.
|
||||
- Initial release.
|
||||
|
|
|
@ -5,10 +5,10 @@ packages:
|
|||
dependency: transitive
|
||||
description:
|
||||
name: async
|
||||
sha256: bfe67ef28df125b7dddcea62755991f807aa39a2492a23e1550161692950bbe0
|
||||
sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.10.0"
|
||||
version: "2.11.0"
|
||||
boolean_selector:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -45,10 +45,10 @@ packages:
|
|||
dependency: transitive
|
||||
description:
|
||||
name: characters
|
||||
sha256: e6a326c8af69605aec75ed6c187d06b349707a27fbff8222ca9cc2cff167975c
|
||||
sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.2.1"
|
||||
version: "1.3.0"
|
||||
clock:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -61,10 +61,10 @@ packages:
|
|||
dependency: transitive
|
||||
description:
|
||||
name: collection
|
||||
sha256: cfc915e6923fe5ce6e153b0723c753045de46de1b4d63771530504004a45fae0
|
||||
sha256: f092b211a4319e98e5ff58223576de6c2803db36221657b46c82574721240687
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.17.0"
|
||||
version: "1.17.2"
|
||||
crypto:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -162,14 +162,6 @@ packages:
|
|||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "4.0.2"
|
||||
js:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: js
|
||||
sha256: "5528c2f391ededb7775ec1daa69e65a2d61276f7552de2b5f7b8d34ee9fd4ab7"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.6.5"
|
||||
lints:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -182,26 +174,26 @@ packages:
|
|||
dependency: transitive
|
||||
description:
|
||||
name: matcher
|
||||
sha256: "16db949ceee371e9b99d22f88fa3a73c4e59fd0afed0bd25fc336eb76c198b72"
|
||||
sha256: "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.12.13"
|
||||
version: "0.12.16"
|
||||
material_color_utilities:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: material_color_utilities
|
||||
sha256: d92141dc6fe1dad30722f9aa826c7fbc896d021d792f80678280601aff8cf724
|
||||
sha256: "9528f2f296073ff54cb9fee677df673ace1218163c3bc7628093e7eed5203d41"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.2.0"
|
||||
version: "0.5.0"
|
||||
meta:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: meta
|
||||
sha256: "6c268b42ed578a53088d834796959e4a1814b5e9e164f147f580a386e5decf42"
|
||||
sha256: "3c74dbf8763d36539f114c799d8a2d87343b5067e9d796ca22b5eb8437090ee3"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.8.0"
|
||||
version: "1.9.1"
|
||||
octo_image:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -214,10 +206,10 @@ packages:
|
|||
dependency: transitive
|
||||
description:
|
||||
name: path
|
||||
sha256: db9d4f58c908a4ba5953fcee2ae317c94889433e5024c27ce74a37f94267945b
|
||||
sha256: "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.8.2"
|
||||
version: "1.8.3"
|
||||
path_provider:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -323,10 +315,10 @@ packages:
|
|||
dependency: transitive
|
||||
description:
|
||||
name: source_span
|
||||
sha256: dd904f795d4b4f3b870833847c461801f6750a9fa8e61ea5ac53f9422b31f250
|
||||
sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.9.1"
|
||||
version: "1.10.0"
|
||||
sqflite:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -387,10 +379,10 @@ packages:
|
|||
dependency: transitive
|
||||
description:
|
||||
name: test_api
|
||||
sha256: ad540f65f92caa91bf21dfc8ffb8c589d6e4dc0c2267818b4cc2792857706206
|
||||
sha256: "75760ffd7786fffdfb9597c35c5b27eaeec82be8edfb6d71d32651128ed7aab8"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.4.16"
|
||||
version: "0.6.0"
|
||||
typed_data:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -415,6 +407,14 @@ packages:
|
|||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.1.4"
|
||||
web:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: web
|
||||
sha256: dc8ccd225a2005c1be616fe02951e2e342092edf968cf0844220383757ef8f10
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.1.4-beta"
|
||||
win32:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -432,5 +432,5 @@ packages:
|
|||
source: hosted
|
||||
version: "0.2.0+2"
|
||||
sdks:
|
||||
dart: ">=2.18.0 <3.0.0"
|
||||
dart: ">=3.1.0-185.0.dev <4.0.0"
|
||||
flutter: ">=3.3.0"
|
||||
|
|
|
@ -11,10 +11,12 @@ class Avatar extends StatelessWidget {
|
|||
Key? key,
|
||||
this.user,
|
||||
this.size = 100,
|
||||
this.avatarBackgroundColor,
|
||||
}) : super(key: key);
|
||||
|
||||
final User? user;
|
||||
final double size;
|
||||
final Color? avatarBackgroundColor;
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
|
@ -28,9 +30,10 @@ class Avatar extends StatelessWidget {
|
|||
height: size,
|
||||
decoration: BoxDecoration(
|
||||
shape: BoxShape.circle,
|
||||
color: !hasImage && hasNames
|
||||
color: avatarBackgroundColor ??
|
||||
(!hasImage && hasNames
|
||||
? _generateColorWithIntials(user!.firstName, user!.lastName)
|
||||
: null,
|
||||
: null),
|
||||
image: hasImage
|
||||
? DecorationImage(
|
||||
image: imageProvider,
|
||||
|
|
|
@ -15,10 +15,12 @@ class AvatarWrapper extends StatelessWidget {
|
|||
this.size = 100,
|
||||
this.textStyle,
|
||||
this.customAvatar,
|
||||
this.avatarBackgroundColor,
|
||||
}) : super(key: key);
|
||||
|
||||
final User user;
|
||||
final Widget? customAvatar;
|
||||
final Color? avatarBackgroundColor;
|
||||
final bool showName;
|
||||
final EdgeInsets padding;
|
||||
final TextStyle? textStyle;
|
||||
|
@ -30,6 +32,7 @@ class AvatarWrapper extends StatelessWidget {
|
|||
Avatar(
|
||||
user: user,
|
||||
size: size,
|
||||
avatarBackgroundColor: avatarBackgroundColor,
|
||||
);
|
||||
|
||||
return showName
|
||||
|
|
|
@ -35,6 +35,7 @@ class ProfilePage extends StatefulWidget {
|
|||
this.style = const ProfileStyle(),
|
||||
this.customAvatar,
|
||||
this.showAvatar = true,
|
||||
this.avatarBackgroundColor,
|
||||
this.showItems = true,
|
||||
this.itemBuilder,
|
||||
this.itemBuilderOptions,
|
||||
|
@ -62,6 +63,9 @@ class ProfilePage extends StatefulWidget {
|
|||
/// Whether to show the users avatar.
|
||||
final bool showAvatar;
|
||||
|
||||
///The background color of the avatar when no image is available.
|
||||
final Color? avatarBackgroundColor;
|
||||
|
||||
/// Whether you want to show the input fields, sometimes you just want to edit the avatar.
|
||||
final bool showItems;
|
||||
|
||||
|
@ -118,6 +122,7 @@ class _ProfilePageState extends State<ProfilePage> {
|
|||
wrapViewOptions: widget.wrapViewOptions,
|
||||
extraWidgets: widget.extraWidgets,
|
||||
formKey: widget.formKey,
|
||||
avatarBackgroundColor: widget.avatarBackgroundColor,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -20,6 +20,7 @@ class ProfileWrapper extends StatefulWidget {
|
|||
this.style = const ProfileStyle(),
|
||||
this.customAvatar,
|
||||
this.showAvatar = true,
|
||||
this.avatarBackgroundColor,
|
||||
this.itemBuilder,
|
||||
this.itemBuilderOptions,
|
||||
this.wrapViewOptions,
|
||||
|
@ -38,6 +39,7 @@ class ProfileWrapper extends StatefulWidget {
|
|||
final ProfileStyle style;
|
||||
final Widget? customAvatar;
|
||||
final bool showAvatar;
|
||||
final Color? avatarBackgroundColor;
|
||||
final String? bottomActionText;
|
||||
final ItemBuilder? itemBuilder;
|
||||
final WrapViewOptions? wrapViewOptions;
|
||||
|
@ -206,6 +208,7 @@ class _ProfileWrapperState extends State<ProfileWrapper> {
|
|||
),
|
||||
),
|
||||
child: AvatarWrapper(
|
||||
avatarBackgroundColor: widget.avatarBackgroundColor,
|
||||
user: widget.user,
|
||||
textStyle: widget.style.avatarTextStyle,
|
||||
customAvatar: _isUploadingImage
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
name: flutter_profile
|
||||
description: Flutter profile package
|
||||
version: 1.0.5
|
||||
version: 1.1.5
|
||||
repository: https://github.com/Iconica-Development/flutter_profile
|
||||
|
||||
environment:
|
||||
|
|
Loading…
Reference in a new issue