import 'dart:async'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:syncrow_app/features/devices/bloc/device_manager_bloc/device_manager_bloc.dart'; import 'package:syncrow_app/features/devices/bloc/device_manager_bloc/device_manager_event.dart'; import 'package:syncrow_app/features/scene/bloc/tab_change/tab_change_event.dart'; import 'package:syncrow_app/features/scene/bloc/tab_change/tab_change_state.dart'; class TabBarBloc extends Bloc { final DeviceManagerBloc deviceManagerBloc; TabBarBloc(this.deviceManagerBloc) : super(const Initial()) { on(_handleTabChanged); } FutureOr _handleTabChanged( TabChanged event, Emitter emit) { if (event.roomId == "-1") { deviceManagerBloc.add(FetchAllDevices()); } else { deviceManagerBloc.add(FetchDevicesByRoomId(event.roomId)); } emit(TabSelected( roomId: event.roomId, selectedTabIndex: event.selectedIndex)); } }