diff --git a/android/build.gradle b/android/build.gradle index dc67123..5effa33 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -28,6 +28,6 @@ subprojects { project.evaluationDependsOn(':app') } -task clean(type: Delete) { +tasks.register("clean", Delete) { delete rootProject.buildDir } diff --git a/lib/extensions/string_extensions.dart b/lib/extensions/string_extensions.dart index 96cbde4..9979573 100644 --- a/lib/extensions/string_extensions.dart +++ b/lib/extensions/string_extensions.dart @@ -196,6 +196,13 @@ extension EmailValidator on String { style: TextStyle(height: 1, color: color ?? MyColors.darkTextColor, fontSize: 22, letterSpacing: -1.44, fontWeight: isBold ? FontWeight.bold : FontWeight.w600), ); + + Widget toText23({Color? color, bool isBold = false, bool isCentered = false}) => Text( + this, + textAlign: isCentered ? TextAlign.center : null, + style: TextStyle(height: 23 / 24, color: color ?? MyColors.darkTextColor, fontSize: 23, letterSpacing: -0.92, fontWeight: isBold ? FontWeight.bold : FontWeight.w600), + ); + Widget toText24({Color? color, bool isBold = false, bool isCentered = false}) => Text( this, textAlign: isCentered ? TextAlign.center : null, diff --git a/lib/ui/dialogs/id/business_card_dialog.dart b/lib/ui/dialogs/id/business_card_dialog.dart index 141abbd..ed9f260 100644 --- a/lib/ui/dialogs/id/business_card_dialog.dart +++ b/lib/ui/dialogs/id/business_card_dialog.dart @@ -1,68 +1,82 @@ +import 'package:easy_localization/easy_localization.dart'; import 'package:flutter/material.dart'; import 'package:mohem_flutter_app/app_state/app_state.dart'; +import 'package:mohem_flutter_app/classes/colors.dart'; import 'package:mohem_flutter_app/classes/utils.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'; class BusinessCardDialog extends StatelessWidget { + const BusinessCardDialog({Key? key}) : super(key: key); + @override Widget build(BuildContext context) { return RotatedBox( quarterTurns: 1, child: AspectRatio( aspectRatio: 3.5 / 2, - child: Container( - // width: MediaQuery.of(context).size.height / 2, - color: Colors.white, - margin: EdgeInsets.all(21), - child: Column( - mainAxisSize: MainAxisSize.min, - crossAxisAlignment: CrossAxisAlignment.start, - mainAxisAlignment: MainAxisAlignment.start, - children: [ - Row( - crossAxisAlignment: CrossAxisAlignment.start, - mainAxisAlignment: MainAxisAlignment.start, - children: [ - Expanded( - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - mainAxisAlignment: MainAxisAlignment.start, - children: [ - Image.asset( - "assets/images/logos/bn_cloud_soloution.jpg", - width: 80, - height: 80, - ), - 12.height, - (AppState().memberInformationList!.eMPLOYEENAME ?? "").toText20(isBold: true), - ], - ), - ), - Image.memory( - Utils.getPostBytes(AppState().memberInformationList!.businessCardQR ?? ""), - width: 100, - height: 100, + child: Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.start, + + children: [ + Row( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.start, + children: [ + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.start, + children: [ + Image.asset( + "assets/images/logos/bn_cloud_soloution.jpg", + width: 94, + height: 91.15, + ).paddingOnly(top: 4), + ], ), - ], - ), - Column( - crossAxisAlignment: CrossAxisAlignment.start, - mainAxisAlignment: MainAxisAlignment.start, - children: [ - 1.height, - (AppState().memberInformationList!.getPositionName() ?? "").toText13(), - 12.height, - (AppState().memberInformationList!.eMPLOYEENUMBER ?? "").toText13(), - 1.height, - (AppState().memberInformationList!.eMPLOYEEEMAILADDRESS ?? "").toText13(), - 1.height, - (AppState().memberInformationList!.jOBNAME ?? "").toText13(), - ], - ), - ], - ), - ), + ), + Image.memory( + Utils.getPostBytes(AppState().memberInformationList!.businessCardQR ?? ""), + width: 129, + height: 129, + ), + ], + ).paddingOnly(top: 26, left: 8.5), + Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.start, + children: [ + (AppState().memberInformationList!.eMPLOYEENAME ?? "").toText23(isBold: true).paddingOnly(top: 15), + (AppState().memberInformationList!.getPositionName() ?? "").toText17( + color: MyColors.grey57Color, + ), + 30.height, + // (AppState().memberInformationList!.eMPLOYEENUMBER ?? "").toText13(), + Row( + children: [ + const Icon(Icons.email, size: 17.5, color: MyColors.grey3AColor).paddingOnly(right: 11.5), + ("${LocaleKeys.email.tr()}: ").toText18(color: MyColors.grey57Color), + (AppState().memberInformationList!.eMPLOYEEEMAILADDRESS ?? "").toText18(), + ], + ), + Row( + children: [ + const Icon(Icons.call, size: 17.5, color: MyColors.grey3AColor).paddingOnly(right: 11.5), + ("${LocaleKeys.mobile.tr()}: ").toText18(color: MyColors.grey57Color), + (AppState().memberInformationList!.mobileNumberWithZipCode ?? "").toText18(), + ], + ), + // 1.height, + // (AppState().memberInformationList!.jOBNAME ?? "").toText13(), + ], + ), + ], + ).paddingOnly(right: 13, left: 32, bottom: 28), ), ); } diff --git a/lib/ui/landing/widget/app_drawer.dart b/lib/ui/landing/widget/app_drawer.dart index 7df697c..4721470 100644 --- a/lib/ui/landing/widget/app_drawer.dart +++ b/lib/ui/landing/widget/app_drawer.dart @@ -119,7 +119,7 @@ class _AppDrawerState extends State { }), menuItem("assets/images/drawer/employee_id.svg", LocaleKeys.employeeDigitalID.tr(), "", closeDrawer: false, onPress: () => showMDialog(context, child: EmployeeDigitialIdDialog())), if (AppState().businessCardPrivilege) - menuItem("assets/images/drawer/view_business_card.svg", LocaleKeys.viewBusinessCard.tr(), "", closeDrawer: false, onPress: () => showMDialog(context, child: BusinessCardDialog())), + menuItem("assets/images/drawer/view_business_card.svg", LocaleKeys.viewBusinessCard.tr(), "", closeDrawer: false, onPress: () => showMDialog(context, child: BusinessCardDialog(), isBusniessCard: true)), menuItem("assets/images/drawer/logout.svg", LocaleKeys.logout.tr(), "", color: MyColors.redA3Color, closeDrawer: false, onPress: performLogout), // menuItem("assets/images/drawer/logout.svg", LocaleKeys.logout.tr(), "", color: MyColors.redA3Color, closeDrawer: false, onPress: () {Navigator.pushNamed(context, AppRoutes.survey,); ], diff --git a/lib/widgets/dialogs/dialogs.dart b/lib/widgets/dialogs/dialogs.dart index 6765e38..a84b02a 100644 --- a/lib/widgets/dialogs/dialogs.dart +++ b/lib/widgets/dialogs/dialogs.dart @@ -1,11 +1,18 @@ import 'package:flutter/material.dart'; -void showMDialog(context, {Widget? child, Color? backgroundColor, bool isDismissable = true}) async { +void showMDialog(context, {Widget? child, Color? backgroundColor, bool isDismissable = true, bool isBusniessCard = false}) async { return showDialog( context: context, barrierDismissible: isDismissable, builder: (context) { return Dialog( + shape: isBusniessCard + ? const RoundedRectangleBorder( + borderRadius: BorderRadius.all( + Radius.circular(15.0), + ), + ) + : null, backgroundColor: backgroundColor, child: child, );