import 'package:easy_localization/easy_localization.dart'; import 'package:flutter/material.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'; import 'package:mohem_flutter_app/models/generic_response_model.dart'; class BusinessCardDialog extends StatelessWidget { final String? qrBase64; final EmpBusinessCardInfoModel? employeeInfo; const BusinessCardDialog({Key? key, this.qrBase64, this.employeeInfo}) : super(key: key); @override Widget build(BuildContext context) { return RotatedBox( quarterTurns: 1, child: AspectRatio( aspectRatio: 3.5 / 2, child: SingleChildScrollView( 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), ], ), ), Image.memory( Utils.getPostBytes(qrBase64 ?? ""), width: 129, height: 129, ), ], ).paddingOnly(top: 26, left: 8.5), Column( crossAxisAlignment: CrossAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.start, children: [ (employeeInfo?.fullName ?? "") .toText23(isBold: true) .paddingOnly(top: 15), (employeeInfo?.pPositionTitle ?? "").toText17( color: MyColors.grey57Color, ), 30.height, Row( children: [ const Icon( Icons.email, size: 17.5, color: MyColors.grey3AColor, ).paddingOnly(right: 11.5), ("${LocaleKeys.email.tr()}: ").toText18( color: MyColors.grey57Color, ), (employeeInfo?.pEmailAddress ?? "").toText18(), ], ), Row( children: [ const Icon( Icons.call, size: 17.5, color: MyColors.grey3AColor, ).paddingOnly(right: 11.5), ("${LocaleKeys.mobile.tr()}: ").toText18( color: MyColors.grey57Color, ), (employeeInfo?.pMobilePhoneNumber ?? "").toText18(), ], ), ], ), ], ).paddingOnly(right: 13, left: 32, bottom: 28), ), ), ); } }