fix translations
						commit
						aca788ae26
					
				
											
												Binary file not shown.
											
										
									
								| After Width: | Height: | Size: 32 KiB | 
| @ -0,0 +1,113 @@ | ||||
| <?xml version="1.0" encoding="iso-8859-1"?> | ||||
| <!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  --> | ||||
| <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" | ||||
| 	 viewBox="0 0 64 64" style="enable-background:new 0 0 64 64;" xml:space="preserve"> | ||||
| <g> | ||||
| 	<rect x="38" y="23" width="2" height="5"/> | ||||
| 	<rect x="42" y="23" width="2" height="5"/> | ||||
| 	<rect x="38" y="30" width="2" height="2"/> | ||||
| 	<rect x="42" y="30" width="2" height="2"/> | ||||
| 	<rect x="31" y="34" width="2" height="2"/> | ||||
| 	<rect x="26" y="54" width="2" height="2"/> | ||||
| 	<rect x="42" y="34" width="2" height="2"/> | ||||
| 	<rect x="38" y="38" width="2" height="2"/> | ||||
| 	<rect x="42" y="38" width="2" height="2"/> | ||||
| 	<path d="M2,2h3V0H1C0.448,0,0,0.448,0,1v4h2V2z"/> | ||||
| 	<path d="M63,0h-4v2h3v3h2V1C64,0.448,63.552,0,63,0z"/> | ||||
| 	<path d="M2,59H0v4c0,0.552,0.448,1,1,1h4v-2H2V59z"/> | ||||
| 	<path d="M62,62h-3v2h4c0.552,0,1-0.448,1-1v-4h-2V62z"/> | ||||
| 	<path d="M4,5v12c0,0.552,0.448,1,1,1h12c0.552,0,1-0.448,1-1V5c0-0.552-0.448-1-1-1H5C4.448,4,4,4.448,4,5z M6,6h10v10H6V6z"/> | ||||
| 	<path d="M13,8H9C8.448,8,8,8.448,8,9v4c0,0.552,0.448,1,1,1h4c0.552,0,1-0.448,1-1V9C14,8.448,13.552,8,13,8z M12,12h-2v-2h2V12z" | ||||
| 		/> | ||||
| 	<path d="M47,18h12c0.552,0,1-0.448,1-1V5c0-0.552-0.448-1-1-1H47c-0.552,0-1,0.448-1,1v12C46,17.552,46.448,18,47,18z M48,6h10v10 | ||||
| 		H48V6z"/> | ||||
| 	<path d="M55,8h-4c-0.552,0-1,0.448-1,1v4c0,0.552,0.448,1,1,1h4c0.552,0,1-0.448,1-1V9C56,8.448,55.552,8,55,8z M54,12h-2v-2h2V12z | ||||
| 		"/> | ||||
| 	<path d="M17,46H5c-0.552,0-1,0.448-1,1v12c0,0.552,0.448,1,1,1h12c0.552,0,1-0.448,1-1V47C18,46.448,17.552,46,17,46z M16,58H6V48 | ||||
| 		h10V58z"/> | ||||
| 	<path d="M9,56h4c0.552,0,1-0.448,1-1v-4c0-0.552-0.448-1-1-1H9c-0.552,0-1,0.448-1,1v4C8,55.552,8.448,56,9,56z M10,52h2v2h-2V52z" | ||||
| 		/> | ||||
| 	<path d="M44,19h-7V7h-2v13c0,0.552,0.448,1,1,1h8V19z"/> | ||||
| 	<rect x="22" y="12" width="7" height="2"/> | ||||
| 	<rect x="26" y="8" width="7" height="2"/> | ||||
| 	<rect x="4" y="19" width="2" height="9"/> | ||||
| 	<path d="M18,25H8v2h9v4h2v-5C19,25.448,18.552,25,18,25z"/> | ||||
| 	<rect x="9" y="20" width="2" height="2"/> | ||||
| 	<rect x="21" y="18" width="2" height="8"/> | ||||
| 	<rect x="21" y="28" width="9" height="2"/> | ||||
| 	<path d="M61,29h-2v10h-3v2h4c0.552,0,1-0.448,1-1V29z"/> | ||||
| 	<rect x="26" y="18" width="2" height="2"/> | ||||
| 	<rect x="4" y="33" width="2" height="8"/> | ||||
| 	<rect x="4" y="42" width="9" height="2"/> | ||||
| 	<path d="M50,28h2v-4c0-0.552-0.448-1-1-1h-5v2h4V28z"/> | ||||
| 	<rect x="9" y="33" width="2" height="2"/> | ||||
| 	<rect x="20" y="32" width="2" height="8"/> | ||||
| 	<rect x="20" y="42" width="9" height="2"/> | ||||
| 	<rect x="8" y="38" width="9" height="2"/> | ||||
| 	<rect x="21" y="52" width="2" height="4"/> | ||||
| 	<rect x="20" y="48" width="9" height="2"/> | ||||
| 	<path d="M36,44v-5c0-0.552-0.448-1-1-1H25v2h9v4H36z"/> | ||||
| 	<rect x="26" y="32" width="2" height="2"/> | ||||
| 	<rect x="15" y="34" width="2" height="2"/> | ||||
| 	<rect x="59" y="53" width="2" height="7"/> | ||||
| 	<rect x="54" y="58" width="3" height="2"/> | ||||
| 	<rect x="54" y="52" width="2" height="4"/> | ||||
| 	<path d="M61,44c0-0.552-0.448-1-1-1H49v2h10v6h2V44z"/> | ||||
| 	<path d="M48,56v-5c0-0.552-0.448-1-1-1H36v2h10v4H48z"/> | ||||
| 	<rect x="50" y="47" width="7" height="2"/> | ||||
| 	<rect x="20" y="58" width="7" height="2"/> | ||||
| 	<rect x="30" y="51" width="2" height="9"/> | ||||
| 	<rect x="32" y="46" width="4" height="2"/> | ||||
| 	<path d="M47,36h5v-2h-4v-6h-2v7C46,35.552,46.448,36,47,36z"/> | ||||
| 	<rect x="50" y="30" width="5" height="2"/> | ||||
| 	<rect x="54" y="20" width="3" height="2"/> | ||||
| 	<rect x="59" y="20" width="2" height="5"/> | ||||
| 	<rect x="54" y="25" width="2" height="2"/> | ||||
| 	<path d="M39,17h4c0.552,0,1-0.448,1-1V3h-2v12h-3V17z"/> | ||||
| 	<path d="M24,5h15V3H23c-0.552,0-1,0.448-1,1v5h2V5z"/> | ||||
| 	<path d="M25,24h7c0.552,0,1-0.448,1-1v-8h-2v7h-6V24z"/> | ||||
| 	<rect x="34" y="23" width="2" height="4"/> | ||||
| 	<rect x="36" y="54" width="7" height="2"/> | ||||
| 	<rect x="36" y="58" width="9" height="2"/> | ||||
| 	<path d="M50,58h-2v2h3c0.552,0,1-0.448,1-1v-8h-2V58z"/> | ||||
| 	<rect x="16" y="42" width="2" height="2"/> | ||||
| 	<rect x="39" y="42" width="4" height="2"/> | ||||
| 	<rect x="46" y="38" width="2" height="3"/> | ||||
| 	<rect x="45" y="43" width="2" height="2"/> | ||||
| 	<rect x="39" y="46" width="3" height="2"/> | ||||
| 	<rect x="50" y="38" width="2" height="2"/> | ||||
| 	<rect x="54" y="34" width="3" height="2"/> | ||||
| 	<rect x="35" y="34" width="5" height="2"/> | ||||
| 	<rect x="34" y="29" width="2" height="3"/> | ||||
| </g> | ||||
| <g> | ||||
| </g> | ||||
| <g> | ||||
| </g> | ||||
| <g> | ||||
| </g> | ||||
| <g> | ||||
| </g> | ||||
| <g> | ||||
| </g> | ||||
| <g> | ||||
| </g> | ||||
| <g> | ||||
| </g> | ||||
| <g> | ||||
| </g> | ||||
| <g> | ||||
| </g> | ||||
| <g> | ||||
| </g> | ||||
| <g> | ||||
| </g> | ||||
| <g> | ||||
| </g> | ||||
| <g> | ||||
| </g> | ||||
| <g> | ||||
| </g> | ||||
| <g> | ||||
| </g> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 4.3 KiB | 
											
												Binary file not shown.
											
										
									
								| After Width: | Height: | Size: 634 KiB | 
