diff --git a/assets/icons/sos_home_icon.svg b/assets/icons/sos_home_icon.svg
new file mode 100644
index 0000000..6f36bac
--- /dev/null
+++ b/assets/icons/sos_home_icon.svg
@@ -0,0 +1,23 @@
+
diff --git a/lib/features/devices/bloc/sos_bloc/sos_bloc.dart b/lib/features/devices/bloc/sos_bloc/sos_bloc.dart
index b2d322a..b41356c 100644
--- a/lib/features/devices/bloc/sos_bloc/sos_bloc.dart
+++ b/lib/features/devices/bloc/sos_bloc/sos_bloc.dart
@@ -305,20 +305,10 @@ class SosBloc extends Bloc {
allDevices.forEach((element) {
allDevicesIds.add(element.uuid!);
});
- emit(SaveSelectionSuccessState());
+ await HomeCubit.getInstance().fetchUnitsByUserId();
+ CustomSnackBar.displaySnackBar('Save Successfully');
- // devicesList.forEach((e) {
- // if (allDevicesIds.contains(e.uuid!)) {
- // roomDevicesId[e.uuid!] = true;
- // } else {
- // roomDevicesId[e.uuid!] = false;
- // }
- // });
- // emit(FetchDeviceByRoomIdState(
- // roomDevices: devicesList,
- // allDevices: allDevices,
- // roomDevicesId: roomDevicesId,
- // roomId: event.roomId));
+ emit(SaveSelectionSuccessState());
} catch (e) {
emit(const SosFailedState(errorMessage: 'Something went wrong'));
return;
@@ -465,4 +455,16 @@ class SosBloc extends Bloc {
emit(SosFailedState(errorMessage: e.toString()));
}
}
+
+ deleteDevice(DeleteDeviceEvent event, Emitter emit) async {
+ try {
+ emit(SosLoadingState());
+ var response = await DevicesAPI.resetDevise(devicesUuid: sosId);
+ add(SosInitialDeviseInfo());
+ add(const SosInitial());
+ CustomSnackBar.displaySnackBar('Reset Successfully');
+ } catch (e) {
+ emit(SosFailedState(errorMessage: e.toString()));
+ }
+ }
}
diff --git a/lib/features/devices/bloc/sos_bloc/sos_event.dart b/lib/features/devices/bloc/sos_bloc/sos_event.dart
index f002304..6556228 100644
--- a/lib/features/devices/bloc/sos_bloc/sos_event.dart
+++ b/lib/features/devices/bloc/sos_bloc/sos_event.dart
@@ -12,6 +12,7 @@ abstract class SosEvent extends Equatable {
}
class SosLoading extends SosEvent {}
+class DeleteDeviceEvent extends SosLoading {}
class SosSwitch extends SosEvent {
final String switchD;
diff --git a/lib/features/devices/model/device_model.dart b/lib/features/devices/model/device_model.dart
index aee7fbc..557e83f 100644
--- a/lib/features/devices/model/device_model.dart
+++ b/lib/features/devices/model/device_model.dart
@@ -82,6 +82,8 @@ class DeviceModel {
tempIcon = Assets.fourSceneHomeIcon;
} else if (type == DeviceType.SixScene) {
tempIcon = Assets.sixSceneHomeIcon;
+ } else if (type == DeviceType.SOS) {
+ tempIcon = Assets.sosHomeIcon;
} else {
tempIcon = Assets.assetsIconsLogo;
}
diff --git a/lib/features/devices/view/widgets/6_scene_switch/6_scene_setting/share_six_scene_page.dart b/lib/features/devices/view/widgets/6_scene_switch/6_scene_setting/share_six_scene_page.dart
index ae38850..b3695cc 100644
--- a/lib/features/devices/view/widgets/6_scene_switch/6_scene_setting/share_six_scene_page.dart
+++ b/lib/features/devices/view/widgets/6_scene_switch/6_scene_setting/share_six_scene_page.dart
@@ -61,6 +61,9 @@ class ShareSixScenePage extends StatelessWidget {
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
+ SizedBox(
+ height: MediaQuery.of(context).size.height * 0.05,
+ ),
const BodyLarge(
text: 'Sharing Method Not Supported',
fontSize: 15,
diff --git a/lib/features/devices/view/widgets/four_scene_switch/four_scene_setting/faq_four_scene_page.dart b/lib/features/devices/view/widgets/four_scene_switch/four_scene_setting/faq_four_scene_page.dart
index 7e67462..aff8eee 100644
--- a/lib/features/devices/view/widgets/four_scene_switch/four_scene_setting/faq_four_scene_page.dart
+++ b/lib/features/devices/view/widgets/four_scene_switch/four_scene_setting/faq_four_scene_page.dart
@@ -43,113 +43,108 @@ class FaqFourScenePage extends StatelessWidget {
height: 50,
child: CircularProgressIndicator()),
)
- : RefreshIndicator(
- onRefresh: () async {
- // sensor.add(const SosInitial());
- },
- child: Column(
- crossAxisAlignment: CrossAxisAlignment.start,
- mainAxisAlignment: MainAxisAlignment.start,
- children: [
- DefaultContainer(
- padding: const EdgeInsets.all(5),
- child: TextFormField(
- controller: _searchController,
- onChanged: (value) {
- sensor.add(SearchFaqEvent(value));
- },
- decoration: InputDecoration(
- hintText: 'Enter your questions',
- hintStyle: const TextStyle(
- color: ColorsManager.textGray,
- fontSize: 16,
- fontWeight: FontWeight.w400),
- suffixIcon: Container(
- padding: const EdgeInsets.all(5.0),
- margin: const EdgeInsets.all(10.0),
- child: SvgPicture.asset(
- Assets.searchIcon,
- fit: BoxFit.contain,
- ),
- ),
- border: OutlineInputBorder(
- borderRadius: BorderRadius.circular(8.0),
+ : Column(
+ crossAxisAlignment: CrossAxisAlignment.start,
+ mainAxisAlignment: MainAxisAlignment.start,
+ children: [
+ DefaultContainer(
+ padding: const EdgeInsets.all(5),
+ child: TextFormField(
+ controller: _searchController,
+ onChanged: (value) {
+ sensor.add(SearchFaqEvent(value));
+ },
+ decoration: InputDecoration(
+ hintText: 'Enter your questions',
+ hintStyle: const TextStyle(
+ color: ColorsManager.textGray,
+ fontSize: 16,
+ fontWeight: FontWeight.w400),
+ suffixIcon: Container(
+ padding: const EdgeInsets.all(5.0),
+ margin: const EdgeInsets.all(10.0),
+ child: SvgPicture.asset(
+ Assets.searchIcon,
+ fit: BoxFit.contain,
),
),
+ border: OutlineInputBorder(
+ borderRadius: BorderRadius.circular(8.0),
+ ),
),
),
- SizedBox(
- height: MediaQuery.of(context).size.height * 0.04,
- ),
- BodyMedium(
- text: _searchController.text.isEmpty
- ? 'Device Related FAQs'
- : '${displayedQuestions.length} Help Topics',
- fontWeight: FontWeight.w700,
- fontSize: 12,
- fontColor: ColorsManager.grayColor,
- ),
- const SizedBox(
- height: 8,
- ),
- displayedQuestions.isEmpty
- ? const SizedBox()
- : DefaultContainer(
- child: ListView.builder(
- shrinkWrap: true,
- itemCount: displayedQuestions.length,
- itemBuilder: (context, index) {
- final faq = displayedQuestions[index];
- return InkWell(
- onTap: () {
- Navigator.of(context).push(
- MaterialPageRoute(
- builder: (context) =>
- QuestionPageFourScene(
- questionModel: faq,
- )),
- );
- },
- child: SizedBox(
- child: Column(
- mainAxisSize: MainAxisSize.min,
- mainAxisAlignment:
- MainAxisAlignment.start,
- crossAxisAlignment:
- CrossAxisAlignment.start,
- children: [
- Padding(
- padding: const EdgeInsets.all(8.0),
- child: Row(
- children: [
- Expanded(
- child: BodyMedium(
- fontSize: 14,
- fontWeight: FontWeight.w400,
- text: faq.question,
- ),
+ ),
+ SizedBox(
+ height: MediaQuery.of(context).size.height * 0.04,
+ ),
+ BodyMedium(
+ text: _searchController.text.isEmpty
+ ? 'Device Related FAQs'
+ : '${displayedQuestions.length} Help Topics',
+ fontWeight: FontWeight.w700,
+ fontSize: 12,
+ fontColor: ColorsManager.grayColor,
+ ),
+ const SizedBox(
+ height: 8,
+ ),
+ displayedQuestions.isEmpty
+ ? const SizedBox()
+ : DefaultContainer(
+ child: ListView.builder(
+ shrinkWrap: true,
+ itemCount: displayedQuestions.length,
+ itemBuilder: (context, index) {
+ final faq = displayedQuestions[index];
+ return InkWell(
+ onTap: () {
+ Navigator.of(context).push(
+ MaterialPageRoute(
+ builder: (context) =>
+ QuestionPageFourScene(
+ questionModel: faq,
+ )),
+ );
+ },
+ child: SizedBox(
+ child: Column(
+ mainAxisSize: MainAxisSize.min,
+ mainAxisAlignment:
+ MainAxisAlignment.start,
+ crossAxisAlignment:
+ CrossAxisAlignment.start,
+ children: [
+ Padding(
+ padding: const EdgeInsets.all(8.0),
+ child: Row(
+ children: [
+ Expanded(
+ child: BodyMedium(
+ fontSize: 14,
+ fontWeight: FontWeight.w400,
+ text: faq.question,
),
- const Icon(
- Icons.keyboard_arrow_right,
- color: ColorsManager.textGray,
- ),
- ],
- ),
+ ),
+ const Icon(
+ Icons.keyboard_arrow_right,
+ color: ColorsManager.textGray,
+ ),
+ ],
),
- if (index !=
- displayedQuestions.length -
- 1) // Exclude divider for the last item
- const Divider(
- color: ColorsManager.dividerColor,
- ),
- ],
- ),
+ ),
+ if (index !=
+ displayedQuestions.length -
+ 1) // Exclude divider for the last item
+ const Divider(
+ color: ColorsManager.dividerColor,
+ ),
+ ],
),
- );
- },
- )),
- ],
- ),
+ ),
+ );
+ },
+ )),
+ ],
);
},
),
diff --git a/lib/features/devices/view/widgets/four_scene_switch/four_scene_setting/share_four_scene_page.dart b/lib/features/devices/view/widgets/four_scene_switch/four_scene_setting/share_four_scene_page.dart
index e0db463..e0558f1 100644
--- a/lib/features/devices/view/widgets/four_scene_switch/four_scene_setting/share_four_scene_page.dart
+++ b/lib/features/devices/view/widgets/four_scene_switch/four_scene_setting/share_four_scene_page.dart
@@ -56,6 +56,9 @@ class ShareFourScenePage extends StatelessWidget {
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
+ SizedBox(
+ height: MediaQuery.of(context).size.height * 0.05,
+ ),
const BodyLarge(
text: 'Sharing Method Not Supported',
fontSize: 15,
diff --git a/lib/features/devices/view/widgets/sos/sos_setting/share_sos_page.dart b/lib/features/devices/view/widgets/sos/sos_setting/share_sos_page.dart
index fdbf4d9..0c7b1f4 100644
--- a/lib/features/devices/view/widgets/sos/sos_setting/share_sos_page.dart
+++ b/lib/features/devices/view/widgets/sos/sos_setting/share_sos_page.dart
@@ -1,15 +1,18 @@
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
+import 'package:syncrow_app/features/app_layout/bloc/home_cubit.dart';
import 'package:syncrow_app/features/devices/bloc/sos_bloc/sos_bloc.dart';
import 'package:syncrow_app/features/devices/bloc/sos_bloc/sos_event.dart';
import 'package:syncrow_app/features/devices/bloc/sos_bloc/sos_state.dart';
import 'package:syncrow_app/features/devices/model/device_model.dart';
import 'package:syncrow_app/features/devices/model/sos_model.dart';
+import 'package:syncrow_app/features/menu/view/widgets/manage_home/home_settings.dart';
import 'package:syncrow_app/features/shared_widgets/default_button.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/features/shared_widgets/text_widgets/body_large.dart';
import 'package:syncrow_app/features/shared_widgets/text_widgets/body_medium.dart';
+import 'package:syncrow_app/utils/helpers/custom_page_route.dart';
import 'package:syncrow_app/utils/resource_manager/color_manager.dart';
class ShareSosPage extends StatelessWidget {
@@ -19,6 +22,8 @@ class ShareSosPage extends StatelessWidget {
@override
Widget build(BuildContext context) {
+ var spaces = HomeCubit.getInstance().spaces;
+
return DefaultScaffold(
title: 'Share Device',
child: BlocProvider(
@@ -48,6 +53,9 @@ class ShareSosPage extends StatelessWidget {
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
+ SizedBox(
+ height: MediaQuery.of(context).size.height * 0.05,
+ ),
const BodyLarge(
text: 'Sharing Method Not Supported',
fontSize: 15,
@@ -87,7 +95,10 @@ class ShareSosPage extends StatelessWidget {
backgroundColor: ColorsManager.blueColor1,
borderRadius: 50,
onPressed: () {
-
+ Navigator.of(context).push(CustomPageRoute(
+ builder: (context) => HomeSettingsView(
+ space: spaces!.first,
+ )));
},
child: Text('Add Home Member')),
),
diff --git a/lib/features/devices/view/widgets/sos/sos_setting/sos_profile_page.dart b/lib/features/devices/view/widgets/sos/sos_setting/sos_profile_page.dart
index 5d9b033..6f9cb52 100644
--- a/lib/features/devices/view/widgets/sos/sos_setting/sos_profile_page.dart
+++ b/lib/features/devices/view/widgets/sos/sos_setting/sos_profile_page.dart
@@ -59,15 +59,16 @@ class SosProfilePage extends StatelessWidget {
children: [
CircleAvatar(
radius: 60,
- backgroundColor: Colors.white,
+ backgroundColor: Colors.white.withOpacity(0),
child: CircleAvatar(
radius: 55,
backgroundColor: ColorsManager.graysColor,
child: ClipOval(
child: Center(
child: SvgPicture.asset(
- Assets.sosProfileIcon,
- fit: BoxFit.contain,
+ Assets.sosHomeIcon,
+ fit: BoxFit.fitHeight,
+ height: 100,
),
),
),
diff --git a/lib/features/devices/view/widgets/sos/sos_settings.dart b/lib/features/devices/view/widgets/sos/sos_settings.dart
index 6d27019..17dbf46 100644
--- a/lib/features/devices/view/widgets/sos/sos_settings.dart
+++ b/lib/features/devices/view/widgets/sos/sos_settings.dart
@@ -125,15 +125,16 @@ class SosSettings extends StatelessWidget {
radius: 40,
backgroundColor: Colors.white,
child: CircleAvatar(
- radius: 40,
- backgroundColor: Colors.grey,
- child: ClipOval(
- child: SvgPicture.asset(
- Assets.sosProfileIcon,
- fit: BoxFit.fill,
- ),
- ),
- ),
+ radius: 40,
+ backgroundColor:
+ Colors.white.withOpacity(0),
+ child: ClipOval(
+ child: SvgPicture.asset(
+ Assets.sosHomeIcon,
+ fit: BoxFit.contain,
+ height: 80,
+ ),
+ )),
),
),
],
@@ -176,7 +177,6 @@ class SosSettings extends StatelessWidget {
context
.read()
.add(ToggleEnableAlarmEvent(p0));
-
},
isNotification: true,
onTap: () {},
@@ -350,17 +350,8 @@ class SosSettings extends StatelessWidget {
Navigator.of(context).pop();
},
confirmTab: () {
- // context
- // .read<
- // CreateSceneBloc>()
- // .add(DeleteSceneEvent(
- // sceneId: sceneId,
- // unitUuid: HomeCubit
- // .getInstance()
- // .selectedSpace!
- // .id!,
- // ));
- Navigator.of(context).pop();
+ _bloc.add(
+ DeleteDeviceEvent());
},
);
},
diff --git a/lib/generated/assets.dart b/lib/generated/assets.dart
index b08142a..859ae1c 100644
--- a/lib/generated/assets.dart
+++ b/lib/generated/assets.dart
@@ -1123,4 +1123,6 @@ class Assets {
static const String sixSceneHomeIcon = "assets/icons/six_scene_home_icon.svg";
static const String editDeviceNameIcon =
"assets/icons/edit_device_name_icon.svg";
+ static const String sosHomeIcon =
+ "assets/icons/sos_home_icon.svg";
}