You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			96 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Dart
		
	
			
		
		
	
	
			96 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Dart
		
	
import 'package:easy_localization/easy_localization.dart';
 | 
						|
import 'package:flutter/material.dart';
 | 
						|
import 'package:flutter_svg/svg.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/generated/locale_keys.g.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: const BoxDecoration(
 | 
						|
                        color: Colors.white,
 | 
						|
                        borderRadius: BorderRadius.all(Radius.circular(12)),
 | 
						|
                        boxShadow: [BoxShadow(color: Colors.white60, blurRadius: 10, spreadRadius: 10)],
 | 
						|
                      ),
 | 
						|
                      clipBehavior: Clip.antiAlias,
 | 
						|
                      child: (AppState().memberInformationList!.eMPLOYEEIMAGE == null || AppState().memberInformationList!.eMPLOYEEIMAGE!.isEmpty)
 | 
						|
                          ? Container(
 | 
						|
                              color: Colors.grey[300],
 | 
						|
                              child: SvgPicture.asset("assets/images/user.svg"),
 | 
						|
                            )
 | 
						|
                          : Image.memory(
 | 
						|
                              Utils.dataFromBase64String(
 | 
						|
                                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!.eMPLOYEEDISPLAYNAME ?? "").toText16(),
 | 
						|
                      4.height,
 | 
						|
                      (showJobName(AppState().memberInformationList!.pOSITIONNAME ?? "")).toText12(isBold: false),
 | 
						|
                    ],
 | 
						|
                  ),
 | 
						|
                ),
 | 
						|
                Image.memory(
 | 
						|
                  Utils.getPostBytes(AppState().memberInformationList!.employeeQR ?? ""),
 | 
						|
                  width: 160,
 | 
						|
                  height: 160,
 | 
						|
                ),
 | 
						|
                DefaultButton(LocaleKeys.close.tr(), () {
 | 
						|
                  Navigator.pop(context);
 | 
						|
                })
 | 
						|
              ],
 | 
						|
            ),
 | 
						|
          ),
 | 
						|
        ],
 | 
						|
      ),
 | 
						|
    );
 | 
						|
  }
 | 
						|
 | 
						|
  String showJobName(String position){
 | 
						|
    try{
 | 
						|
      var p=position.split(".");
 | 
						|
      return p[0]+" "+p[1];
 | 
						|
    }catch(e){
 | 
						|
      return "";
 | 
						|
    }
 | 
						|
 | 
						|
  }
 | 
						|
}
 |