push dialog changes in values

This commit is contained in:
ashrafzarkanisala
2024-07-28 05:04:57 +03:00
parent 0bda828161
commit 50b455b4ae
18 changed files with 645 additions and 33 deletions
@@ -65,32 +65,28 @@ class DeviceFunctionsView extends StatelessWidget
],
leading: TextButton(
onPressed: () {
// if (isAutomation) {
final automationSelectedValue =
context.read<CreateSceneBloc>().automationSelectedValues;
for (var element in device.functions) {
if (automationSelectedValue.containsKey(element.code)) {
context.read<CreateSceneBloc>().add(RemoveTempTaskByIdEvent(
code: element.code!, isAutomation: true));
context.read<CreateSceneBloc>().add(
RemoveFromSelectedValueById(
code: element.code!, isAutomation: true));
}
final automationSelectedValue =
context.read<CreateSceneBloc>().automationSelectedValues;
for (var element in device.functions) {
if (automationSelectedValue.containsKey(element.code)) {
context.read<CreateSceneBloc>().add(RemoveTempTaskByIdEvent(
code: element.code!, isAutomation: true));
context.read<CreateSceneBloc>().add(RemoveFromSelectedValueById(
code: element.code!, isAutomation: true));
}
// } else {
final selectedValue =
context.read<CreateSceneBloc>().selectedValues;
for (var element in device.functions) {
if (selectedValue.containsKey(element.code)) {
context
.read<CreateSceneBloc>()
.add(RemoveTempTaskByIdEvent(code: element.code!));
context
.read<CreateSceneBloc>()
.add(RemoveFromSelectedValueById(code: element.code!));
}
}
final selectedValue =
context.read<CreateSceneBloc>().selectedValues;
for (var element in device.functions) {
if (selectedValue.containsKey(element.code)) {
context
.read<CreateSceneBloc>()
.add(RemoveTempTaskByIdEvent(code: element.code!));
context
.read<CreateSceneBloc>()
.add(RemoveFromSelectedValueById(code: element.code!));
}
// }
}
Navigator.pop(context);
},
@@ -0,0 +1,70 @@
import 'package:flutter/material.dart';
import 'package:syncrow_app/features/scene/widgets/scene_list_tile.dart';
import 'package:syncrow_app/features/scene/widgets/select_smart_scene/smart_enable_autoamtion.dart';
import 'package:syncrow_app/features/scene/widgets/select_smart_scene/smart_enable_tab_run.dart';
import 'package:syncrow_app/features/shared_widgets/default_container.dart';
import 'package:syncrow_app/features/shared_widgets/default_scaffold.dart';
import 'package:syncrow_app/generated/assets.dart';
import 'package:syncrow_app/navigation/navigate_to_route.dart';
import 'package:syncrow_app/navigation/routing_constants.dart';
import 'package:syncrow_app/utils/context_extension.dart';
import 'package:syncrow_app/utils/resource_manager/color_manager.dart';
class SmartAutomationSelectView extends StatelessWidget {
const SmartAutomationSelectView({super.key});
@override
Widget build(BuildContext context) {
return DefaultScaffold(
title: "Select Smart Scene",
padding: const EdgeInsets.only(top: 24),
leading: IconButton(
onPressed: () {
navigateToRoute(context, Routes.sceneTasksRoute);
},
icon: const Icon(
Icons.arrow_back_ios,
)),
height: 260,
child: DefaultContainer(
width: double.infinity,
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
SceneListTile(
assetPath: Assets.handClickIcon,
titleString: "Tap To Run",
subtitleString: '',
trailingWidget: const Icon(
Icons.arrow_forward_ios_rounded,
color: ColorsManager.greyColor,
),
onPressed: () {
context.customBottomSheet(
child: const SmartEnableTabRun(),
);
},
),
const Divider(
color: ColorsManager.dividerColor,
),
SceneListTile(
assetPath: Assets.refreshIcon,
titleString: "Automation",
subtitleString: '',
trailingWidget: const Icon(
Icons.arrow_forward_ios_rounded,
color: ColorsManager.greyColor,
),
onPressed: () {
context.customBottomSheet(
child: const SmartEnableAutomation(),
);
},
),
],
),
),
);
}
}