Business Card Design Update

business_trip_settlement
Aamir Muhammad 2 years ago
parent 12ec0a25ee
commit 6cf7340417

@ -28,6 +28,6 @@ subprojects {
project.evaluationDependsOn(':app') project.evaluationDependsOn(':app')
} }
task clean(type: Delete) { tasks.register("clean", Delete) {
delete rootProject.buildDir delete rootProject.buildDir
} }

@ -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), 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( Widget toText24({Color? color, bool isBold = false, bool isCentered = false}) => Text(
this, this,
textAlign: isCentered ? TextAlign.center : null, textAlign: isCentered ? TextAlign.center : null,

@ -1,68 +1,82 @@
import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:mohem_flutter_app/app_state/app_state.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/classes/utils.dart';
import 'package:mohem_flutter_app/extensions/int_extensions.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/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 { class BusinessCardDialog extends StatelessWidget {
const BusinessCardDialog({Key? key}) : super(key: key);
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return RotatedBox( return RotatedBox(
quarterTurns: 1, quarterTurns: 1,
child: AspectRatio( child: AspectRatio(
aspectRatio: 3.5 / 2, aspectRatio: 3.5 / 2,
child: Container( child: Column(
// width: MediaQuery.of(context).size.height / 2, mainAxisSize: MainAxisSize.min,
color: Colors.white, crossAxisAlignment: CrossAxisAlignment.start,
margin: EdgeInsets.all(21), mainAxisAlignment: MainAxisAlignment.start,
child: Column(
mainAxisSize: MainAxisSize.min, children: [
crossAxisAlignment: CrossAxisAlignment.start, Row(
mainAxisAlignment: MainAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ mainAxisAlignment: MainAxisAlignment.start,
Row( children: [
crossAxisAlignment: CrossAxisAlignment.start, Expanded(
mainAxisAlignment: MainAxisAlignment.start, child: Column(
children: [ crossAxisAlignment: CrossAxisAlignment.start,
Expanded( mainAxisAlignment: MainAxisAlignment.start,
child: Column( children: [
crossAxisAlignment: CrossAxisAlignment.start, Image.asset(
mainAxisAlignment: MainAxisAlignment.start, "assets/images/logos/bn_cloud_soloution.jpg",
children: [ width: 94,
Image.asset( height: 91.15,
"assets/images/logos/bn_cloud_soloution.jpg", ).paddingOnly(top: 4),
width: 80, ],
height: 80,
),
12.height,
(AppState().memberInformationList!.eMPLOYEENAME ?? "").toText20(isBold: true),
],
),
),
Image.memory(
Utils.getPostBytes(AppState().memberInformationList!.businessCardQR ?? ""),
width: 100,
height: 100,
), ),
], ),
), Image.memory(
Column( Utils.getPostBytes(AppState().memberInformationList!.businessCardQR ?? ""),
crossAxisAlignment: CrossAxisAlignment.start, width: 129,
mainAxisAlignment: MainAxisAlignment.start, height: 129,
children: [ ),
1.height, ],
(AppState().memberInformationList!.getPositionName() ?? "").toText13(), ).paddingOnly(top: 26, left: 8.5),
12.height, Column(
(AppState().memberInformationList!.eMPLOYEENUMBER ?? "").toText13(), crossAxisAlignment: CrossAxisAlignment.start,
1.height, mainAxisAlignment: MainAxisAlignment.start,
(AppState().memberInformationList!.eMPLOYEEEMAILADDRESS ?? "").toText13(), children: [
1.height, (AppState().memberInformationList!.eMPLOYEENAME ?? "").toText23(isBold: true).paddingOnly(top: 15),
(AppState().memberInformationList!.jOBNAME ?? "").toText13(), (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),
), ),
); );
} }

@ -119,7 +119,7 @@ class _AppDrawerState extends State<AppDrawer> {
}), }),
menuItem("assets/images/drawer/employee_id.svg", LocaleKeys.employeeDigitalID.tr(), "", closeDrawer: false, onPress: () => showMDialog(context, child: EmployeeDigitialIdDialog())), menuItem("assets/images/drawer/employee_id.svg", LocaleKeys.employeeDigitalID.tr(), "", closeDrawer: false, onPress: () => showMDialog(context, child: EmployeeDigitialIdDialog())),
if (AppState().businessCardPrivilege) 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: performLogout),
// menuItem("assets/images/drawer/logout.svg", LocaleKeys.logout.tr(), "", color: MyColors.redA3Color, closeDrawer: false, onPress: () {Navigator.pushNamed(context, AppRoutes.survey,); // menuItem("assets/images/drawer/logout.svg", LocaleKeys.logout.tr(), "", color: MyColors.redA3Color, closeDrawer: false, onPress: () {Navigator.pushNamed(context, AppRoutes.survey,);
], ],

@ -1,11 +1,18 @@
import 'package:flutter/material.dart'; 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( return showDialog(
context: context, context: context,
barrierDismissible: isDismissable, barrierDismissible: isDismissable,
builder: (context) { builder: (context) {
return Dialog( return Dialog(
shape: isBusniessCard
? const RoundedRectangleBorder(
borderRadius: BorderRadius.all(
Radius.circular(15.0),
),
)
: null,
backgroundColor: backgroundColor, backgroundColor: backgroundColor,
child: child, child: child,
); );

Loading…
Cancel
Save