From d9d26a0fe0b468c61bc2742557a1365689cb71b7 Mon Sep 17 00:00:00 2001 From: zaid_daoud Date: Sun, 26 Feb 2023 12:41:07 +0300 Subject: [PATCH] Revert the project to the previous structure with applying null safety --- .../ar.json => subtitles/ar_subtitle.json} | 0 .../en.json => subtitles/en_subtitle.json} | 0 lib/views/pages/login.dart | 67 ++++++++++++------- pubspec.yaml | 2 +- 4 files changed, 44 insertions(+), 25 deletions(-) rename assets/{translations/ar.json => subtitles/ar_subtitle.json} (100%) rename assets/{translations/en.json => subtitles/en_subtitle.json} (100%) diff --git a/assets/translations/ar.json b/assets/subtitles/ar_subtitle.json similarity index 100% rename from assets/translations/ar.json rename to assets/subtitles/ar_subtitle.json diff --git a/assets/translations/en.json b/assets/subtitles/en_subtitle.json similarity index 100% rename from assets/translations/en.json rename to assets/subtitles/en_subtitle.json diff --git a/lib/views/pages/login.dart b/lib/views/pages/login.dart index b42a5c0b..639a40ae 100644 --- a/lib/views/pages/login.dart +++ b/lib/views/pages/login.dart @@ -15,9 +15,10 @@ import '../widgets/buttons/app_button.dart'; import '../widgets/loaders/loading_manager.dart'; import 'user/land_page.dart'; - class Login extends StatefulWidget { - static final String id = "/login"; + static const String id = "/login"; + + const Login({super.key}); @override _LoginState createState() => _LoginState(); @@ -26,9 +27,9 @@ class Login extends StatefulWidget { class _LoginState extends State { UserProvider? _userProvider; SettingProvider? _settingProvider; - User _user = User(); + final User _user = User(); bool _obscurePassword = true; - bool _firstTime = true; + final bool _firstTime = true; late double _height; late double _width; late String _payload; @@ -41,12 +42,13 @@ class _LoginState extends State { _settingProvider = Provider.of(context); _height = MediaQuery.of(context).size.height; _width = MediaQuery.of(context).size.width; - Subtitle? _subtitle = AppLocalization.of(context)?.subtitle; + Subtitle? subtitle = AppLocalization.of(context)?.subtitle; return Scaffold( key: _scaffoldKey, body: SafeArea( child: LoadingManager( - isLoading: (_userProvider?.isLoading??false) || !(_settingProvider?.isLoaded??false), + isLoading: (_userProvider?.isLoading ?? false) || + !(_settingProvider?.isLoaded ?? false), isFailedLoading: false, stateCode: 200, onRefresh: () async {}, @@ -65,37 +67,44 @@ class _LoginState extends State { child: Image( height: _height / 6, fit: BoxFit.contain, - image: AssetImage("assets/images/logo.png"), + image: const AssetImage("assets/images/logo.png"), ), ), Padding( - padding: EdgeInsets.symmetric(horizontal: 24 * AppStyle.getScaleFactor(context), vertical: 24 * AppStyle.getScaleFactor(context)), + padding: EdgeInsets.symmetric( + horizontal: 24 * AppStyle.getScaleFactor(context), + vertical: 24 * AppStyle.getScaleFactor(context)), child: Column( children: [ SizedBox( height: 24 * AppStyle.getScaleFactor(context), ), ATextFormField( - initialValue: _user?.userName??"", - hintText: _subtitle?.name??"", + initialValue: _user.userName ?? "", + hintText: subtitle?.name ?? "", textAlign: TextAlign.left, style: Theme.of(context).textTheme.bodyText1, prefixIconData: Icons.account_circle, - validator: (value) => Validator.hasValue(value!) ? '' : _subtitle?.nameValidateMessage??"", + validator: (value) => Validator.hasValue(value!) + ? '' + : subtitle?.nameValidateMessage ?? "", textInputType: TextInputType.name, onSaved: (value) { _user.userName = value!; }, ), - SizedBox(height: 12), + const SizedBox(height: 12), ATextFormField( initialValue: _user.password, - hintText: _subtitle?.password??"", + hintText: subtitle?.password ?? "", obscureText: _obscurePassword, style: Theme.of(context).textTheme.bodyText1, prefixIconData: Icons.vpn_key_sharp, textAlign: TextAlign.left, - validator: (value) => Validator.isValidPassword(value!) ? '' : _subtitle?.passwordValidateMessage??"", + validator: (value) => + Validator.isValidPassword(value!) + ? '' + : subtitle?.passwordValidateMessage ?? "", showPassword: () { _obscurePassword = !_obscurePassword; setState(() {}); @@ -108,23 +117,33 @@ class _LoginState extends State { height: 32 * AppStyle.getScaleFactor(context), ), AButton( - text: _subtitle?.signIn??"", + text: subtitle?.signIn ?? "", onPressed: () async { - if (!(_formKey.currentState?.validate()??false)) return; + if (!(_formKey.currentState?.validate() ?? false)) + return; _formKey.currentState?.save(); int? status = await _userProvider?.login( user: _user, - host: _settingProvider?.host??"", + host: _settingProvider?.host ?? "", ); - if (status !=null && status >= 200 && status < 300) { - _settingProvider?.setUser(_userProvider?.user??User()); - if (_userProvider?.user?.isActive??false) + if (status != null && + status >= 200 && + status < 300) { + _settingProvider + ?.setUser(_userProvider?.user ?? User()); + if (_userProvider?.user?.isActive ?? false) { Navigator.of(context).pushNamed(LandPage.id); - else - Fluttertoast.showToast(msg: _subtitle?.activationAlert??""); + } else { + Fluttertoast.showToast( + msg: subtitle?.activationAlert ?? ""); + } } else { - String errorMessage = status == 400 ? _subtitle?.wrongEmailOrPassword??"" : HttpStatusManger.getStatusMessage(status: status, subtitle: _subtitle); - ScaffoldMessenger.of(context).showSnackBar(SnackBar( + String errorMessage = status == 400 + ? subtitle?.wrongEmailOrPassword ?? "" + : HttpStatusManger.getStatusMessage( + status: status, subtitle: subtitle); + ScaffoldMessenger.of(context) + .showSnackBar(SnackBar( content: Text(errorMessage), )); } diff --git a/pubspec.yaml b/pubspec.yaml index 473d7070..c08a4eb1 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -89,7 +89,7 @@ flutter: assets: - assets/ - assets/images/ - - assets/translations/ + - assets/subtitles/ - assets/rives/ fonts: - family: Swiss