diff --git a/lib/features/devices/bloc/devices_cubit.dart b/lib/features/devices/bloc/devices_cubit.dart index 54beed6..a6c1469 100644 --- a/lib/features/devices/bloc/devices_cubit.dart +++ b/lib/features/devices/bloc/devices_cubit.dart @@ -291,7 +291,7 @@ class DevicesCubit extends Cubit { fetchDevicesByRoomId(String? roomId) async { if (roomId == null) return; if (roomId == '-1') { - return fetchAllDevices(); + return fetchAllDevices(roomId); } emitSafe(GetDevicesLoading()); @@ -320,13 +320,15 @@ class DevicesCubit extends Cubit { // } } - void fetchAllDevices() async { + void fetchAllDevices(String roomId) async { emitSafe(GetDevicesLoading()); try { final allDevices = await HomeManagementAPI.fetchDevicesByUserId(); + emitSafe(GetDevicesSuccess(allDevices)); } catch (e) { emitSafe(GetDevicesError(e.toString())); + return; } } diff --git a/lib/features/scene/bloc/create_scene/create_scene_bloc.dart b/lib/features/scene/bloc/create_scene/create_scene_bloc.dart index e69de29..95a29b8 100644 --- a/lib/features/scene/bloc/create_scene/create_scene_bloc.dart +++ b/lib/features/scene/bloc/create_scene/create_scene_bloc.dart @@ -0,0 +1,13 @@ +import 'package:bloc/bloc.dart'; +import 'package:equatable/equatable.dart'; + +part 'create_scene_event.dart'; +part 'create_scene_state.dart'; + +class CreateSceneBloc extends Bloc { + CreateSceneBloc() : super(CreateSceneInitial()) { + on((event, emit) { + // TODO: implement event handler + }); + } +} diff --git a/lib/features/scene/bloc/create_scene/create_scene_event.dart b/lib/features/scene/bloc/create_scene/create_scene_event.dart index e69de29..24b7430 100644 --- a/lib/features/scene/bloc/create_scene/create_scene_event.dart +++ b/lib/features/scene/bloc/create_scene/create_scene_event.dart @@ -0,0 +1,8 @@ +part of 'create_scene_bloc.dart'; + +sealed class CreateSceneEvent extends Equatable { + const CreateSceneEvent(); + + @override + List get props => []; +} diff --git a/lib/features/scene/bloc/create_scene/create_scene_state.dart b/lib/features/scene/bloc/create_scene/create_scene_state.dart index 8b13789..a0fa4d3 100644 --- a/lib/features/scene/bloc/create_scene/create_scene_state.dart +++ b/lib/features/scene/bloc/create_scene/create_scene_state.dart @@ -1 +1,10 @@ +part of 'create_scene_bloc.dart'; +sealed class CreateSceneState extends Equatable { + const CreateSceneState(); + + @override + List get props => []; +} + +final class CreateSceneInitial extends CreateSceneState {} diff --git a/lib/features/scene/view/scene_control_devices.dart b/lib/features/scene/view/scene_control_devices.dart index 3026c86..e4cce41 100644 --- a/lib/features/scene/view/scene_control_devices.dart +++ b/lib/features/scene/view/scene_control_devices.dart @@ -28,10 +28,19 @@ class _SceneControlDevicesViewState extends State @override void initState() { rooms = HomeCubit.getInstance().selectedSpace?.rooms; - rooms?.insert( - 0, - RoomModel( - name: 'All Devices', devices: [], id: '-1', type: SpaceType.Room)); + if (rooms != null) { + if (rooms![0].id != '-1') { + rooms?.insert( + 0, + RoomModel( + name: 'All Devices', + devices: [], + id: '-1', + type: SpaceType.Room, + ), + ); + } + } _tabController = TabController(length: rooms!.length, vsync: this, initialIndex: 0); diff --git a/lib/navigation/router.dart b/lib/navigation/router.dart index 837925d..220e1f1 100644 --- a/lib/navigation/router.dart +++ b/lib/navigation/router.dart @@ -1,6 +1,5 @@ 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/app_layout/view/app_layout.dart'; import 'package:syncrow_app/features/auth/view/otp_view.dart'; import 'package:syncrow_app/features/auth/view/login_view.dart'; @@ -78,7 +77,7 @@ class Router { providers: [ BlocProvider( create: (BuildContext context) => TabBarBloc() - ..add(const TabChanged(selectedIndex: 0, roomId: '')), + ..add(const TabChanged(selectedIndex: 0, roomId: '-1')), ), BlocProvider( create: (context) => DevicesCubit.getInstance()),