| @ -0,0 +1,67 @@ | ||||
| import 'package:flutter/material.dart'; | ||||
| import 'package:mohem_flutter_app/extensions/int_extensions.dart'; | ||||
| import 'package:mohem_flutter_app/extensions/string_extensions.dart'; | ||||
| 
 | ||||
| import 'package:mohem_flutter_app/app_state/app_state.dart'; | ||||
| import 'package:mohem_flutter_app/classes/utils.dart'; | ||||
| 
 | ||||
| class BusinessCardDialog extends StatelessWidget { | ||||
|   @override | ||||
|   Widget build(BuildContext context) { | ||||
|     return RotatedBox( | ||||
|       quarterTurns: 1, | ||||
|       child: Container( | ||||
|         width: MediaQuery.of(context).size.height / 2, | ||||
|         color: Colors.white, | ||||
|         margin: EdgeInsets.all(20), | ||||
|         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(), | ||||
|                     ], | ||||
|                   ), | ||||
|                 ), | ||||
|                 Image.memory( | ||||
|                   Utils.getPostBytes(AppState().memberInformationList!.businessCardQR ?? ""), | ||||
|                   width: 100, | ||||
|                   height: 100, | ||||
|                 ), | ||||
|               ], | ||||
|             ), | ||||
|             Column( | ||||
|               crossAxisAlignment: CrossAxisAlignment.start, | ||||
|               mainAxisAlignment: MainAxisAlignment.start, | ||||
|               children: [ | ||||
|                 1.height, | ||||
|                 (AppState().memberInformationList!.pOSITIONNAME ?? "").toText12(isBold: false), | ||||
|                 12.height, | ||||
|                 (AppState().memberInformationList!.eMPLOYEENUMBER ?? "").toText12(isBold: false), | ||||
|                 1.height, | ||||
|                 (AppState().memberInformationList!.eMPLOYEEEMAILADDRESS ?? "").toText12(isBold: false), | ||||
|                 1.height, | ||||
|                 (AppState().memberInformationList!.jOBNAME ?? "").toText12(isBold: false), | ||||
|               ], | ||||
|             ), | ||||
|           ], | ||||
|         ), | ||||
|       ), | ||||
|     ); | ||||
|   } | ||||
| } | ||||
| @ -0,0 +1,77 @@ | ||||
| import 'package:flutter/material.dart'; | ||||
| import 'package:mohem_flutter_app/app_state/app_state.dart'; | ||||
| import 'package:mohem_flutter_app/extensions/int_extensions.dart'; | ||||
| import 'package:mohem_flutter_app/extensions/string_extensions.dart'; | ||||
| import 'package:mohem_flutter_app/widgets/button/default_button.dart'; | ||||
| import 'package:qr_flutter/qr_flutter.dart'; | ||||
| 
 | ||||
