Files
syncrow-web/lib/pages/space_tree/bloc/space_tree_state.dart
2025-01-04 17:45:15 +03:00

32 lines
1.0 KiB
Dart

import 'package:equatable/equatable.dart';
import 'package:syncrow_web/pages/spaces_management/all_spaces/model/community_model.dart';
class SpaceTreeState extends Equatable {
final List<CommunityModel> spacesList;
final String selectedSpace;
final String selectedCommunity;
const SpaceTreeState(
{this.spacesList = const [], this.selectedSpace = '', this.selectedCommunity = ''});
SpaceTreeState copyWith(
{List<CommunityModel>? communitiesList, String? selectedSpace, String? selectedCommunity}) {
return SpaceTreeState(
spacesList: communitiesList ?? this.spacesList,
selectedSpace: selectedSpace ?? this.selectedSpace,
selectedCommunity: selectedCommunity ?? this.selectedCommunity);
}
@override
List<Object?> get props => [spacesList, selectedSpace, selectedCommunity];
}
class SpaceTreeLoadingState extends SpaceTreeState {}
class SpaceTreeErrorState extends SpaceTreeState {
final String message;
const SpaceTreeErrorState(this.message);
@override
List<Object?> get props => [message];
}