16 lines
963 B
Dart
16 lines
963 B
Dart
import 'package:freezed_annotation/freezed_annotation.dart';
|
|
import '../../domain/entities/chat.dart';
|
|
import '../../domain/entities/message.dart';
|
|
|
|
part 'chat_state.freezed.dart';
|
|
|
|
@freezed
|
|
class ChatState with _$ChatState {
|
|
const factory ChatState.initial({@Default({}) Map<String, Set<String>> typingUsers}) = ChatInitial;
|
|
const factory ChatState.loading({@Default({}) Map<String, Set<String>> typingUsers}) = ChatLoading;
|
|
const factory ChatState.chatsLoaded(List<Chat> chats, {@Default({}) Map<String, Set<String>> typingUsers}) = _ChatsLoaded;
|
|
const factory ChatState.chatSelected(Chat chat, List<Message> messages, {@Default({}) Map<String, Set<String>> typingUsers}) = _ChatSelected;
|
|
const factory ChatState.messagesLoaded(Chat chat, List<Message> messages, {@Default({}) Map<String, Set<String>> typingUsers}) = _MessagesLoaded;
|
|
const factory ChatState.error(String message, {@Default({}) Map<String, Set<String>> typingUsers}) = ChatError;
|
|
}
|