| import 'package:mohem_flutter_app/classes/utils.dart'; | ||||
| import 'package:mohem_flutter_app/main.dart'; | ||||
| 
 | ||||
| class EmployeeDigitialIdDialog extends StatelessWidget { | ||||
|   @override | ||||
|   Widget build(BuildContext context) { | ||||
|     return Container( | ||||
|       width: double.infinity, | ||||
|       child: Column( | ||||
|         mainAxisSize: MainAxisSize.min, | ||||
|         children: [ | ||||
|           Image.asset("assets/images/bn_logo.png"), | ||||
|           Padding( | ||||
|             padding: const EdgeInsets.all(20.0), | ||||
|             child: Column( | ||||
|               mainAxisSize: MainAxisSize.min, | ||||
|               mainAxisAlignment: MainAxisAlignment.center, | ||||
|               crossAxisAlignment: CrossAxisAlignment.center, | ||||
|               children: [ | ||||
|                 Row( | ||||
|                   children: [ | ||||
|                     Container( | ||||
|                       width: 80, | ||||
|                       height: 80, | ||||
|                       decoration: BoxDecoration( | ||||
|                         color: Colors.white, | ||||
|                         borderRadius: const BorderRadius.all(Radius.circular(12)), | ||||
|                         boxShadow: [BoxShadow(color: Colors.white60, blurRadius: 10, spreadRadius: 10)], | ||||
|                       ), | ||||
|                       clipBehavior: Clip.antiAlias, | ||||
|                       child: Image.memory( | ||||
|                         Utils.getPostBytes( | ||||
|                           AppState().memberInformationList!.eMPLOYEEIMAGE ?? "", | ||||
|                         ), | ||||
|                         fit: BoxFit.cover, | ||||
|                       ), | ||||
|                     ), | ||||
|                     16.width, | ||||
|                     (AppState().memberInformationList!.eMPLOYEENUMBER ?? "").toText20(), | ||||
|                   ], | ||||
|                 ), | ||||
|                 Container( | ||||
|                   width: double.infinity, | ||||
|                   child: Column( | ||||
|                     mainAxisAlignment: MainAxisAlignment.start, | ||||
|                     crossAxisAlignment: CrossAxisAlignment.start, | ||||
|                     children: [ | ||||
|                       12.height, | ||||
|                       (AppState().memberInformationList!.eMPLOYEENAME ?? "").toText16(), | ||||
|                       4.height, | ||||
|                       (AppState().memberInformationList!.pOSITIONNAME ?? "").toText12(isBold: false), | ||||
|                     ], | ||||
|                   ), | ||||
|                 ), | ||||
|                 Image.memory( | ||||
|                   Utils.getPostBytes(AppState().memberInformationList!.employeeQR ?? ""), | ||||
|                   width: 160, | ||||
|                   height: 160, | ||||
|                 ), | ||||
|                 DefaultButton("Cancel", () { | ||||
|                   Navigator.pop(context); | ||||
|                 }) | ||||
|               ], | ||||
|             ), | ||||
|           ), | ||||
|         ], | ||||
|       ), | ||||
|     ); | ||||
|   } | ||||
| } | ||||
| @ -0,0 +1,16 @@ | ||||
| import 'package:flutter/material.dart'; | ||||
| 
 | ||||
