add interactor get all rules

This commit is contained in:
ManhNTX
2022-08-08 11:33:10 +07:00
committed by Dat H. Pham
parent 3daad3ee39
commit 9ad41d9a6f
13 changed files with 226 additions and 48 deletions
@@ -24,7 +24,7 @@ class EmailRulesItemWidget extends GetWidget<EmailRulesController> {
return Container(
padding: const EdgeInsets.symmetric(vertical: 20, horizontal: 24),
color: Colors.white,
child: Row(crossAxisAlignment: CrossAxisAlignment.start, children: [
child: Row(crossAxisAlignment: CrossAxisAlignment.center, children: [
Text(rule.name,
style: const TextStyle(
fontSize: 16,
@@ -41,7 +41,7 @@ class EmailRulesItemWidget extends GetWidget<EmailRulesController> {
}),
buildIconWeb(
icon: SvgPicture.asset(
_imagePaths.icDeleteAttachment,
_imagePaths.icDeleteRule,
fit: BoxFit.fill,
),
onTap: () {
@@ -15,48 +15,53 @@ class ListEmailRulesWidget extends GetWidget<EmailRulesController> {
color: AppColor.colorBackgroundWrapIconStyleCode,
borderRadius: BorderRadius.circular(16),
),
child: Column(crossAxisAlignment: CrossAxisAlignment.start, children: [
Padding(
padding: const EdgeInsets.symmetric(
vertical: 28,
horizontal: 24,
),
child: Text(AppLocalizations.of(context).headerNameOfRules,
style: const TextStyle(
fontSize: 16,
fontWeight: FontWeight.w500,
color: AppColor.colorTextButtonHeaderThread)),
),
const Divider(
color: AppColor.lineItemListColor,
height: 1,
thickness: 0.2,
),
Expanded(
child: ListView.separated(
shrinkWrap: true,
itemCount: controller.listEmailRule.length,
itemBuilder: (context, index) {
final rule = controller.listEmailRule[index];
return EmailRulesItemWidget(
rule: rule,
editRule: (rule) {
controller.editEmailRule(rule);
},
deleteRule: (rule) {
controller.editEmailRule(rule);
},
);
},
separatorBuilder: (BuildContext context, int index) =>
const Divider(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisSize: MainAxisSize.min,
children: [
Padding(
padding: const EdgeInsets.symmetric(
vertical: 28,
horizontal: 24,
),
child: Text(AppLocalizations.of(context).headerNameOfRules,
style: const TextStyle(
fontSize: 16,
fontWeight: FontWeight.w500,
color: AppColor.colorTextButtonHeaderThread)),
),
const Divider(
color: AppColor.lineItemListColor,
height: 1,
thickness: 0.2,
),
),
),
]),
Expanded(
child: Obx(
() => ListView.separated(
shrinkWrap: true,
itemCount: controller.listEmailRule.length,
itemBuilder: (context, index) {
final rule = controller.listEmailRule[index];
return EmailRulesItemWidget(
rule: rule,
editRule: (rule) {
controller.editEmailRule(rule);
},
deleteRule: (rule) {
controller.editEmailRule(rule);
},
);
},
separatorBuilder: (BuildContext context, int index) =>
const Divider(
color: AppColor.lineItemListColor,
height: 1,
thickness: 0.2,
),
),
),
),
]),
);
}
}