add all devices fetch

This commit is contained in:
ashrafzarkanisala
2024-06-23 12:01:06 +03:00
parent 1fe4603cbf
commit b58af41b88
6 changed files with 48 additions and 8 deletions

View File

@ -291,7 +291,7 @@ class DevicesCubit extends Cubit<DevicesState> {
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<DevicesState> {
// }
}
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;
}
}

View File

@ -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<CreateSceneEvent, CreateSceneState> {
CreateSceneBloc() : super(CreateSceneInitial()) {
on<CreateSceneEvent>((event, emit) {
// TODO: implement event handler
});
}
}

View File

@ -0,0 +1,8 @@
part of 'create_scene_bloc.dart';
sealed class CreateSceneEvent extends Equatable {
const CreateSceneEvent();
@override
List<Object> get props => [];
}

View File

@ -1 +1,10 @@
part of 'create_scene_bloc.dart';
sealed class CreateSceneState extends Equatable {
const CreateSceneState();
@override
List<Object> get props => [];
}
final class CreateSceneInitial extends CreateSceneState {}

View File

@ -28,10 +28,19 @@ class _SceneControlDevicesViewState extends State<SceneControlDevicesView>
@override
void initState() {
rooms = HomeCubit.getInstance().selectedSpace?.rooms;
if (rooms != null) {
if (rooms![0].id != '-1') {
rooms?.insert(
0,
RoomModel(
name: 'All Devices', devices: [], id: '-1', type: SpaceType.Room));
name: 'All Devices',
devices: [],
id: '-1',
type: SpaceType.Room,
),
);
}
}
_tabController =
TabController(length: rooms!.length, vsync: this, initialIndex: 0);

View File

@ -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<TabBarBloc>(
create: (BuildContext context) => TabBarBloc()
..add(const TabChanged(selectedIndex: 0, roomId: '')),
..add(const TabChanged(selectedIndex: 0, roomId: '-1')),
),
BlocProvider<DevicesCubit>(
create: (context) => DevicesCubit.getInstance()),