diff --git a/lib/widgets/auth/method_type_card.dart b/lib/widgets/auth/method_type_card.dart index 6d091756..34b5938c 100644 --- a/lib/widgets/auth/method_type_card.dart +++ b/lib/widgets/auth/method_type_card.dart @@ -1,21 +1,91 @@ +import 'package:doctor_app_flutter/config/size_config.dart'; import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart'; import 'package:flutter/material.dart'; +import 'package:flutter_svg/flutter_svg.dart'; import 'package:hexcolor/hexcolor.dart'; +// class MethodTypeCard extends StatelessWidget { +// const MethodTypeCard({ +// Key key, +// this.assetPath, +// this.onTap, +// this.label, this.height = 20, this.isSvg = true, +// }) : super(key: key); +// final String assetPath; +// final Function onTap; +// final String label; +// final double height; +// final bool isSvg; +// +// @override +// Widget build(BuildContext context) { +// return InkWell( +// onTap: onTap, +// child: Container( +// margin: EdgeInsets.all(10), +// decoration: BoxDecoration( +// color: Colors.white, +// borderRadius: BorderRadius.all( +// Radius.circular(10), +// ), +// border: Border.all( +// color: HexColor('#707070'), +// width: 0.1), +// ), +// height: 170, +// child: Padding( +// padding: EdgeInsets.fromLTRB(20, 15, 20, 15), +// child: Column( +// mainAxisAlignment: MainAxisAlignment.center, +// crossAxisAlignment: CrossAxisAlignment.start, +// children: [ +// Row( +// children: [ +// isSvg?SvgPicture.asset(assetPath, height: 60, +// width: 60,):Image.asset( +// assetPath, +// height: 60, +// width: 60, +// ), +// ], +// ), +// SizedBox( +// height:height , +// ), +// AppText( +// label, +// fontSize: 14, +// color: Color(0xFF2E303A), +// fontWeight: FontWeight.bold, +// ) +// ], +// ), +// )), +// ); +// } +// } +// +// +// + class MethodTypeCard extends StatelessWidget { const MethodTypeCard({ Key key, - this.assetPath, - this.onTap, - this.label, this.height = 20, + this.assetPath, + this.onTap, + this.label, + this.height = 20, this.isSvg = true, }) : super(key: key); final String assetPath; - final Function onTap; + final GestureTapCallback onTap; final String label; final double height; + final bool isSvg; + @override Widget build(BuildContext context) { + double cardHeight = SizeConfig.heightMultiplier * (SizeConfig.isHeightVeryShort? 22 : SizeConfig.isHeightLarge?25:20); return InkWell( onTap: onTap, child: Container( @@ -25,38 +95,37 @@ class MethodTypeCard extends StatelessWidget { borderRadius: BorderRadius.all( Radius.circular(10), ), - border: Border.all( - color: HexColor('#707070'), - width: 0.1), + border: Border.all(color: HexColor('#707070'), width: 0.1), ), - height: 170, + height: cardHeight, child: Padding( - padding: EdgeInsets.fromLTRB(20, 15, 20, 15), - child: Column( - mainAxisAlignment: MainAxisAlignment.center, - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Row( - children: [ - Image.asset( - assetPath, - height: 60, - width: 60, - ), - ], - ), - SizedBox( - height:height , - ), - AppText( - label, - fontSize: 14, - color: Color(0xFF2E303A), - fontWeight: FontWeight.bold, - ) - ], + padding: const EdgeInsets.all(12.0), + child: Center( + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + isSvg?SvgPicture.asset(assetPath, width: SizeConfig.widthMultiplier* (14), + height: cardHeight * 0.20): Image.asset( + assetPath, + width: SizeConfig.widthMultiplier* (12), + height: cardHeight * 0.35, + // height: , + ), + SizedBox( + height: height, + ), + AppText( + label, + fontSize: SizeConfig.getTextMultiplierBasedOnWidth()* (SizeConfig.isHeightVeryShort?3:3.7), + color: Color(0xFF2B353E), + fontWeight: FontWeight.w700, + ) + ], + ), ), )), ); } } + diff --git a/lib/widgets/auth/verification_methods_list.dart b/lib/widgets/auth/verification_methods_list.dart index 27dbe8bf..97fbb42b 100644 --- a/lib/widgets/auth/verification_methods_list.dart +++ b/lib/widgets/auth/verification_methods_list.dart @@ -37,7 +37,7 @@ class _VerificationMethodsListState extends State { switch (widget.authMethodType) { case AuthMethodTypes.WhatsApp: return MethodTypeCard( - assetPath: 'assets/images/verify-whtsapp.png', + assetPath: 'assets/images/svgs/verification/verify-whtsapp.svg', onTap: () => {widget.authenticateUser(AuthMethodTypes.WhatsApp, true)}, label: TranslationBase @@ -47,7 +47,7 @@ class _VerificationMethodsListState extends State { break; case AuthMethodTypes.SMS: return MethodTypeCard( - assetPath: "assets/images/verify-sms.png", + assetPath: "assets/images/svgs/verification/verify-sms.svg", onTap: () => {widget.authenticateUser(AuthMethodTypes.SMS, true)}, label:TranslationBase .of(context) @@ -56,7 +56,7 @@ class _VerificationMethodsListState extends State { break; case AuthMethodTypes.Fingerprint: return MethodTypeCard( - assetPath: 'assets/images/verification_fingerprint_icon.png', + assetPath: 'assets/images/svgs/verification/verify-finger.svg', onTap: () async { if (await widget.authenticationViewModel .checkIfBiometricAvailable(BiometricType.fingerprint)) { @@ -71,7 +71,7 @@ class _VerificationMethodsListState extends State { break; case AuthMethodTypes.FaceID: return MethodTypeCard( - assetPath: 'assets/images/verification_faceid_icon.png', + assetPath: 'assets/images/svgs/verification/verify-face.svg', onTap: () async { if (await widget.authenticationViewModel .checkIfBiometricAvailable(BiometricType.face)) { @@ -88,6 +88,7 @@ class _VerificationMethodsListState extends State { return MethodTypeCard( assetPath: 'assets/images/login/more_icon.png', onTap: widget.onShowMore, + isSvg: false, label: TranslationBase.of(context).moreVerification, height: 0, ); diff --git a/pubspec.lock b/pubspec.lock index 3f1537d3..55c25acc 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -516,7 +516,7 @@ packages: source: hosted version: "0.3.4" flutter_svg: - dependency: transitive + dependency: "direct main" description: name: flutter_svg url: "https://pub.dartlang.org" diff --git a/pubspec.yaml b/pubspec.yaml index 6423a46c..db678f9e 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -60,7 +60,7 @@ dependencies: # Use with the CupertinoIcons class for iOS style icons. cupertino_icons: ^0.1.2 # SVG - #flutter_svg: ^0.17.4 + flutter_svg: ^0.18.1 percent_indicator: ^2.1.1 #Dependency Injection @@ -130,6 +130,7 @@ flutter: - assets/images/ - assets/images/dashboard/ - assets/images/login/ + - assets/images/svgs/verification/ - assets/images/patient/ - assets/images/patient/vital_signs/