refactor(chat): fix chat null

This commit is contained in:
mso7nueh
2024-07-31 15:35:14 +03:00
parent 6946060c86
commit 9cfd59b36f
6 changed files with 21 additions and 15 deletions

View File

@@ -3,6 +3,7 @@ import 'dart:io';
import 'package:dart_pusher_channels/dart_pusher_channels.dart';
import 'package:easy_debounce/easy_debounce.dart';
import 'package:eatvio_app/core/constants/constants.dart';
import 'package:eatvio_app/core/initialization_cubit/initialization_cubit.dart';
import 'package:eatvio_app/core/initialization_cubit/initialization_state.dart';
import 'package:eatvio_app/core/token_storage.dart';
@@ -87,7 +88,7 @@ class ChatRoomCubit extends Cubit<ChatRoomState> {
privateChatChannel = await client.privateChannel(
'private-direct-chat.$chatId',
authorizationDelegate: EndpointAuthorizableChannelTokenAuthorizationDelegate.forPrivateChannel(
authorizationEndpoint: Uri.parse('https://mobile-stage.eatvio.ru/broadcasting/auth'),
authorizationEndpoint: Uri.parse(baseUrl + '/broadcasting/auth'),
headers: {
'Authorization': 'Bearer ${await TokenStorage.getTokenFromStorage()}',
},

View File

@@ -14,6 +14,7 @@ import 'package:intl/intl.dart';
import '/core/app_export.dart';
part 'chat_select_event.dart';
part 'chat_select_state.dart';
/// A bloc that manages the state of a ChatSelect according to the event that is dispatched to it.
@@ -27,16 +28,15 @@ class ChatSelectBloc extends Bloc<ChatSelectEvent, ChatSelectState> {
List<ChatItemModel> fillChatEntryList(List<dynamic> chatRooms) {
List<ChatItemModel> chats = [];
for (int i = 0; i < chatRooms.length; i++) {
String text = chatRooms[i]['last_message']['data'];
if (chatRooms[i]['last_message']['is_author_message_auth_user'] != null) {
String text = chatRooms[i]['last_message'] is List ? '' : chatRooms[i]['last_message']['data'];
if (chatRooms[i]['last_message'] is !List && chatRooms[i]['last_message']['is_author_message_auth_user'] != null) {
text = "Вы: " + text;
}
chats.add(
ChatItemModel(
id: chatRooms[i]['id'],
userImage: chatRooms[i]['users']['to_chat_user']['profile_photo_path'],
username: chatRooms[i]['users']['to_chat_user']['name'],
dateText: DateFormat('dd.MM').format(
dateText: chatRooms[i]['last_message'] is List ? '' : DateFormat('dd.MM').format(
DateTime.parse(
chatRooms[i]['last_message']['updated_at'],
),

View File

@@ -12,6 +12,7 @@ class ChatSelectState extends Equatable {
@override
List<Object?> get props => [chatSelectModelObj];
ChatSelectState copyWith({ChatSelectModel? chatSelectModelObj}) {
return ChatSelectState(
chatSelectModelObj: chatSelectModelObj ?? this.chatSelectModelObj,
@@ -29,11 +30,14 @@ class ChatSelectLoadedState extends ChatSelectState {
this.searchController,
this.chatSelectModelObj,
}) : super(chatSelectModelObj: null);
List<dynamic>? chatRooms;
TextEditingController? searchController;
ChatSelectModel? chatSelectModelObj;
@override
List<Object?> get props => [chatSelectModelObj, chatRooms, searchController];
ChatSelectLoadedState copyWith({
ChatSelectModel? chatSelectModelObj,
TextEditingController? searchController,

View File

@@ -13,13 +13,7 @@ class ChatSelectScreen extends StatelessWidget {
static Widget builder(BuildContext context) {
return BlocProvider<ChatSelectBloc>(
create: (context) => ChatSelectBloc(
ChatSelectState(
chatSelectModelObj: ChatSelectModel(),
),
)..add(
ChatSelectInitialEvent(),
),
create: (context) => ChatSelectBloc(ChatSelectState(chatSelectModelObj: ChatSelectModel()))..add(ChatSelectInitialEvent()),
child: ChatSelectScreen(),
);
}