diff --git a/assets/icons/3GangSwitch.svg b/assets/icons/3GangSwitch.svg
new file mode 100644
index 00000000..ecb9992b
--- /dev/null
+++ b/assets/icons/3GangSwitch.svg
@@ -0,0 +1,19 @@
+
diff --git a/assets/icons/AC.svg b/assets/icons/AC.svg
new file mode 100644
index 00000000..92f6fc59
--- /dev/null
+++ b/assets/icons/AC.svg
@@ -0,0 +1,14 @@
+
diff --git a/assets/icons/Curtain.svg b/assets/icons/Curtain.svg
new file mode 100644
index 00000000..a2e4f235
--- /dev/null
+++ b/assets/icons/Curtain.svg
@@ -0,0 +1,17 @@
+
diff --git a/assets/icons/Gateway.svg b/assets/icons/Gateway.svg
new file mode 100644
index 00000000..e293999e
--- /dev/null
+++ b/assets/icons/Gateway.svg
@@ -0,0 +1,19 @@
+
diff --git a/assets/icons/Light.svg b/assets/icons/Light.svg
new file mode 100644
index 00000000..c8cfff59
--- /dev/null
+++ b/assets/icons/Light.svg
@@ -0,0 +1,15 @@
+
diff --git a/assets/icons/doorLock.svg b/assets/icons/doorLock.svg
new file mode 100644
index 00000000..6f27673f
--- /dev/null
+++ b/assets/icons/doorLock.svg
@@ -0,0 +1,24 @@
+
diff --git a/assets/icons/sensors.svg b/assets/icons/sensors.svg
new file mode 100644
index 00000000..7fbb1506
--- /dev/null
+++ b/assets/icons/sensors.svg
@@ -0,0 +1,19 @@
+
diff --git a/lib/pages/device_managment/all_devices/helper/route_controls_based_code.dart b/lib/pages/device_managment/all_devices/helper/route_controls_based_code.dart
index 632cbc68..6076f95f 100644
--- a/lib/pages/device_managment/all_devices/helper/route_controls_based_code.dart
+++ b/lib/pages/device_managment/all_devices/helper/route_controls_based_code.dart
@@ -3,6 +3,7 @@ import 'package:flutter/material.dart';
import 'package:syncrow_web/pages/device_managment/ac/view/ac_device_control.dart';
import 'package:syncrow_web/pages/device_managment/all_devices/models/devices_model.dart';
import 'package:syncrow_web/pages/device_managment/ceiling_sensor/view/ceiling_sensor_controls.dart';
+import 'package:syncrow_web/pages/device_managment/gateway/view/gateway_view.dart';
import 'package:syncrow_web/pages/device_managment/living_room_switch/view/living_room_device_control.dart';
import 'package:syncrow_web/pages/device_managment/wall_sensor/view/wall_sensor_conrtols.dart';
@@ -14,7 +15,9 @@ mixin RouteControlsBasedCode {
device: device,
);
case 'GW':
- return const SizedBox();
+ return GateWayControls(
+ gatewayId: device.uuid!,
+ );
case 'DL':
return const SizedBox();
case 'WPS':
diff --git a/lib/pages/device_managment/gateway/bloc/gate_way_bloc.dart b/lib/pages/device_managment/gateway/bloc/gate_way_bloc.dart
new file mode 100644
index 00000000..ca572bf0
--- /dev/null
+++ b/lib/pages/device_managment/gateway/bloc/gate_way_bloc.dart
@@ -0,0 +1,30 @@
+import 'dart:async';
+
+import 'package:bloc/bloc.dart';
+import 'package:equatable/equatable.dart';
+import 'package:syncrow_web/pages/visitor_password/model/device_model.dart';
+import 'package:syncrow_web/services/devices_mang_api.dart';
+
+part 'gate_way_event.dart';
+part 'gate_way_state.dart';
+
+class GateWayBloc extends Bloc {
+ GateWayBloc() : super(GateWayInitial()) {
+ on((event, emit) {});
+ on(_getGatWayById);
+ }
+
+ FutureOr _getGatWayById(
+ GatWayById event, Emitter emit) async {
+ emit(GatewayLoadingState());
+ try {
+ List devicesList =
+ await DevicesManagementApi.getDevicesByGatewayId(event.getWayId);
+
+ emit(UpdateGatewayState(list: devicesList));
+ } catch (e) {
+ emit(ErrorState(message: e.toString()));
+ return;
+ }
+ }
+}
diff --git a/lib/pages/device_managment/gateway/bloc/gate_way_event.dart b/lib/pages/device_managment/gateway/bloc/gate_way_event.dart
new file mode 100644
index 00000000..22c81a12
--- /dev/null
+++ b/lib/pages/device_managment/gateway/bloc/gate_way_event.dart
@@ -0,0 +1,20 @@
+part of 'gate_way_bloc.dart';
+
+sealed class GateWayEvent extends Equatable {
+ const GateWayEvent();
+
+ @override
+ List