forked from eatvio/eatvio_app
54 lines
1.2 KiB
Dart
54 lines
1.2 KiB
Dart
// ignore_for_file: must_be_immutable
|
|
|
|
part of 'chat_bloc.dart';
|
|
|
|
/// Represents the state of Chat in the application.
|
|
///
|
|
|
|
class ChatState extends Equatable {
|
|
ChatState({
|
|
this.chatModelObj,
|
|
});
|
|
|
|
ChatModel? chatModelObj;
|
|
|
|
@override
|
|
List<Object?> get props => [chatModelObj];
|
|
ChatState copyWith({ChatModel? chatModelObj}) {
|
|
return ChatState(
|
|
chatModelObj: chatModelObj ?? this.chatModelObj,
|
|
);
|
|
}
|
|
}
|
|
|
|
class ChatLoadedState extends ChatState {
|
|
ChatLoadedState({this.chatModelObj, this.messages});
|
|
|
|
ChatModel? chatModelObj;
|
|
List<ChatMessageModel>? messages;
|
|
|
|
@override
|
|
List<Object?> get props => [chatModelObj, messages];
|
|
ChatLoadedState copyWith(
|
|
{ChatModel? chatModelObj, List<ChatMessageModel>? messages}) {
|
|
return ChatLoadedState(
|
|
chatModelObj: chatModelObj ?? this.chatModelObj,
|
|
messages: messages ?? this.messages,
|
|
);
|
|
}
|
|
}
|
|
|
|
class ChatErrorState extends ChatState {
|
|
final String errorMessage;
|
|
|
|
ChatErrorState(this.errorMessage);
|
|
|
|
@override
|
|
List<Object> get props => [errorMessage];
|
|
}
|
|
|
|
class ChatInitialState extends ChatState {
|
|
ChatInitialState({required ChatModel chatModelObj})
|
|
: super(chatModelObj: chatModelObj);
|
|
}
|