Untitled
unknown
plain_text
a year ago
7.7 kB
6
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