| void showMDialog( | ||||
|   context, { | ||||
|   Widget? child, | ||||
| }) async { | ||||
|   return showDialog( | ||||
|     context: context, | ||||
|     barrierDismissible: true, | ||||
|     builder: (context) { | ||||
|       return Dialog( | ||||
|         child: child, | ||||
|       ); | ||||
|     }, | ||||
|   ); | ||||
| } | ||||
| @ -0,0 +1,76 @@ | ||||
| import 'package:flutter/material.dart'; | ||||
| import 'package:qr_code_scanner/qr_code_scanner.dart'; | ||||
| 
 | ||||
| import 'package:mohem_flutter_app/widgets/button/default_button.dart'; | ||||
| 
 | ||||
| class QrScannerDialog extends StatefulWidget { | ||||
|   @override | ||||
|   State<QrScannerDialog> createState() => _QrScannerDialogState(); | ||||
| } | ||||
| 
 | ||||
| class _QrScannerDialogState extends State<QrScannerDialog> { | ||||
|   final GlobalKey qrKey = GlobalKey(debugLabel: 'QR'); | ||||
|   Barcode? result; | ||||
|   QRViewController? controller; | ||||
|   bool isPicked = false; | ||||
| 
 | ||||
|   @override | ||||
|   Widget build(BuildContext context) { | ||||
|     return Scaffold( | ||||
|       body: Container( | ||||
|         width: double.infinity, | ||||
|         height: double.infinity, | ||||
|         color: Colors.white, | ||||
|         child: Column( | ||||
|           children: [ | ||||
|             Expanded( | ||||
|               flex: 1, | ||||
|               child: QRView( | ||||
|                 key: qrKey, | ||||
|                 onQRViewCreated: _onQRViewCreated, | ||||
|               ), | ||||
|             ), | ||||
|             // Expanded( | ||||
|             //   flex: 1, | ||||
|             //   child: Center( | ||||
|             //     child: (result != null) | ||||
|             //         ? Text( | ||||
|             //         'Barcode Type: ${result!.format}   Data: ${result!.code}') | ||||
|             //         : Text('Scan a code'), | ||||
|             //   ), | ||||
|             // ), | ||||
|             Padding( | ||||
|               padding: const EdgeInsets.all(12.0), | ||||
|               child: DefaultButton( | ||||
|                 "Cancel", | ||||
|                 () { | ||||
|                   Navigator.pop(context); | ||||
|                 }, | ||||
|               ), | ||||
|             ), | ||||
|           ], | ||||
|         ), | ||||
|       ), | ||||
|     ); | ||||
|   } | ||||
| 
 | ||||
|   void _onQRViewCreated(QRViewController controller) { | ||||
|     this.controller = controller; | ||||
| 
 | ||||
|     controller.scannedDataStream.listen((scanData) { | ||||
|       setState(() { | ||||
|         result = scanData; | ||||
|         if (!isPicked) { | ||||
|           isPicked = true; | ||||
|           Navigator.pop(context, result!.code); | ||||
|         } | ||||
|       }); | ||||
|     }); | ||||
|   } | ||||
| 
 | ||||
|   @override | ||||
|   void dispose() { | ||||
|     controller?.dispose(); | ||||
|     super.dispose(); | ||||
|   } | ||||
| } | ||||
					Loading…
					
					
				
		Reference in New Issue