34 lines
936 B
Dart
34 lines
936 B
Dart
import 'package:equatable/equatable.dart';
|
|
import 'package:flutter/material.dart';
|
|
import '../character.dart'; // Добавим импорт для Character
|
|
|
|
enum HomeStatus { initial, loading, loaded, error }
|
|
|
|
class HomeState extends Equatable {
|
|
final HomeStatus status;
|
|
final List<Character> characters; // Список персонажей
|
|
final String errorMessage;
|
|
|
|
const HomeState({
|
|
this.status = HomeStatus.initial,
|
|
this.characters = const [],
|
|
this.errorMessage = '',
|
|
});
|
|
|
|
// Метод для обновления состояния
|
|
HomeState copyWith({
|
|
HomeStatus? status,
|
|
List<Character>? characters,
|
|
String? errorMessage,
|
|
}) {
|
|
return HomeState(
|
|
status: status ?? this.status,
|
|
characters: characters ?? this.characters,
|
|
errorMessage: errorMessage ?? this.errorMessage,
|
|
);
|
|
}
|
|
|
|
@override
|
|
List<Object?> get props => [status, characters, errorMessage];
|
|
}
|