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 { fetchDevicesByRoomId(String? roomId) async {
if (roomId == null) return; if (roomId == null) return;
if (roomId == '-1') { if (roomId == '-1') {
return fetchAllDevices(); return fetchAllDevices(roomId);
} }
emitSafe(GetDevicesLoading()); emitSafe(GetDevicesLoading());
@ -320,13 +320,15 @@ class DevicesCubit extends Cubit<DevicesState> {
// } // }
} }
void fetchAllDevices() async { void fetchAllDevices(String roomId) async {
emitSafe(GetDevicesLoading()); emitSafe(GetDevicesLoading());
try { try {
final allDevices = await HomeManagementAPI.fetchDevicesByUserId(); final allDevices = await HomeManagementAPI.fetchDevicesByUserId();
emitSafe(GetDevicesSuccess(allDevices)); emitSafe(GetDevicesSuccess(allDevices));
} catch (e) { } catch (e) {
emitSafe(GetDevicesError(e.toString())); 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 @override
void initState() { void initState() {
rooms = HomeCubit.getInstance().selectedSpace?.rooms; rooms = HomeCubit.getInstance().selectedSpace?.rooms;
if (rooms != null) {
if (rooms![0].id != '-1') {
rooms?.insert( rooms?.insert(
0, 0,
RoomModel( RoomModel(
name: 'All Devices', devices: [], id: '-1', type: SpaceType.Room)); name: 'All Devices',
devices: [],
id: '-1',
type: SpaceType.Room,
),
);
}
}
_tabController = _tabController =
TabController(length: rooms!.length, vsync: this, initialIndex: 0); TabController(length: rooms!.length, vsync: this, initialIndex: 0);

View File

@ -1,6 +1,5 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.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/app_layout/view/app_layout.dart';
import 'package:syncrow_app/features/auth/view/otp_view.dart'; import 'package:syncrow_app/features/auth/view/otp_view.dart';
import 'package:syncrow_app/features/auth/view/login_view.dart'; import 'package:syncrow_app/features/auth/view/login_view.dart';
@ -78,7 +77,7 @@ class Router {
providers: [ providers: [
BlocProvider<TabBarBloc>( BlocProvider<TabBarBloc>(
create: (BuildContext context) => TabBarBloc() create: (BuildContext context) => TabBarBloc()
..add(const TabChanged(selectedIndex: 0, roomId: '')), ..add(const TabChanged(selectedIndex: 0, roomId: '-1')),
), ),
BlocProvider<DevicesCubit>( BlocProvider<DevicesCubit>(
create: (context) => DevicesCubit.getInstance()), create: (context) => DevicesCubit.getInstance()),