From e61c26b85356c321b778c70ad0adab4792aaa137 Mon Sep 17 00:00:00 2001 From: Sultan Khan Date: Tue, 2 Mar 2021 11:33:20 +0300 Subject: [PATCH] Auto SMS, Themes, Voice Command --- assets/images/soundWaveAnimation.gif | Bin 0 -> 134661 bytes lib/config/config.dart | 4 +- lib/main.dart | 120 +++++--- .../send_activation_request.dart | 7 +- lib/pages/landing/landing_page.dart | 54 +--- lib/pages/login/confirm-login.dart | 1 + lib/pages/settings/general_setting.dart | 194 ++---------- lib/pages/settings/profile_setting.dart | 16 +- lib/pages/settings/settings.dart | 5 +- lib/theme/colors.dart | 11 + lib/theme/config.dart | 3 + lib/theme/custom_theme.dart | 89 ++++++ lib/theme/theme_notifier.dart | 9 +- lib/theme/theme_value.dart | 152 +++++++--- lib/widgets/data_display/text.dart | 3 +- lib/widgets/drawer/app_drawer_widget.dart | 10 + lib/widgets/drawer/drawer_item_widget.dart | 15 +- lib/widgets/others/app_scaffold_widget.dart | 10 +- lib/widgets/others/arrow_back.dart | 3 +- .../others/floating_button_search.dart | 11 +- lib/widgets/otp/sms-popup.dart | 286 ++++++++++-------- lib/widgets/text/app_texts_widget.dart | 17 +- lib/widgets/typewriter/typewiter.dart | 5 +- pubspec.yaml | 4 +- 24 files changed, 564 insertions(+), 465 deletions(-) create mode 100644 assets/images/soundWaveAnimation.gif create mode 100644 lib/theme/colors.dart create mode 100644 lib/theme/config.dart create mode 100644 lib/theme/custom_theme.dart diff --git a/assets/images/soundWaveAnimation.gif b/assets/images/soundWaveAnimation.gif new file mode 100644 index 0000000000000000000000000000000000000000..730e27ebeda0e02b8dae7f0e2103e34dac423919 GIT binary patch literal 134661 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 fsJ>De-c|qlv9F(create: (context) => ThemeNotifier(defaultTheme), child: MyApp())); + runApp(MyApp()); } -class MyApp extends StatelessWidget { +class MyApp extends StatefulWidget { + @override + _MyApp createState() => new _MyApp(); +} + +class _MyApp extends State { + @override + void initState() { + // ProjectViewModel projectProvider; + // projectProvider = Provider.of(context); + // var font = projectProvider.isArabic ? 'Cairo' : 'WorkSans'; + ThemeNotifier(defaultTheme()); + super.initState(); + } + @override Widget build(BuildContext context) { PlatformBridge.init(context); - LocalNotification.init(onNotificationClick: (payload){ - LocalNotification.getInstance().showNow(title: "Payload", subtitle: payload, payload: payload); + LocalNotification.init(onNotificationClick: (payload) { + LocalNotification.getInstance() + .showNow(title: "Payload", subtitle: payload, payload: payload); }); - final themeNotifier = Provider.of(context); + // final themeNotifier = Provider.of(context); precacheImage(AssetImage('assets/images/powerd-by.jpg'), context); return LayoutBuilder( builder: (context, constraints) { @@ -46,11 +62,15 @@ class MyApp extends StatelessWidget { ChangeNotifierProvider( create: (context) => ProjectViewModel(), ), - ChangeNotifierProvider(create: (context) => ToDoCountProviderModel()), - ChangeNotifierProvider(create: (context) => SearchProvider()), + ChangeNotifierProvider( + create: (context) => ToDoCountProviderModel()), + ChangeNotifierProvider( + create: (context) => SearchProvider()), ChangeNotifierProvider.value( value: SearchProvider(), ), + ChangeNotifierProvider( + create: (context) => ThemeNotifier(defaultTheme())), StreamProvider.value( value: RobotProvider().intStream(), initialData: RobotProvider().setValue({}), @@ -60,7 +80,6 @@ class MyApp extends StatelessWidget { ], child: Consumer( builder: (context, projectProvider, child) => MaterialApp( - showSemanticsDebugger: false, title: 'Diplomatic Quarter App', locale: projectProvider.appLocal, @@ -74,47 +93,50 @@ class MyApp extends StatelessWidget { const Locale('ar', ''), // Arabic const Locale('en', ''), // English ], - theme: ThemeData( - fontFamily: projectProvider.isArabic ? 'Cairo' : 'WorkSans', - primarySwatch: Colors.blue, - visualDensity: VisualDensity.adaptivePlatformDensity, - brightness: Brightness.light, - pageTransitionsTheme: const PageTransitionsTheme( - builders: { - TargetPlatform.android: ZoomPageTransitionsBuilder(), - TargetPlatform.iOS: CupertinoPageTransitionsBuilder(), - }, - ), - hintColor: Colors.grey[400], - textTheme: TextTheme( - headline1: TextStyle( - color: Color(0xffB8382C), - ), - ), - disabledColor: Colors.grey[300], - errorColor: Color.fromRGBO(235, 80, 60, 1.0), - scaffoldBackgroundColor: Color(0xffE9E9E9), // Colors.grey[100], - textSelectionColor: Color.fromRGBO(80, 100, 253, 0.5), - textSelectionHandleColor: Colors.grey, - canvasColor: Colors.white, - backgroundColor: Color.fromRGBO(255, 255, 255, 1), - highlightColor: Colors.grey[100].withOpacity(0.4), - splashColor: Colors.transparent, - primaryColor: Color(0xff515A5D), - toggleableActiveColor: secondaryColor, - indicatorColor: secondaryColor, - bottomSheetTheme: BottomSheetThemeData(backgroundColor: HexColor('#E0E0E0')), - cursorColor: Colors.grey, - iconTheme: IconThemeData(), - appBarTheme: AppBarTheme( - color: Color(0xff515A5D), - brightness: Brightness.light, - elevation: 0.0, - actionsIconTheme: IconThemeData( - color: Colors.grey[800], - ), - ), - ), + theme: Provider.of(context).getTheme(), + // theme: ThemeData( + // fontFamily: projectProvider.isArabic ? 'Cairo' : 'WorkSans', + // primarySwatch: Colors.blue, + // visualDensity: VisualDensity.adaptivePlatformDensity, + // brightness: Brightness.light, + // pageTransitionsTheme: const PageTransitionsTheme( + // builders: { + // TargetPlatform.android: ZoomPageTransitionsBuilder(), + // TargetPlatform.iOS: CupertinoPageTransitionsBuilder(), + // }, + // ), + // hintColor: Colors.grey[400], + // textTheme: TextTheme( + // headline1: TextStyle( + // color: Color(0xffB8382C), + // ), + // ), + // disabledColor: Colors.grey[300], + // errorColor: Color.fromRGBO(235, 80, 60, 1.0), + // scaffoldBackgroundColor: + // Color(0xffE9E9E9), // Colors.grey[100], + // textSelectionColor: Color.fromRGBO(80, 100, 253, 0.5), + // textSelectionHandleColor: Colors.grey, + // canvasColor: Colors.white, + // backgroundColor: Color.fromRGBO(255, 255, 255, 1), + // highlightColor: Colors.grey[100].withOpacity(0.4), + // splashColor: Colors.transparent, + // primaryColor: Color(0xff515A5D), + // toggleableActiveColor: secondaryColor, + // indicatorColor: secondaryColor, + // bottomSheetTheme: BottomSheetThemeData( + // backgroundColor: HexColor('#E0E0E0')), + // cursorColor: Colors.grey, + // iconTheme: IconThemeData(), + // appBarTheme: AppBarTheme( + // color: Color(0xff515A5D), + // brightness: Brightness.light, + // elevation: 0.0, + // actionsIconTheme: IconThemeData( + // color: Colors.grey[800], + // ), + // ), + // ), initialRoute: SPLASH, routes: routes, debugShowCheckedModeBanner: false, diff --git a/lib/models/Authentication/send_activation_request.dart b/lib/models/Authentication/send_activation_request.dart index b53e19b8..f9b386c6 100644 --- a/lib/models/Authentication/send_activation_request.dart +++ b/lib/models/Authentication/send_activation_request.dart @@ -21,7 +21,7 @@ class SendActivationRequest { Null sessionID; bool isDentalAllowedBackend; int deviceTypeID; - + String sMSSignature; SendActivationRequest( {this.patientMobileNumber, this.mobileNo, @@ -44,7 +44,8 @@ class SendActivationRequest { this.patientOutSA, this.sessionID, this.isDentalAllowedBackend, - this.deviceTypeID}); + this.deviceTypeID, + this.sMSSignature}); SendActivationRequest.fromJson(Map json) { patientMobileNumber = json['PatientMobileNumber']; @@ -69,6 +70,7 @@ class SendActivationRequest { sessionID = json['SessionID']; isDentalAllowedBackend = json['isDentalAllowedBackend']; deviceTypeID = json['DeviceTypeID']; + sMSSignature = json['SMSSignature']; } Map toJson() { @@ -95,6 +97,7 @@ class SendActivationRequest { data['SessionID'] = this.sessionID; data['isDentalAllowedBackend'] = this.isDentalAllowedBackend; data['DeviceTypeID'] = this.deviceTypeID; + data['SMSSignature'] = sMSSignature; return data; } } diff --git a/lib/pages/landing/landing_page.dart b/lib/pages/landing/landing_page.dart index deb20bd9..704aef54 100644 --- a/lib/pages/landing/landing_page.dart +++ b/lib/pages/landing/landing_page.dart @@ -339,47 +339,6 @@ class _LandingPageState extends State with WidgetsBindingObserver { return permissionResults; } - setTheme() async { - // - // defaultTheme = - // ThemeData( - // fontFamily:projectViewModel.isArabic ? 'Cairo' : 'WorkSans', - // primarySwatch: Colors.blue, - // visualDensity: VisualDensity.adaptivePlatformDensity, - // brightness: Brightness.light, - // pageTransitionsTheme: const PageTransitionsTheme( - // builders: { - // TargetPlatform.android: ZoomPageTransitionsBuilder(), - // TargetPlatform.iOS: CupertinoPageTransitionsBuilder(), - // }, - // ), - // hintColor: Colors.grey[400], - // disabledColor: Colors.grey[300], - // errorColor: Color.fromRGBO(235, 80, 60, 1.0), - // scaffoldBackgroundColor: Color(0xffEEEEEE), - // textSelectionColor: Color.fromRGBO(80, 100, 253, 0.5), - // textSelectionHandleColor: Colors.grey, - // canvasColor: Colors.white, - // backgroundColor: Colors.white, - // highlightColor: Colors.grey[100].withOpacity(0.4), - // splashColor: Colors.transparent, - // primaryColor: Color(0xff40ACC9), - // bottomSheetTheme: BottomSheetThemeData(backgroundColor: Color(0xffE0E0E0)), - // cursorColor: Colors.grey, - // cardColor: Colors.white, - // iconTheme: IconThemeData(), - // appBarTheme: AppBarTheme( - // color: Color(0xff40ACC9), - // brightness: Brightness.dark, - // elevation: 10.0, - // actionsIconTheme: IconThemeData( - // color: Color(0xff40ACC9), - // ), - // ), - // ); - // themeNotifier.setTheme(defaultTheme); - } - static Future myBackgroundMessageHandler( Map message) async { Map myMap = new Map.from(message['data']); @@ -494,14 +453,15 @@ class _LandingPageState extends State with WidgetsBindingObserver { appBar: AppBar( elevation: 0, textTheme: TextTheme( - headline6: - TextStyle(color: Colors.white, fontWeight: FontWeight.bold), + headline6: TextStyle( + color: Theme.of(context).textTheme.headline1.color, + fontWeight: FontWeight.bold), ), title: Text( getText(currentTab).toUpperCase(), style: TextStyle( fontWeight: FontWeight.bold, - color: Colors.white, + color: Theme.of(context).textTheme.headline1.color, fontFamily: projectViewModel.isArabic ? 'Cairo' : 'WorkSans'), // bold: true, // color: Colors.white, @@ -513,12 +473,12 @@ class _LandingPageState extends State with WidgetsBindingObserver { currentTab == 0 ? IconButton( icon: Icon(Icons.menu), - color: Colors.white, + color: Theme.of(context).textTheme.headline1.color, onPressed: () => Scaffold.of(context).openDrawer(), ) : IconButton( icon: Icon(Icons.arrow_back), - color: Colors.white, + color: Theme.of(context).textTheme.headline1.color, onPressed: () { setState(() { currentTab = 0; @@ -561,7 +521,7 @@ class _LandingPageState extends State with WidgetsBindingObserver { //iconSize: 70, icon: Icon( projectViewModel.isLogin ? Icons.settings : Icons.login, - color: Colors.white, + color: Theme.of(context).textTheme.headline1.color, ), onPressed: () { if (projectViewModel.isLogin) diff --git a/lib/pages/login/confirm-login.dart b/lib/pages/login/confirm-login.dart index dd749e98..851c7729 100644 --- a/lib/pages/login/confirm-login.dart +++ b/lib/pages/login/confirm-login.dart @@ -353,6 +353,7 @@ class _ConfirmLogin extends State { sendActivationCode(type) async { var request = this.getCommonRequest(type: type); + request.sMSSignature = await SMSOTP.getSignature(); GifLoaderDialogUtils.showMyDialog(context); await this.authService.sendActivationCode(request).then((result) { GifLoaderDialogUtils.hideDialog(context); diff --git a/lib/pages/settings/general_setting.dart b/lib/pages/settings/general_setting.dart index 6ce64d15..14f24181 100644 --- a/lib/pages/settings/general_setting.dart +++ b/lib/pages/settings/general_setting.dart @@ -1,4 +1,5 @@ import 'package:diplomaticquarterapp/config/shared_pref_kay.dart'; +import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart'; import 'package:diplomaticquarterapp/services/permission/permission_service.dart'; import 'package:diplomaticquarterapp/theme/theme_notifier.dart'; import 'package:diplomaticquarterapp/theme/theme_value.dart'; @@ -39,15 +40,15 @@ class _GeneralSettings extends State return Container( child: ListView(scrollDirection: Axis.vertical, children: [ Container( + color: Theme.of(context).primaryColor, padding: EdgeInsets.all(10), child: AppText( TranslationBase.of(context).modes, - color: Colors.black, fontWeight: FontWeight.bold, ), ), Container( - color: Colors.white, + color: Theme.of(context).primaryColor, padding: EdgeInsets.all(10), child: Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, @@ -67,7 +68,7 @@ class _GeneralSettings extends State ], )), Container( - color: Colors.white, + color: Theme.of(context).primaryColor, padding: EdgeInsets.all(10), child: Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, @@ -87,15 +88,15 @@ class _GeneralSettings extends State ], )), Container( + color: Theme.of(context).primaryColor, padding: EdgeInsets.all(10), child: AppText( TranslationBase.of(context).blindMode, - color: Colors.black, fontWeight: FontWeight.bold, ), ), new Container( - color: Colors.white, + color: Theme.of(context).primaryColor, padding: EdgeInsets.all(8.0), child: new Column( mainAxisAlignment: MainAxisAlignment.center, @@ -178,15 +179,15 @@ class _GeneralSettings extends State ) ])), Container( + color: Theme.of(context).primaryColor, padding: EdgeInsets.all(10), child: AppText( TranslationBase.of(context).permissions, - color: Colors.black, fontWeight: FontWeight.bold, ), ), Container( - color: Colors.white, + color: Theme.of(context).primaryColor, padding: EdgeInsets.all(10), child: Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, @@ -205,7 +206,7 @@ class _GeneralSettings extends State ], )), Container( - color: Colors.white, + color: Theme.of(context).primaryColor, padding: EdgeInsets.all(10), child: Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, @@ -236,46 +237,9 @@ class _GeneralSettings extends State break; case 1: { - themeNotifier.setTheme(ThemeData( - //fontFamily: await sharedPref.getString(APP_LANGUAGE) == 'ar' ? 'Cairo' : 'WorkSans', - primarySwatch: Colors.grey, - visualDensity: VisualDensity.adaptivePlatformDensity, - brightness: Brightness.light, - pageTransitionsTheme: const PageTransitionsTheme( - builders: { - TargetPlatform.android: ZoomPageTransitionsBuilder(), - TargetPlatform.iOS: CupertinoPageTransitionsBuilder(), - }, - ), - hintColor: Colors.grey[400], - cardColor: Colors.black, - buttonColor: Colors.grey[400], - disabledColor: Colors.grey[300], - errorColor: Color.fromRGBO(235, 80, 60, 1.0), - scaffoldBackgroundColor: Colors.grey, - textSelectionColor: Color.fromRGBO(80, 100, 253, 0.5), - textSelectionHandleColor: Colors.grey, - canvasColor: Colors.white, - backgroundColor: Colors.grey, - highlightColor: Colors.grey[100].withOpacity(0.4), - splashColor: Colors.transparent, - primaryColor: Colors.grey, - bottomSheetTheme: - BottomSheetThemeData(backgroundColor: Color(0xffE0E0E0)), - cursorColor: Colors.grey, - - iconTheme: IconThemeData(), - appBarTheme: AppBarTheme( - color: Colors.grey, - brightness: Brightness.dark, - elevation: 10.0, - actionsIconTheme: IconThemeData( - color: Colors.grey, - ), - ), - )); - Screen.setBrightness(1.0); + themeNotifier.setTheme(await getTheme(value)); } + break; case 2: themeNotifier.setTheme(await getTheme(value)); @@ -294,7 +258,7 @@ class _GeneralSettings extends State } break; } - //permission.setTheme(value); + permission.setTheme(value); } setVibration(value) { @@ -307,130 +271,28 @@ class _GeneralSettings extends State } getValues() async { - blindValue = - permission.isThemeEnabled() == null ? 0 : permission.isThemeEnabled(); - vibration = permission.isVibrationEnabled() == null - ? false - : permission.isVibrationEnabled(); - accsibility = mediaQueryData.accessibleNavigation; + if (permission.isThemeEnabled() != null) { + blindValue = + permission.isThemeEnabled() == null ? 0 : permission.isThemeEnabled(); + vibration = permission.isVibrationEnabled() == null + ? false + : permission.isVibrationEnabled(); + accsibility = mediaQueryData.accessibleNavigation; + setTheme(blindValue); + } } getTheme(value) async { if (value == 1) { - return ThemeData( - // fontFamily: await sharedPref.getString(APP_LANGUAGE) == 'ar' ? 'Cairo' : 'WorkSans', - primarySwatch: Colors.grey, - visualDensity: VisualDensity.adaptivePlatformDensity, - brightness: Brightness.light, - pageTransitionsTheme: const PageTransitionsTheme( - builders: { - TargetPlatform.android: ZoomPageTransitionsBuilder(), - TargetPlatform.iOS: CupertinoPageTransitionsBuilder(), - }, - ), - hintColor: Colors.grey[400], - cardColor: Colors.black, - buttonColor: Colors.grey[400], - disabledColor: Colors.grey[300], - errorColor: Color.fromRGBO(235, 80, 60, 1.0), - scaffoldBackgroundColor: Colors.grey, - textSelectionColor: Color.fromRGBO(80, 100, 253, 0.5), - textSelectionHandleColor: Colors.grey, - canvasColor: Colors.white, - backgroundColor: Colors.grey, - highlightColor: Colors.grey[100].withOpacity(0.4), - splashColor: Colors.transparent, - primaryColor: Colors.grey, - bottomSheetTheme: - BottomSheetThemeData(backgroundColor: Color(0xffE0E0E0)), - cursorColor: Colors.grey, - - iconTheme: IconThemeData(), - appBarTheme: AppBarTheme( - color: Colors.grey, - brightness: Brightness.dark, - elevation: 10.0, - actionsIconTheme: IconThemeData( - color: Colors.grey, - ), - ), - ); + return invertThemes(); } else if (value == 3) { - return ThemeData( - // fontFamily: await sharedPref.getString(APP_LANGUAGE) == 'ar' ? 'Cairo' : 'WorkSans', - primarySwatch: Colors.grey, - visualDensity: VisualDensity.adaptivePlatformDensity, - brightness: Brightness.light, - pageTransitionsTheme: const PageTransitionsTheme( - builders: { - TargetPlatform.android: ZoomPageTransitionsBuilder(), - TargetPlatform.iOS: CupertinoPageTransitionsBuilder(), - }, - ), - hintColor: Colors.grey[400], - cardColor: Colors.black, - buttonColor: Colors.grey[400], - disabledColor: Colors.grey[300], - errorColor: Color.fromRGBO(235, 80, 60, 1.0), - scaffoldBackgroundColor: Colors.grey, - textSelectionColor: Color.fromRGBO(80, 100, 253, 0.5), - textSelectionHandleColor: Colors.grey, - canvasColor: Colors.white, - backgroundColor: Colors.grey, - highlightColor: Colors.grey[100].withOpacity(0.4), - splashColor: Colors.transparent, - primaryColor: Colors.grey, - bottomSheetTheme: - BottomSheetThemeData(backgroundColor: Color(0xffE0E0E0)), - cursorColor: Colors.grey, - - iconTheme: IconThemeData(), - appBarTheme: AppBarTheme( - color: Colors.black45, - brightness: Brightness.dark, - elevation: 10.0, - actionsIconTheme: IconThemeData( - color: Colors.grey, - ), - ), - ); + return bwThemes(); } else { - return ThemeData( - //fontFamily: await sharedPref.getString(APP_LANGUAGE) == 'ar' ? 'Cairo' : 'WorkSans', - primarySwatch: Colors.blue, - visualDensity: VisualDensity.adaptivePlatformDensity, - brightness: Brightness.light, - pageTransitionsTheme: const PageTransitionsTheme( - builders: { - TargetPlatform.android: ZoomPageTransitionsBuilder(), - TargetPlatform.iOS: CupertinoPageTransitionsBuilder(), - }, - ), - hintColor: Colors.grey[400], - disabledColor: Colors.grey[300], - errorColor: Color.fromRGBO(235, 80, 60, 1.0), - scaffoldBackgroundColor: Color(0xffEEEEEE), - textSelectionColor: Color.fromRGBO(80, 100, 253, 0.5), - textSelectionHandleColor: Colors.grey, - canvasColor: Colors.white, - backgroundColor: Colors.white, - highlightColor: Colors.grey[100].withOpacity(0.4), - splashColor: Colors.transparent, - primaryColor: Color(0xff40ACC9), - bottomSheetTheme: - BottomSheetThemeData(backgroundColor: Color(0xffE0E0E0)), - cursorColor: Colors.grey, - cardColor: Colors.white, - iconTheme: IconThemeData(), - appBarTheme: AppBarTheme( - color: Color(0xff40ACC9), - brightness: Brightness.dark, - elevation: 10.0, - actionsIconTheme: IconThemeData( - color: Color(0xff40ACC9), - ), - ), - ); + return defaultTheme( + fontName: + Provider.of(context, listen: false).isArabic + ? 'Cairo' + : 'WorkSans'); } } } diff --git a/lib/pages/settings/profile_setting.dart b/lib/pages/settings/profile_setting.dart index dcfdb8a8..833cdf2b 100644 --- a/lib/pages/settings/profile_setting.dart +++ b/lib/pages/settings/profile_setting.dart @@ -14,7 +14,6 @@ import 'package:diplomaticquarterapp/uitl/app_toast.dart'; import 'package:provider/provider.dart'; class ProfileSettings extends StatefulWidget { - @override _ProfileSettings createState() => _ProfileSettings(); } @@ -45,6 +44,7 @@ class _ProfileSettings extends State child: model.user != null ? ListView(scrollDirection: Axis.vertical, children: [ Container( + color: Theme.of(context).primaryColor, padding: EdgeInsets.all(15), child: Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, @@ -74,7 +74,7 @@ class _ProfileSettings extends State padding: EdgeInsets.all(10), ), Container( - color: Colors.white, + color: Theme.of(context).primaryColor, padding: EdgeInsets.only( top: 0, left: 10, right: 10, bottom: 0), child: Row( @@ -93,7 +93,7 @@ class _ProfileSettings extends State ], )), Container( - color: Colors.white, + color: Theme.of(context).primaryColor, padding: EdgeInsets.only( top: 0, left: 10, right: 10, bottom: 0), child: Row( @@ -116,7 +116,7 @@ class _ProfileSettings extends State padding: EdgeInsets.all(10), ), Container( - color: Colors.white, + color: Theme.of(context).primaryColor, padding: EdgeInsets.only( top: 0, left: 10, right: 10, bottom: 0), child: Row( @@ -136,7 +136,7 @@ class _ProfileSettings extends State ], )), Container( - color: Colors.white, + color: Theme.of(context).primaryColor, padding: EdgeInsets.only( top: 0, left: 10, right: 10, bottom: 0), child: Row( @@ -160,7 +160,7 @@ class _ProfileSettings extends State padding: EdgeInsets.all(10), ), Container( - color: Colors.white, + color: Theme.of(context).primaryColor, padding: EdgeInsets.only( top: 0, left: 10, right: 10, bottom: 0), child: Column( @@ -175,7 +175,7 @@ class _ProfileSettings extends State ], )), Container( - color: Colors.white, + color: Theme.of(context).primaryColor, padding: EdgeInsets.only( top: 0, left: 10, right: 10, bottom: 0), child: Column( @@ -190,7 +190,7 @@ class _ProfileSettings extends State ], )), Container( - color: Colors.white, + color: Theme.of(context).primaryColor, padding: EdgeInsets.only( top: 0, left: 10, right: 10, bottom: 0), child: Column( diff --git a/lib/pages/settings/settings.dart b/lib/pages/settings/settings.dart index 0c63b900..b578eb3f 100644 --- a/lib/pages/settings/settings.dart +++ b/lib/pages/settings/settings.dart @@ -21,7 +21,7 @@ class _Settings extends State with TickerProviderStateMixin { _tabController = new TabController(length: 2, vsync: this, initialIndex: widget.type); - if(widget.type==1){ + if (widget.type == 1) { _tabController.animateTo(1); } @@ -51,7 +51,8 @@ class _Settings extends State with TickerProviderStateMixin { controller: _tabController, ), title: Text(TranslationBase.of(context).settings, - style: TextStyle(color: Colors.white)), + style: + TextStyle(color: Theme.of(context).textTheme.bodyText2.color)), leading: Builder( builder: (BuildContext context) { return ArrowBack(); diff --git a/lib/theme/colors.dart b/lib/theme/colors.dart new file mode 100644 index 00000000..893449f1 --- /dev/null +++ b/lib/theme/colors.dart @@ -0,0 +1,11 @@ +import 'package:flutter/material.dart'; + +class CustomColors { + static const Color lightPurple = Color(0xFFBB86FA); + static const Color purple = Color(0xFF6002EE); + static const Color deepPurple = Color(0xFF3900B1); + static const Color grey = Color(0xFF848484); + static const Color darkGrey = Color(0xFF222222); + static const Color black = Color(0xFF141414); + static const Color white = Color(0xFFFFFFFF); +} diff --git a/lib/theme/config.dart b/lib/theme/config.dart new file mode 100644 index 00000000..4c321fb8 --- /dev/null +++ b/lib/theme/config.dart @@ -0,0 +1,3 @@ +// import 'package:diplomaticquarterapp/theme/custom_theme.dart'; + +// CustomTheme currentTheme = CustomTheme(); diff --git a/lib/theme/custom_theme.dart b/lib/theme/custom_theme.dart new file mode 100644 index 00000000..8361ec4e --- /dev/null +++ b/lib/theme/custom_theme.dart @@ -0,0 +1,89 @@ +// import 'package:diplomaticquarterapp/Constants.dart'; +// import 'package:flutter/material.dart'; +// import 'package:hexcolor/hexcolor.dart'; + +// import 'colors.dart'; + +// class CustomTheme with ChangeNotifier { +// static bool _isDarkTheme = true; +// ThemeMode get currentTheme => +// _isDarkTheme ? ThemeMode.dark : ThemeMode.system; + +// void toggleTheme() { +// _isDarkTheme = !_isDarkTheme; +// notifyListeners(); +// } + +// static ThemeData get lightTheme { +// //1 +// return ThemeData( +// //2 +// primaryColor: CustomColors.purple, +// scaffoldBackgroundColor: Colors.white, +// fontFamily: 'Montserrat', //3 +// buttonTheme: ButtonThemeData( +// // 4 +// shape: +// RoundedRectangleBorder(borderRadius: BorderRadius.circular(18.0)), +// buttonColor: CustomColors.lightPurple, +// )); +// } + +// static ThemeData get darkTheme { +// return ThemeData( +// primaryColor: CustomColors.darkGrey, +// scaffoldBackgroundColor: Colors.black, +// fontFamily: 'Montserrat', +// textTheme: ThemeData.dark().textTheme, +// buttonTheme: ButtonThemeData( +// shape: +// RoundedRectangleBorder(borderRadius: BorderRadius.circular(18.0)), +// buttonColor: CustomColors.lightPurple, +// )); +// } + +// static ThemeData get defaultTheme { +// return ThemeData( +// // fontFamily: projectProvider.isArabic ? 'Cairo' : 'WorkSans', +// primarySwatch: Colors.blue, +// visualDensity: VisualDensity.adaptivePlatformDensity, +// brightness: Brightness.light, +// pageTransitionsTheme: const PageTransitionsTheme( +// builders: { +// TargetPlatform.android: ZoomPageTransitionsBuilder(), +// TargetPlatform.iOS: CupertinoPageTransitionsBuilder(), +// }, +// ), +// hintColor: Colors.grey[400], +// textTheme: TextTheme( +// headline1: TextStyle( +// color: Color(0xffB8382C), +// ), +// ), +// disabledColor: Colors.grey[300], +// errorColor: Color.fromRGBO(235, 80, 60, 1.0), +// scaffoldBackgroundColor: Color(0xffE9E9E9), // Colors.grey[100], +// textSelectionColor: Color.fromRGBO(80, 100, 253, 0.5), +// textSelectionHandleColor: Colors.grey, +// canvasColor: Colors.white, +// backgroundColor: Color.fromRGBO(255, 255, 255, 1), +// highlightColor: Colors.grey[100].withOpacity(0.4), +// splashColor: Colors.transparent, +// primaryColor: Color(0xff515A5D), +// toggleableActiveColor: secondaryColor, +// indicatorColor: secondaryColor, +// bottomSheetTheme: +// BottomSheetThemeData(backgroundColor: HexColor('#E0E0E0')), +// cursorColor: Colors.grey, +// iconTheme: IconThemeData(), +// appBarTheme: AppBarTheme( +// color: Color(0xff515A5D), +// brightness: Brightness.light, +// elevation: 0.0, +// actionsIconTheme: IconThemeData( +// color: Colors.grey[800], +// ), +// ), +// ); +// } +// } diff --git a/lib/theme/theme_notifier.dart b/lib/theme/theme_notifier.dart index e414d159..402a7865 100644 --- a/lib/theme/theme_notifier.dart +++ b/lib/theme/theme_notifier.dart @@ -1,15 +1,18 @@ -import 'package:diplomaticquarterapp/config/config.dart'; +import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart'; import 'package:diplomaticquarterapp/theme/theme_value.dart'; import 'package:flutter/material.dart'; +import 'package:provider/provider.dart'; +import 'package:diplomaticquarterapp/config/config.dart'; class ThemeNotifier with ChangeNotifier { - ThemeData _themeData = defaultTheme; + ThemeData _themeData; + ThemeNotifier(this._themeData); + getTheme() => _themeData; setTheme(ThemeData themeData) async { _themeData = themeData; - notifyListeners(); } } diff --git a/lib/theme/theme_value.dart b/lib/theme/theme_value.dart index d19e13b2..9f26bb6f 100644 --- a/lib/theme/theme_value.dart +++ b/lib/theme/theme_value.dart @@ -1,9 +1,8 @@ import 'dart:ui'; +import 'package:diplomaticquarterapp/Constants.dart'; import 'package:diplomaticquarterapp/config/config.dart'; -import 'package:diplomaticquarterapp/config/shared_pref_kay.dart'; -import 'package:diplomaticquarterapp/core/service/client/base_app_client.dart'; -import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart'; import 'package:flutter/material.dart'; +import 'package:hexcolor/hexcolor.dart'; import 'package:provider/provider.dart'; /// ---- Default Theme ---- @@ -13,11 +12,11 @@ import 'package:provider/provider.dart'; final bluePrimary = Color(0xFF3F51B5); final blueAccent = Color(0xFFFF9800); final blueBackground = Color(0xFFFFFFFF); +defaultTheme({fontName}) { + return ThemeData( + fontFamily: fontName, //projectProvider.isArabic ? 'Cairo' : 'WorkSans', -// ProjectViewModel projectProvider = Provider.of(AppGlobal.context); - final bwTheme = ThemeData( - //fontFamily: projectProvider.isArabic ? 'Cairo' : 'WorkSans', - primarySwatch: Colors.grey, + primarySwatch: Colors.blue, visualDensity: VisualDensity.adaptivePlatformDensity, brightness: Brightness.light, pageTransitionsTheme: const PageTransitionsTheme( @@ -27,37 +26,92 @@ final blueBackground = Color(0xFFFFFFFF); }, ), hintColor: Colors.grey[400], - cardColor: Colors.black, - buttonColor: Colors.grey[400], disabledColor: Colors.grey[300], errorColor: Color.fromRGBO(235, 80, 60, 1.0), - scaffoldBackgroundColor: Colors.grey, + scaffoldBackgroundColor: Color(0xffE9E9E9), // Colors.grey[100], textSelectionColor: Color.fromRGBO(80, 100, 253, 0.5), textSelectionHandleColor: Colors.grey, canvasColor: Colors.white, - backgroundColor: Colors.grey, + backgroundColor: Color.fromRGBO(255, 255, 255, 1), highlightColor: Colors.grey[100].withOpacity(0.4), splashColor: Colors.transparent, - primaryColor: Colors.grey, - bottomSheetTheme: BottomSheetThemeData(backgroundColor: Color(0xffE0E0E0)), + primaryColor: Color(0xffffffff), + toggleableActiveColor: secondaryColor, + indicatorColor: secondaryColor, + bottomSheetTheme: + BottomSheetThemeData(backgroundColor: HexColor('#E0E0E0')), cursorColor: Colors.grey, + primaryTextTheme: TextTheme(bodyText2: TextStyle(color: Colors.white)), + iconTheme: IconThemeData(), + textTheme: TextTheme( + bodyText1: TextStyle(color: Colors.black), + headline1: TextStyle(color: Colors.white), + ), + appBarTheme: AppBarTheme( + color: Color(0xff515A5D), + brightness: Brightness.light, + elevation: 0.0, + actionsIconTheme: IconThemeData( + color: Colors.grey[800], + ), + ), + ); +} + +invertThemes({fontName}) { + return ThemeData( + fontFamily: fontName, //projectProvider.isArabic ? 'Cairo' : 'WorkSans', + primarySwatch: Colors.blue, + visualDensity: VisualDensity.adaptivePlatformDensity, + brightness: Brightness.dark, + pageTransitionsTheme: const PageTransitionsTheme( + builders: { + TargetPlatform.android: ZoomPageTransitionsBuilder(), + TargetPlatform.iOS: CupertinoPageTransitionsBuilder(), + }, + ), + hintColor: Colors.grey[400], + textTheme: TextTheme( + bodyText1: TextStyle(color: Colors.white), + headline1: TextStyle(color: Colors.white), + ), + disabledColor: Colors.grey[800], + errorColor: Color.fromRGBO(235, 80, 60, 1.0), + scaffoldBackgroundColor: Color(0xff000000), // Colors.grey[100], + textSelectionColor: Color.fromRGBO(80, 100, 253, 0.5), + textSelectionHandleColor: Colors.grey, + canvasColor: Colors.black, + backgroundColor: Color.fromRGBO(255, 255, 255, 1), + highlightColor: Colors.grey[100].withOpacity(0.4), + splashColor: Colors.transparent, + primaryColor: Color(0xff515A5D), + toggleableActiveColor: secondaryColor, + indicatorColor: secondaryColor, + bottomSheetTheme: + BottomSheetThemeData(backgroundColor: HexColor('#E0E0E0')), + cursorColor: Colors.black, iconTheme: IconThemeData(), appBarTheme: AppBarTheme( - color: Colors.black45, + color: Color(0xff000000), brightness: Brightness.dark, - elevation: 10.0, + elevation: 0.0, actionsIconTheme: IconThemeData( - color: Colors.grey, + color: Colors.grey[800], ), ), ); +} - final defaultTheme = ThemeData( - //fontFamily: ProjectViewModel().isArabic? 'Cairo' : 'WorkSans', +bwThemes({fontName}) { + return ThemeData( + fontFamily: fontName, //projectProvider.isArabic ? 'Cairo' : 'WorkSans', primarySwatch: Colors.blue, + visualDensity: VisualDensity.adaptivePlatformDensity, - brightness: Brightness.light, + brightness: Brightness.dark, + unselectedWidgetColor: Colors.red, + pageTransitionsTheme: const PageTransitionsTheme( builders: { TargetPlatform.android: ZoomPageTransitionsBuilder(), @@ -65,35 +119,50 @@ final blueBackground = Color(0xFFFFFFFF); }, ), hintColor: Colors.grey[400], - disabledColor: Colors.grey[300], + + textTheme: TextTheme( + bodyText1: TextStyle(color: Colors.red[900]), + headline1: TextStyle(color: Colors.red[900]), + bodyText2: TextStyle(color: Colors.red[900]), + subtitle1: TextStyle(color: Colors.red[900]), + ), + + tabBarTheme: TabBarTheme(labelColor: Colors.red[900]), + + disabledColor: Colors.grey[800], errorColor: Color.fromRGBO(235, 80, 60, 1.0), - scaffoldBackgroundColor: Color(0xffEEEEEE), + scaffoldBackgroundColor: Color(0xffffffe4), // Colors.grey[100], textSelectionColor: Color.fromRGBO(80, 100, 253, 0.5), textSelectionHandleColor: Colors.grey, - canvasColor: Colors.white, - backgroundColor: Colors.white, + canvasColor: Colors.black, + backgroundColor: Color(0xffffffe4), highlightColor: Colors.grey[100].withOpacity(0.4), splashColor: Colors.transparent, - primaryColor: Color(0xff40ACC9), - bottomSheetTheme: BottomSheetThemeData(backgroundColor: Color(0xffE0E0E0)), - cursorColor: Colors.grey, - cardColor: Colors.white, + primaryColor: Color(0xfffffff4), + toggleableActiveColor: secondaryColor, + indicatorColor: secondaryColor, + bottomSheetTheme: + BottomSheetThemeData(backgroundColor: HexColor('#E0E0E0')), + cursorColor: Colors.black, iconTheme: IconThemeData(), appBarTheme: AppBarTheme( - color: Color(0xff40ACC9), + color: Color(0xffffffe4), brightness: Brightness.dark, - elevation: 10.0, + elevation: 0.0, actionsIconTheme: IconThemeData( - color: Color(0xff40ACC9), + color: Colors.grey[800], ), ), ); +} - final invertTheme = ThemeData( - //fontFamily: projectProvider.isArabic ? 'Cairo' : 'WorkSans', - primarySwatch: Colors.grey, +dimTheme({fontName}) { + return ThemeData( + fontFamily: fontName, //projectProvider.isArabic ? 'Cairo' : 'WorkSans', + primarySwatch: Colors.blue, visualDensity: VisualDensity.adaptivePlatformDensity, - brightness: Brightness.light, + brightness: Brightness.dark, + pageTransitionsTheme: const PageTransitionsTheme( builders: { TargetPlatform.android: ZoomPageTransitionsBuilder(), @@ -101,29 +170,26 @@ final blueBackground = Color(0xFFFFFFFF); }, ), hintColor: Colors.grey[400], - cardColor: Colors.black, - buttonColor: Colors.grey[400], disabledColor: Colors.grey[300], errorColor: Color.fromRGBO(235, 80, 60, 1.0), - scaffoldBackgroundColor: Colors.grey, + scaffoldBackgroundColor: Color(0xffEEEEEE), textSelectionColor: Color.fromRGBO(80, 100, 253, 0.5), textSelectionHandleColor: Colors.grey, canvasColor: Colors.white, - backgroundColor: Colors.grey, + backgroundColor: Color.fromRGBO(255, 255, 255, 1), highlightColor: Colors.grey[100].withOpacity(0.4), splashColor: Colors.transparent, - primaryColor: Colors.grey, + primaryColor: Color(0xff40ACC9), bottomSheetTheme: BottomSheetThemeData(backgroundColor: Color(0xffE0E0E0)), cursorColor: Colors.grey, - iconTheme: IconThemeData(), appBarTheme: AppBarTheme( - color: Colors.grey, + color: Color(0xff40ACC9), brightness: Brightness.dark, elevation: 10.0, actionsIconTheme: IconThemeData( - color: Colors.grey, + color: Color(0xff40ACC9), ), ), ); - +} diff --git a/lib/widgets/data_display/text.dart b/lib/widgets/data_display/text.dart index 49f31354..722920a1 100644 --- a/lib/widgets/data_display/text.dart +++ b/lib/widgets/data_display/text.dart @@ -230,7 +230,8 @@ class _TextsState extends State { fontSize: widget.fontSize ?? _getFontSize(), letterSpacing: widget.variant == "overline" ? 1 : null, fontWeight: widget.fontWeight ?? _getFontWeight(), - ), + fontFamily: + projectViewModel.isArabic ? 'Cairo' : 'WorkSans'), ), if (widget.readMore && text.length > widget.maxLength && hidden) Positioned( diff --git a/lib/widgets/drawer/app_drawer_widget.dart b/lib/widgets/drawer/app_drawer_widget.dart index 5eb62069..e70e5043 100644 --- a/lib/widgets/drawer/app_drawer_widget.dart +++ b/lib/widgets/drawer/app_drawer_widget.dart @@ -344,6 +344,16 @@ class _AppDrawerState extends State { login(); }, ), + // InkWell( + // child: DrawerItem( + // TranslationBase.of(context).appsetting, + // Icons.settings_input_composite), + // onTap: () { + // Navigator.of(context).pushNamed( + // SETTINGS, + // ); + // }, + // ) ], ) ], diff --git a/lib/widgets/drawer/drawer_item_widget.dart b/lib/widgets/drawer/drawer_item_widget.dart index 100b9ae0..bca885b0 100644 --- a/lib/widgets/drawer/drawer_item_widget.dart +++ b/lib/widgets/drawer/drawer_item_widget.dart @@ -2,6 +2,7 @@ import 'dart:ui'; import 'package:diplomaticquarterapp/config/size_config.dart'; import 'package:diplomaticquarterapp/widgets/data_display/text.dart'; +import 'package:diplomaticquarterapp/widgets/text/app_texts_widget.dart'; import 'package:flutter/material.dart'; /// @@ -15,8 +16,8 @@ class DrawerItem extends StatefulWidget { final bool sideArrow; final Widget count; DrawerItem(this.title, this.icon, - {this.textColor = Colors.black, - this.iconColor = Colors.black87, + {this.textColor, + this.iconColor, this.subTitle = '', this.bottomLine = true, this.count, @@ -48,7 +49,9 @@ class _DrawerItemState extends State { flex: 1, child: Icon( widget.icon, - color: widget.iconColor, + color: widget.iconColor == null + ? Theme.of(context).textTheme.bodyText1.color + : widget.iconColor, size: SizeConfig.imageSizeMultiplier * 5, )), Expanded( @@ -59,18 +62,16 @@ class _DrawerItemState extends State { children: [ Row( children: [ - Texts( + AppText( widget.title, - color: widget.textColor, fontSize: SizeConfig.textMultiplier * 2.3, ), widget.count ?? SizedBox(), ], ), widget.subTitle != '' - ? Texts( + ? AppText( widget.subTitle, - color: widget.textColor, fontSize: SizeConfig.textMultiplier * 2.5, ) : SizedBox(), diff --git a/lib/widgets/others/app_scaffold_widget.dart b/lib/widgets/others/app_scaffold_widget.dart index 56c7fc0c..bcd74ed1 100644 --- a/lib/widgets/others/app_scaffold_widget.dart +++ b/lib/widgets/others/app_scaffold_widget.dart @@ -148,7 +148,9 @@ class AppBarWidget extends StatelessWidget with PreferredSizeWidget { backgroundColor: isPharmacy ? Colors.green : Theme.of(context).appBarTheme.color, textTheme: TextTheme( - headline6: TextStyle(color: Colors.white, fontWeight: FontWeight.bold), + headline6: TextStyle( + color: Theme.of(context).textTheme.headline1.color, + fontWeight: FontWeight.bold), ), title: Text( authenticatedUserObject.isLogin || !isShowDecPage @@ -156,7 +158,7 @@ class AppBarWidget extends StatelessWidget with PreferredSizeWidget { : TranslationBase.of(context).serviceInformationTitle, style: TextStyle( fontWeight: FontWeight.bold, - color: Colors.white, + color: Theme.of(context).textTheme.headline1.color, fontFamily: projectViewModel.isArabic ? 'Cairo' : 'WorkSans')), leading: Builder( builder: (BuildContext context) { @@ -168,14 +170,14 @@ class AppBarWidget extends StatelessWidget with PreferredSizeWidget { isPharmacy ? IconButton( icon: Icon(Icons.shopping_cart), - color: Colors.white, + color: Theme.of(context).textTheme.headline1.color, onPressed: () { Navigator.of(context).popUntil(ModalRoute.withName('/')); }) : Container(), IconButton( icon: Icon(FontAwesomeIcons.home), - color: Colors.white, + color: Theme.of(context).textTheme.headline1.color, onPressed: () { Navigator.pushAndRemoveUntil( context, diff --git a/lib/widgets/others/arrow_back.dart b/lib/widgets/others/arrow_back.dart index f20e060f..d88f9d83 100644 --- a/lib/widgets/others/arrow_back.dart +++ b/lib/widgets/others/arrow_back.dart @@ -16,7 +16,8 @@ class ArrowBack extends StatelessWidget { onTap: Feedback.wrapForTap(() { onTap != null ? onTap() : Navigator.pop(context); }, context), - child: Icon(Icons.arrow_back_ios, color: Colors.white), + child: Icon(Icons.arrow_back_ios, + color: Theme.of(context).textTheme.headline1.color), ); } } diff --git a/lib/widgets/others/floating_button_search.dart b/lib/widgets/others/floating_button_search.dart index d795fd48..9a3dad6d 100644 --- a/lib/widgets/others/floating_button_search.dart +++ b/lib/widgets/others/floating_button_search.dart @@ -1017,13 +1017,20 @@ class _MyStatefulBuilderState extends State { Expanded( flex: 1, child: Center( - child: Text(searchText != null && searchText != 'null' + child: Image.asset( + 'assets/images/soundWaveAnimation.gif', + height: 75, + ))), + Expanded( + flex: 1, + child: Center( + child: AppText(searchText != null && searchText != 'null' ? searchText : TranslationBase.of(context).trySaying))), searchText == 'null' ? Center( child: RaisedButton( - child: Text('Retry'), + child: AppText('Retry'), onPressed: () { RoboSearch.closeAlertDialog(context); event.setValue({'startPopUp': 'true'}); diff --git a/lib/widgets/otp/sms-popup.dart b/lib/widgets/otp/sms-popup.dart index 75c51da3..5faf6940 100644 --- a/lib/widgets/otp/sms-popup.dart +++ b/lib/widgets/otp/sms-popup.dart @@ -9,6 +9,8 @@ import 'dart:math'; import 'package:provider/provider.dart'; +import 'package:sms_otp_auto_verify/sms_otp_auto_verify.dart'; + class SMSOTP { final type; final mobileNo; @@ -52,9 +54,10 @@ class SMSOTP { String errorMsg; ProjectViewModel projectProvider; String displayTime = ''; - + String _code; + dynamic setState; + static String signature; displayDialog(BuildContext context) async { - return showDialog( context: context, builder: (context) { @@ -78,10 +81,11 @@ class SMSOTP { if (displayTime == '') { startTimer(setState); } + return Container( color: Colors.white, height: SizeConfig.realScreenHeight * 0.5, - width: SizeConfig.realScreenWidth * 0.8, + width: SizeConfig.realScreenWidth, child: Center( child: Column( crossAxisAlignment: CrossAxisAlignment.center, @@ -99,121 +103,151 @@ class SMSOTP { .substring(mobileNo.toString().length - 3), textAlign: TextAlign.center, )), - Form( - key: verifyAccountForm, - child: Padding( - padding: EdgeInsets.only(top: 20), - child: Directionality( - textDirection:TextDirection.ltr, - child:Row( - mainAxisAlignment: MainAxisAlignment.spaceAround, - children: [ - Container( - width: SizeConfig.realScreenWidth * 0.15, - child: TextFormField( - textInputAction: TextInputAction.next, - style: buildTextStyle(), - autofocus: true, - maxLength: 1, - controller: digit1, - textAlign: TextAlign.center, - keyboardType: TextInputType.number, - decoration: buildInputDecoration(context), - onSaved: (val) {}, - validator: validateCodeDigit, - onFieldSubmitted: (_) { - FocusScope.of(context).requestFocus(focusD2); - }, - onChanged: (val) { - if (val.length == 1) { - FocusScope.of(context) - .requestFocus(focusD2); - verifyAccountFormValue['digit1'] = - val.trim(); - checkValue(); - } - }, - ), - ), - Container( - width: SizeConfig.realScreenWidth * 0.15, - child: TextFormField( - focusNode: focusD2, - textInputAction: TextInputAction.next, - maxLength: 1, - controller: digit2, - textAlign: TextAlign.center, - style: buildTextStyle(), - keyboardType: TextInputType.number, - decoration: buildInputDecoration(context), - onSaved: (val) {}, - onFieldSubmitted: (_) { - FocusScope.of(context) - .requestFocus(focusD3); - }, - onChanged: (val) { - if (val.length == 1) { - FocusScope.of(context) - .requestFocus(focusD3); - verifyAccountFormValue['digit2'] = - val.trim(); - checkValue(); - } - }, - validator: validateCodeDigit), - ), - Container( - width: SizeConfig.realScreenWidth * 0.15, - child: TextFormField( - focusNode: focusD3, - textInputAction: TextInputAction.next, - maxLength: 1, - controller: digit3, - textAlign: TextAlign.center, - style: buildTextStyle(), - keyboardType: TextInputType.number, - decoration: buildInputDecoration(context), - onSaved: (val) {}, - onFieldSubmitted: (_) { - FocusScope.of(context) - .requestFocus(focusD4); - }, - onChanged: (val) { - if (val.length == 1) { - FocusScope.of(context) - .requestFocus(focusD4); - verifyAccountFormValue['digit3'] = - val.trim(); - checkValue(); - } - }, - validator: validateCodeDigit)), - Container( - width: SizeConfig.realScreenWidth * 0.15, - child: TextFormField( - focusNode: focusD4, - maxLength: 1, - textAlign: TextAlign.center, - style: buildTextStyle(), - controller: digit4, - keyboardType: TextInputType.number, - decoration: buildInputDecoration(context), - onFieldSubmitted: (_) { - FocusScope.of(context) - .requestFocus(focusD4); - }, - onChanged: (val) { - if (val.length == 1) { - verifyAccountFormValue['digit4'] = - val.trim(); - checkValue(); - } - }, - validator: validateCodeDigit)), - ], + + Directionality( + textDirection: TextDirection.ltr, + child: TextFieldPin( + filled: true, + filledColor: Colors.grey[100], + codeLength: 4, + filledAfterTextChange: true, + boxSize: 50, + margin: 10, + borderStyeAfterTextChange: OutlineInputBorder( + borderRadius: BorderRadius.all(Radius.circular(10)), + borderSide: BorderSide(color: Colors.black), + ), + borderStyle: OutlineInputBorder( + borderRadius: BorderRadius.all(Radius.circular(10)), + borderSide: BorderSide(color: Colors.black), + ), + onOtpCallback: (code, isAutofill) => + _onOtpCallBack(code, isAutofill), )), - ), - ), + // Form( + // key: verifyAccountForm, + // child: Padding( + // padding: EdgeInsets.only(top: 20), + // child: Directionality( + // textDirection: TextDirection.ltr, + // child: + // // Row( + // mainAxisAlignment: MainAxisAlignment.spaceAround, + // children: [ + // Container( + + // child: , + // ) + // Container( + // width: SizeConfig.realScreenWidth * 0.15, + // child: TextFormField( + // textInputAction: TextInputAction.next, + // style: buildTextStyle(), + // autofocus: true, + // maxLength: 1, + // controller: digit1, + // textAlign: TextAlign.center, + // keyboardType: TextInputType.number, + // decoration: buildInputDecoration(context), + // onSaved: (val) {}, + // validator: validateCodeDigit, + // onFieldSubmitted: (_) { + // FocusScope.of(context) + // .requestFocus(focusD2); + // }, + // onChanged: (val) { + // if (val.length == 1) { + // FocusScope.of(context) + // .requestFocus(focusD2); + // verifyAccountFormValue['digit1'] = + // val.trim(); + // checkValue(); + // } + // }, + // ), + // ), + // Container( + // width: SizeConfig.realScreenWidth * 0.15, + // child: TextFormField( + // focusNode: focusD2, + // textInputAction: TextInputAction.next, + // maxLength: 1, + // controller: digit2, + // textAlign: TextAlign.center, + // style: buildTextStyle(), + // keyboardType: TextInputType.number, + // decoration: buildInputDecoration(context), + // onSaved: (val) {}, + // onFieldSubmitted: (_) { + // FocusScope.of(context) + // .requestFocus(focusD3); + // }, + // onChanged: (val) { + // if (val.length == 1) { + // FocusScope.of(context) + // .requestFocus(focusD3); + // verifyAccountFormValue['digit2'] = + // val.trim(); + // checkValue(); + // } + // }, + // validator: validateCodeDigit), + // ), + // Container( + // width: SizeConfig.realScreenWidth * 0.15, + // child: TextFormField( + // focusNode: focusD3, + // textInputAction: TextInputAction.next, + // maxLength: 1, + // controller: digit3, + // textAlign: TextAlign.center, + // style: buildTextStyle(), + // keyboardType: TextInputType.number, + // decoration: + // buildInputDecoration(context), + // onSaved: (val) {}, + // onFieldSubmitted: (_) { + // FocusScope.of(context) + // .requestFocus(focusD4); + // }, + // onChanged: (val) { + // if (val.length == 1) { + // FocusScope.of(context) + // .requestFocus(focusD4); + // verifyAccountFormValue['digit3'] = + // val.trim(); + // checkValue(); + // } + // }, + // validator: validateCodeDigit)), + // Container( + // width: SizeConfig.realScreenWidth * 0.15, + // child: TextFormField( + // focusNode: focusD4, + // maxLength: 1, + // textAlign: TextAlign.center, + // style: buildTextStyle(), + // controller: digit4, + // keyboardType: TextInputType.number, + // decoration: + // buildInputDecoration(context), + // onFieldSubmitted: (_) { + // FocusScope.of(context) + // .requestFocus(focusD4); + // }, + // onChanged: (val) { + // if (val.length == 1) { + // verifyAccountFormValue['digit4'] = + // val.trim(); + // checkValue(); + // } + // }, + // validator: validateCodeDigit)), + // ], + //)), + //), + //), + SizedBox(height: 20), Padding( padding: EdgeInsets.only(top: 10), child: AppText( @@ -274,9 +308,11 @@ class SMSOTP { checkValue() { //print(verifyAccountFormValue); if (verifyAccountForm.currentState.validate()) { - onSuccess(digit1.text.toString()+digit2.text.toString()+digit3.text.toString()+digit4.text.toString()); + onSuccess(digit1.text.toString() + + digit2.text.toString() + + digit3.text.toString() + + digit4.text.toString()); } - } getSecondsAsDigitalClock(int inputSeconds) { @@ -311,7 +347,7 @@ class SMSOTP { static void showLoadingDialog(BuildContext context, bool _loading) async { _context = context; - + //setSignature(); if (_loading == false) { Navigator.of(context).pop(); return; @@ -338,4 +374,14 @@ class SMSOTP { static void hideSMSBox(context) { Navigator.pop(context); } + + _onOtpCallBack(String otpCode, bool isAutofill) { + if (otpCode.length == 4) { + onSuccess(otpCode); + } + } + + static getSignature() async { + return await SmsRetrieved.getAppSignature(); + } } diff --git a/lib/widgets/text/app_texts_widget.dart b/lib/widgets/text/app_texts_widget.dart index bba514be..e3c6af9a 100644 --- a/lib/widgets/text/app_texts_widget.dart +++ b/lib/widgets/text/app_texts_widget.dart @@ -1,6 +1,8 @@ import 'package:diplomaticquarterapp/config/size_config.dart'; +import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; +import 'package:provider/provider.dart'; // OWNER : Ibrahim albitar // DATE : 12-04-2020 @@ -22,11 +24,11 @@ class AppText extends StatefulWidget { final Color backGroundcolor; final bool underline; AppText(this.data, - {this.color = Colors.black, + {this.color, this.fontWeight = FontWeight.normal, this.fontSize, // this.fontFamily = 'WorkSans', - this.fontFamily, + this.fontFamily, this.margin, this.marginTop = 0, this.marginRight = 0, @@ -44,6 +46,7 @@ class AppText extends StatefulWidget { class _AppTextState extends State { @override Widget build(BuildContext context) { + ProjectViewModel projectViewModel = Provider.of(context); return Visibility( visible: widget.visibility, child: Container( @@ -59,10 +62,16 @@ class _AppTextState extends State { textAlign: widget.textAlign, overflow: TextOverflow.clip, style: TextStyle( - color: widget.color, + color: widget.color == null + ? Theme.of(context).textTheme.bodyText1.color + : widget.color, fontWeight: widget.fontWeight, fontSize: widget.fontSize ?? (SizeConfig.textMultiplier * 2), - fontFamily: widget.fontFamily, + fontFamily: widget.fontFamily == null + ? projectViewModel.isArabic + ? 'Cairo' + : 'WorkSans' + : widget.fontFamily, decoration: widget.underline == true ? TextDecoration.underline : TextDecoration.none diff --git a/lib/widgets/typewriter/typewiter.dart b/lib/widgets/typewriter/typewiter.dart index cc258251..a86cc9f0 100644 --- a/lib/widgets/typewriter/typewiter.dart +++ b/lib/widgets/typewriter/typewiter.dart @@ -1,3 +1,4 @@ +import 'package:diplomaticquarterapp/widgets/text/app_texts_widget.dart'; import 'package:flutter/material.dart'; class TyperAnimatedTextKit extends StatefulWidget { @@ -64,9 +65,9 @@ class _TyperState extends State animation: _characterCount, builder: (BuildContext context, Widget child) { String text = widget.text.substring(0, _characterCount.value); - return Text( + return AppText( text, - style: TextStyle(color: Colors.black, fontSize: 12), + fontSize: 12, textAlign: TextAlign.start, ); }, diff --git a/pubspec.yaml b/pubspec.yaml index 22f081c2..4bdf1476 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -87,7 +87,7 @@ dependencies: # Qr code Scanner TODO fix it # barcode_scanner: ^1.0.1 - barcode_scan: any + barcode_scan: ^2.0.0 flutter_polyline_points: ^0.1.0 location: ^2.3.5 # Qr code Scanner @@ -169,7 +169,7 @@ dependencies: flutter_tts: path: flutter_tts-voice_enhancement # flutter_tts: ^1.2.6 - + sms_otp_auto_verify: ^1.2.2 wifi: ^0.1.5 vibration: ^1.7.3