From cbe471c7b0655f6f8d872a1e49697ebfaf317d55 Mon Sep 17 00:00:00 2001 From: Sikander Saleem Date: Mon, 27 Dec 2021 16:47:51 +0300 Subject: [PATCH] improvements --- lib/classes/colors.dart | 1 + lib/extensions/string_extensions.dart | 11 ++++-- lib/generated/codegen_loader.g.dart | 4 +++ lib/ui/app_bar.dart | 3 +- lib/ui/landing/dashboard.dart | 4 ++- lib/ui/landing/today_attendance_screen.dart | 34 ++++++++++++++++++- .../missing_swipe/missing_swipe_screen.dart | 16 +++------ lib/ui/work_list/work_list_screen.dart | 2 +- 8 files changed, 57 insertions(+), 18 deletions(-) diff --git a/lib/classes/colors.dart b/lib/classes/colors.dart index f20e621..6820e7d 100644 --- a/lib/classes/colors.dart +++ b/lib/classes/colors.dart @@ -16,6 +16,7 @@ class MyColors { static const Color grey98Color = Color(0xff989898); static const Color lightGreyEFColor = Color(0xffEFEFEF); static const Color lightGreyEDColor = Color(0xffEDEDED); + static const Color lightGreyEAColor = Color(0xffEAEAEA); static const Color darkWhiteColor = Color(0xffE0E0E0); static const Color redColor = Color(0xffD02127); static const Color yellowColor = Color(0xffF4E31C); diff --git a/lib/extensions/string_extensions.dart b/lib/extensions/string_extensions.dart index f4ea9b1..9db4829 100644 --- a/lib/extensions/string_extensions.dart +++ b/lib/extensions/string_extensions.dart @@ -47,10 +47,15 @@ extension EmailValidator on String { style: TextStyle(color: color ?? MyColors.darkTextColor, fontSize: 16, letterSpacing: -0.64, fontWeight: isBold ? FontWeight.bold : FontWeight.w600), ); + Widget toText17({Color? color, bool isBold = false}) => Text( + this, + style: TextStyle(color: color ?? MyColors.darkTextColor, fontSize: 17, letterSpacing: -0.68, fontWeight: isBold ? FontWeight.bold : FontWeight.w600), + ); + Widget toText22({Color? color, bool isBold = false}) => Text( - this, - style: TextStyle(height: 1, color: color ?? MyColors.darkTextColor, fontSize: 22, letterSpacing: -1.44, fontWeight: isBold ? FontWeight.bold : FontWeight.w600), - ); + this, + style: TextStyle(height: 1, color: color ?? MyColors.darkTextColor, fontSize: 22, letterSpacing: -1.44, fontWeight: isBold ? FontWeight.bold : FontWeight.w600), + ); Widget toText24({Color? color, bool isBold = false}) => Text( this, diff --git a/lib/generated/codegen_loader.g.dart b/lib/generated/codegen_loader.g.dart index 824dea8..9829f4c 100644 --- a/lib/generated/codegen_loader.g.dart +++ b/lib/generated/codegen_loader.g.dart @@ -65,6 +65,8 @@ class CodegenLoader extends AssetLoader{ "msg": "Hello {} in the {} world ", "msg_named": "{} are written in the {lang} language", "clickMe": "Click me", + "human": "Human", + "resources": "Resources", "profile": { "reset_password": { "label": "Reset Password", @@ -149,6 +151,8 @@ static const Map en_US = { "msg": "Hello {} in the {} world ", "msg_named": "{} are written in the {lang} language", "clickMe": "Click me", + "human": "Human", + "resources": "Resources", "profile": { "reset_password": { "label": "Reset Password", diff --git a/lib/ui/app_bar.dart b/lib/ui/app_bar.dart index 0823a5a..c39e249 100644 --- a/lib/ui/app_bar.dart +++ b/lib/ui/app_bar.dart @@ -6,10 +6,11 @@ import 'package:mohem_flutter_app/extensions/string_extensions.dart'; AppBar appBar(BuildContext context, {required String title}) { return AppBar( - title: title.toText24(textColor: MyColors.darkTextColor), + title: title.toText24(color: MyColors.darkTextColor), centerTitle: false, automaticallyImplyLeading: false, backgroundColor: Colors.white, + actions: [ IconButton( onPressed: () { diff --git a/lib/ui/landing/dashboard.dart b/lib/ui/landing/dashboard.dart index 568ba30..795460d 100644 --- a/lib/ui/landing/dashboard.dart +++ b/lib/ui/landing/dashboard.dart @@ -207,7 +207,9 @@ class _DashboardState extends State { ) ], ).paddingOnly(left: 10, right: 10, bottom: 6, top: 6), - ); + ).onPress(() { + Navigator.pushNamed(context, AppRoutes.workList); + }); }, ), ), diff --git a/lib/ui/landing/today_attendance_screen.dart b/lib/ui/landing/today_attendance_screen.dart index d58fc4c..0ba3791 100644 --- a/lib/ui/landing/today_attendance_screen.dart +++ b/lib/ui/landing/today_attendance_screen.dart @@ -1,8 +1,10 @@ import 'package:easy_localization/src/public_ext.dart'; import 'package:flutter/material.dart'; +import 'package:flutter_svg/flutter_svg.dart'; import 'package:mohem_flutter_app/classes/colors.dart'; import 'package:mohem_flutter_app/extensions/int_extensions.dart'; import 'package:mohem_flutter_app/extensions/string_extensions.dart'; +import 'package:mohem_flutter_app/extensions/widget_extensions.dart'; import 'package:mohem_flutter_app/generated/locale_keys.g.dart'; import 'package:mohem_flutter_app/widgets/circular_step_progress_bar.dart'; @@ -106,7 +108,22 @@ class _TodayAttendanceScreenState extends State { child: Column( crossAxisAlignment: CrossAxisAlignment.start, mainAxisSize: MainAxisSize.min, - children: ["Mark".tr().toText12(), "Attendance".tr().toText24(), "Select the method to mark the attendance".tr().toText12(color: Color(0xff535353)), 24.height], + children: [ + "Mark".tr().toText12(), + "Attendance".tr().toText24(), + "Select the method to mark the attendance".tr().toText12(color: Color(0xff535353)), + 24.height, + GridView( + physics: const NeverScrollableScrollPhysics(), + shrinkWrap: true, + padding: EdgeInsets.zero, + gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount(crossAxisCount: 3, childAspectRatio: 1 / 1, crossAxisSpacing: 8, mainAxisSpacing: 8), + children: [ + attendanceMethod("NFC", "assets/images/nfc.svg", () {}), + attendanceMethod("Wifi", "assets/images/wufu.svg", () {}), + ], + ) + ], ), ), // Positioned( @@ -135,6 +152,21 @@ class _TodayAttendanceScreenState extends State { ); } + Widget attendanceMethod(String title, String image, VoidCallback onPress) => Container( + padding: const EdgeInsets.only(left: 10, right: 10, top: 14, bottom: 14), + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(15), + gradient: const LinearGradient(transform: GradientRotation(.64), begin: Alignment.topRight, end: Alignment.bottomRight, colors: [ + MyColors.gradiantEndColor, + MyColors.gradiantStartColor, + ]), + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [Expanded(child: SvgPicture.asset(image)), title.toText17(isBold: true, color: Colors.white)], + ), + ).onPress(onPress); + Widget commonStatusView(String title, String time) => Expanded( child: Column(mainAxisSize: MainAxisSize.min, crossAxisAlignment: CrossAxisAlignment.start, children: [ title.toText12(color: Colors.white), diff --git a/lib/ui/work_list/missing_swipe/missing_swipe_screen.dart b/lib/ui/work_list/missing_swipe/missing_swipe_screen.dart index 850f565..4af620e 100644 --- a/lib/ui/work_list/missing_swipe/missing_swipe_screen.dart +++ b/lib/ui/work_list/missing_swipe/missing_swipe_screen.dart @@ -23,17 +23,11 @@ class MissingSwipeScreen extends StatelessWidget { children: [ Container( decoration: BoxDecoration( - borderRadius: BorderRadius.only( - bottomLeft: Radius.circular(20), - bottomRight: Radius.circular(20)), - gradient: LinearGradient( - transform: GradientRotation(.46), - begin: Alignment.topRight, - end: Alignment.bottomRight, - colors: [ - MyColors.gradiantEndColor, - MyColors.gradiantStartColor, - ]), + borderRadius: BorderRadius.only(bottomLeft: Radius.circular(20), bottomRight: Radius.circular(20)), + gradient: LinearGradient(transform: GradientRotation(.46), begin: Alignment.topRight, end: Alignment.bottomRight, colors: [ + MyColors.gradiantEndColor, + MyColors.gradiantStartColor, + ]), ), clipBehavior: Clip.antiAlias, child: TabBar( diff --git a/lib/ui/work_list/work_list_screen.dart b/lib/ui/work_list/work_list_screen.dart index c3de75f..06a545c 100644 --- a/lib/ui/work_list/work_list_screen.dart +++ b/lib/ui/work_list/work_list_screen.dart @@ -52,7 +52,7 @@ class _WorkListScreenState extends State { borderRadius: BorderRadius.circular(6), color: tabList[index].isSelected ? MyColors.darkIconColor - : MyColors.darkWhiteColor, + : MyColors.lightGreyEAColor, ), child: tabList[index].title.toText12( color: tabList[index].isSelected