
import 'package:equatable/equatable.dart';
import 'package:syncrow_web/pages/spaces_management/all_spaces/model/space_model.dart';

abstract class CreateRoutineState extends Equatable {
  const CreateRoutineState();

  @override
  List<Object?> get props => [];
}

class CreateRoutineInitial extends CreateRoutineState {
  const CreateRoutineInitial();
}

class SpaceWithDeviceLoadingState extends CreateRoutineState {
  const SpaceWithDeviceLoadingState();
}

class SpaceWithDeviceLoadedState extends CreateRoutineState {
  final List<SpaceModel> spaces;

  const SpaceWithDeviceLoadedState(this.spaces);

  @override
  List<Object?> get props => [spaces];
}

class SpaceTreeErrorState extends CreateRoutineState {
  final String errorMessage;

  const SpaceTreeErrorState(this.errorMessage);

  @override
  List<Object?> get props => [errorMessage];
}

class SelectedState extends CreateRoutineState {
  const SelectedState();
}


class ResetSelectedState extends CreateRoutineState {
  const ResetSelectedState();
}

class CommunityLoadedState extends CreateRoutineState {
  const CommunityLoadedState();
}

class CommunitiesLoadingState extends CreateRoutineState {
  const CommunitiesLoadingState();
}