diff --git a/.gitignore b/.gitignore index e9dc58d..0889ff4 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,6 @@ .pub/ build/ + +.vscode +.idea diff --git a/example/assets/profilpic.png b/example/assets/profilpic.png new file mode 100644 index 0000000..df43ec5 Binary files /dev/null and b/example/assets/profilpic.png differ diff --git a/example/lib/main.dart b/example/lib/main.dart index 86970db..6129a1f 100644 --- a/example/lib/main.dart +++ b/example/lib/main.dart @@ -2,9 +2,7 @@ import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:babstrap_settings_screen/babstrap_settings_screen.dart'; -void main() { - runApp(MyApp()); -} +void main() => runApp(MyApp()); class MyApp extends StatelessWidget { const MyApp({Key? key}) : super(key: key); @@ -17,7 +15,10 @@ class MyApp extends StatelessWidget { appBar: AppBar( title: Text( "Settings", - style: TextStyle(color: Colors.black, fontWeight: FontWeight.bold), + style: TextStyle( + color: Colors.black, + fontWeight: FontWeight.bold, + ), ), centerTitle: true, backgroundColor: Colors.transparent, diff --git a/example/pubspec.yaml b/example/pubspec.yaml index 039f2fc..03294b7 100644 --- a/example/pubspec.yaml +++ b/example/pubspec.yaml @@ -40,8 +40,8 @@ flutter: uses-material-design: true # To add assets to your application, add an assets section, like this: - # assets: - # - images/a_dot_burr.jpeg + assets: + - assets/ # - images/a_dot_ham.jpeg # An image asset can refer to one or more resolution-specific "variants", see diff --git a/lib/src/babs_component_big_user_card.dart b/lib/src/babs_component_big_user_card.dart index 0a31ae6..2e031e7 100644 --- a/lib/src/babs_component_big_user_card.dart +++ b/lib/src/babs_component_big_user_card.dart @@ -3,10 +3,10 @@ import 'package:flutter/material.dart'; class BigUserCard extends StatelessWidget { final Color? backgroundColor; final Color? settingColor; - final double? cardRadius; - final Color? backgroundMotifColor; + final double cardRadius; + final Color backgroundMotifColor; final Widget? cardActionWidget; - final String? userName; + final String userName; final Widget? userMoreInfo; final ImageProvider userProfilePic; @@ -29,8 +29,9 @@ class BigUserCard extends StatelessWidget { margin: EdgeInsets.only(bottom: 20), decoration: BoxDecoration( color: backgroundColor ?? Theme.of(context).cardColor, - borderRadius: - BorderRadius.circular(double.parse(cardRadius!.toString())), + borderRadius: BorderRadius.circular( + double.parse(cardRadius.toString()), + ), ), child: Stack( children: [ @@ -38,14 +39,14 @@ class BigUserCard extends StatelessWidget { alignment: Alignment.bottomLeft, child: CircleAvatar( radius: 100, - backgroundColor: backgroundMotifColor!.withOpacity(.1), + backgroundColor: backgroundMotifColor.withOpacity(.1), ), ), Align( alignment: Alignment.center, child: CircleAvatar( radius: 400, - backgroundColor: backgroundMotifColor!.withOpacity(.05), + backgroundColor: backgroundMotifColor.withOpacity(.05), ), ), Container( @@ -73,7 +74,7 @@ class BigUserCard extends StatelessWidget { mainAxisAlignment: MainAxisAlignment.center, children: [ Text( - userName!, + userName, style: TextStyle( fontWeight: FontWeight.bold, fontSize: mediaQueryHeight / 30, diff --git a/lib/src/babs_component_settings_group.dart b/lib/src/babs_component_settings_group.dart index 6babaae..a661aeb 100644 --- a/lib/src/babs_component_settings_group.dart +++ b/lib/src/babs_component_settings_group.dart @@ -9,18 +9,18 @@ class SettingsGroup extends StatelessWidget { final TextStyle? settingsGroupTitleStyle; final List items; // Icons size - final double? iconItemSize; + final double iconItemSize; - SettingsGroup( - {this.settingsGroupTitle, - this.settingsGroupTitleStyle, - required this.items, - this.iconItemSize = 25}); + SettingsGroup({ + this.settingsGroupTitle, + this.settingsGroupTitleStyle, + required this.items, + this.iconItemSize = 25, + }); @override Widget build(BuildContext context) { - if (this.iconItemSize != null) - SettingsScreenUtils.settingsGroupIconSize = iconItemSize; + SettingsScreenUtils.settingsGroupIconSize = iconItemSize; return Container( margin: EdgeInsets.only(bottom: 20), @@ -46,13 +46,9 @@ class SettingsGroup extends StatelessWidget { borderRadius: BorderRadius.circular(15), ), child: ListView.separated( - separatorBuilder: (context, index) { - return Divider(); - }, + separatorBuilder: (context, index) => Divider(), itemCount: items.length, - itemBuilder: (BuildContext context, int index) { - return items[index]; - }, + itemBuilder: (BuildContext context, int index) => items[index], shrinkWrap: true, padding: EdgeInsets.zero, physics: ScrollPhysics(), diff --git a/lib/src/babs_component_settings_item.dart b/lib/src/babs_component_settings_item.dart index 665cfc1..328d60d 100644 --- a/lib/src/babs_component_settings_item.dart +++ b/lib/src/babs_component_settings_item.dart @@ -13,16 +13,17 @@ class SettingsItem extends StatelessWidget { final VoidCallback? onTap; final Color? backgroundColor; - SettingsItem( - {required this.icons, - this.iconStyle, - required this.title, - this.titleStyle, - this.subtitle, - this.subtitleStyle, - this.backgroundColor, - this.trailing, - this.onTap}); + SettingsItem({ + required this.icons, + this.iconStyle, + required this.title, + this.titleStyle, + this.subtitle, + this.subtitleStyle, + this.backgroundColor, + this.trailing, + this.onTap, + }); @override Widget build(BuildContext context) { @@ -30,11 +31,11 @@ class SettingsItem extends StatelessWidget { borderRadius: BorderRadius.circular(15), child: ListTile( onTap: onTap, - leading: (iconStyle != null && iconStyle!.withBackground!) + leading: (iconStyle != null && iconStyle!.withBackground) ? Container( decoration: BoxDecoration( color: iconStyle!.backgroundColor, - borderRadius: BorderRadius.circular(iconStyle!.borderRadius!), + borderRadius: BorderRadius.circular(iconStyle!.borderRadius), ), padding: EdgeInsets.all(5), child: Icon( diff --git a/lib/src/babs_component_simple_user_card.dart b/lib/src/babs_component_simple_user_card.dart index 89ddac5..16f735b 100644 --- a/lib/src/babs_component_simple_user_card.dart +++ b/lib/src/babs_component_simple_user_card.dart @@ -3,7 +3,7 @@ import 'package:flutter/material.dart'; class SimpleUserCard extends StatelessWidget { final ImageProvider userProfilePic; final String userName; - final double? imageRadius; + final double imageRadius; final Widget? userMoreInfo; final VoidCallback? onTap; final TextStyle? textStyle; @@ -36,7 +36,7 @@ class SimpleUserCard extends StatelessWidget { child: Stack( children: [ ClipRRect( - borderRadius: BorderRadius.circular(imageRadius!), + borderRadius: BorderRadius.circular(imageRadius), child: Image( image: userProfilePic, fit: BoxFit.cover, diff --git a/lib/src/babs_component_small_user_card.dart b/lib/src/babs_component_small_user_card.dart index 3a26e16..18901e2 100644 --- a/lib/src/babs_component_small_user_card.dart +++ b/lib/src/babs_component_small_user_card.dart @@ -1,11 +1,11 @@ import 'package:flutter/material.dart'; class SmallUserCard extends StatelessWidget { - final Color? cardColor; - final double? cardRadius; - final Color? backgroundMotifColor; - final VoidCallback? onTap; - final String? userName; + final Color cardColor; + final double cardRadius; + final Color backgroundMotifColor; + final VoidCallback onTap; + final String userName; final Widget? userMoreInfo; final ImageProvider userProfilePic; @@ -30,8 +30,9 @@ class SmallUserCard extends StatelessWidget { margin: EdgeInsets.only(bottom: 20), decoration: BoxDecoration( color: cardColor, - borderRadius: - BorderRadius.circular(double.parse(cardRadius!.toString())), + borderRadius: BorderRadius.circular( + double.parse(cardRadius.toString()), + ), ), child: Stack( children: [ @@ -39,14 +40,14 @@ class SmallUserCard extends StatelessWidget { alignment: Alignment.bottomLeft, child: CircleAvatar( radius: 100, - backgroundColor: backgroundMotifColor!.withOpacity(.1), + backgroundColor: backgroundMotifColor.withOpacity(.1), ), ), Align( alignment: Alignment.center, child: CircleAvatar( radius: 400, - backgroundColor: backgroundMotifColor!.withOpacity(.05), + backgroundColor: backgroundMotifColor.withOpacity(.05), ), ), Container( @@ -71,7 +72,7 @@ class SmallUserCard extends StatelessWidget { mainAxisAlignment: MainAxisAlignment.center, children: [ Text( - userName!, + userName, style: TextStyle( fontWeight: FontWeight.bold, fontSize: 26, diff --git a/lib/src/icon_style.dart b/lib/src/icon_style.dart index 09f7d2f..e4c847c 100644 --- a/lib/src/icon_style.dart +++ b/lib/src/icon_style.dart @@ -1,18 +1,15 @@ import 'package:flutter/material.dart'; class IconStyle { - Color? iconsColor; - bool? withBackground; - Color? backgroundColor; - double? borderRadius; + final Color iconsColor; + final bool withBackground; + final Color backgroundColor; + final double borderRadius; IconStyle({ - iconsColor = Colors.white, - withBackground = true, - backgroundColor = Colors.blue, - borderRadius = 8, - }) : this.iconsColor = iconsColor, - this.withBackground = withBackground, - this.backgroundColor = backgroundColor, - this.borderRadius = double.parse(borderRadius!.toString()); + this.iconsColor = Colors.white, + this.withBackground = true, + this.backgroundColor = Colors.blue, + this.borderRadius = 8, + }); }