Untitled
unknown
plain_text
6 months ago
7.7 kB
2
Indexable
import 'package:Buildeffective/src/screens/setting/component/no_contact_component.dart'; import 'package:Buildeffective/src/screens/setting/model/google_contact_response.dart'; import 'package:Buildeffective/src/screens/setting/store/my_contact_store.dart'; import 'package:Buildeffective/src/screens/splash/splash_screen.dart'; import 'package:Buildeffective/src/utils/comman_export.dart'; import 'package:flutter/material.dart'; import 'package:flutter_mobx/flutter_mobx.dart'; import 'package:mobx/mobx.dart'; import 'package:nb_utils/nb_utils.dart'; class GoogleContactComponent extends StatelessWidget { MyContactStore myContactStore = MyContactStore(); GoogleContactComponent({Key? key, required this.myContactStore}) : super(key: key); @override Widget build(BuildContext context) { return Observer(builder: (context) { return myContactStore.getGoogleContactSearchResult(list: myContactStore.connection).isEmpty ? NoContactComponent( isFromGoogleContact: true, ) : ListView.separated( padding: EdgeInsets.only(top: 6, bottom: 10), shrinkWrap: true, itemCount: myContactStore.getGoogleContactSearchResult(list: myContactStore.connection).asObservable().length, itemBuilder: (BuildContext context, int index) { Connections data = myContactStore.getGoogleContactSearchResult(list: myContactStore.connection).asObservable()[index]; return GestureDetector( onTap: () { data.isSelected = !data.isSelected; if (myContactStore.checkedStates.any( (element) => element.resourceName == data.resourceName, )) { myContactStore.checkedStates.removeWhere( (element) => element.resourceName == data.resourceName, ); } else { myContactStore.checkedStates.add(data); } }, child: Container( decoration: BoxDecoration(color: Colors.white, boxShadow: [ BoxShadow( color: Color.fromRGBO(0, 0, 0, 0.15), spreadRadius: 0, blurRadius: 4, offset: Offset(0, 5), ), ]), child: Padding( padding: EdgeInsets.symmetric(horizontal: 16, vertical: 12), child: Row( crossAxisAlignment: CrossAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.start, children: [ Container( height: 24.0, width: 24.0, child: Checkbox( shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(3.0)), side: BorderSide(color: BEColors.grey5Color, width: 2), activeColor: BEColors.primaryColor, splashRadius: 0, checkColor: !data.isSelected ? BEColors.grey4Color : BEColors.white, value: data.isSelected, onChanged: (value) { data.isSelected = !data.isSelected; if (myContactStore.checkedStates.any( (element) => element.resourceName == data.resourceName, )) { myContactStore.checkedStates.removeWhere( (element) => element.resourceName == data.resourceName, ); } else { myContactStore.checkedStates.add(data); } }, ), ), 10.width, Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ if (data.names != null) ...{ Text( "${data.names![0].displayName}", style: SplashScreen.isMobileDevice ? BETextStyles.H6StyleWithDarkBlueColor : BETextStyles.BodyStyle500With16WithDarkBlueColor, ) }, if (data.emailAddresses != null) ...{SplashScreen.isMobileDevice ? 0.height : 6.height}, SplashScreen.isMobileDevice ? Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ if (data.emailAddresses != null) ...{ 6.height, Text( "${data.emailAddresses![0].value}", style: BETextStyles.InfoTextStyle13WitGgreyColor646464Color500, ) }, if (!data.phoneNumbers.isNullOrEmpty()) ...{ 6.height, Text( "${myContactStore.formatUSMobileNumber(data.phoneNumbers![0].value.validate(), displayName: data.names![0].displayName!)}", style: BETextStyles.InfoTextStyle13WitGgreyColor646464Color500, ) } ], ) : Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ if (data.emailAddresses != null) ...{ Text( "${data.emailAddresses![0].value}", style: BETextStyles.InfoTextStyle13WitGgreyColor646464Color500, ) }, if (!data.phoneNumbers.isNullOrEmpty()) ...{ Text( "${myContactStore.formatUSMobileNumber(data.phoneNumbers![0].value.validate(), displayName: data.names![0].displayName!)}", style: BETextStyles.InfoTextStyle13WitGgreyColor646464Color500, ) } ], ), ], ).expand(), ], ), ), ), ); }, separatorBuilder: (BuildContext context, int index) { return Divider( height: 0, ); }, ); }); } }
Editor is loading...
Leave a Comment