feat(chat): refactor

This commit is contained in:
mso7nueh
2024-08-16 17:31:02 +03:00
parent 8b7f2edd9f
commit 35ac41cdad
6 changed files with 24 additions and 25 deletions

View File

@@ -98,6 +98,7 @@ class ChatRoomCubit extends Cubit<ChatRoomState> {
privateChatChannel.subscribe();
privateChatChannel.bind('App\\Events\\ChatMessageUpdated').listen((event) {
print(jsonDecode(event.data));
List<ChatMessageModel> messagesList = [
ChatMessageModel.fromJson(jsonDecode(event.data)['message']),
...(state as ChatRoomStateLoaded).chatMessages,

View File

@@ -236,9 +236,9 @@ class _ChatScreenState extends State<ChatScreen> {
onTap: () {
if (textEditingController.text.isNotEmpty) {
context.read<ChatRoomCubit>().sendMessage(
chatId: widget.chatId,
data: textEditingController.text.trim(),
);
chatId: widget.chatId,
data: textEditingController.text.trim(),
);
setState(() {
textEditingController.clear();
});

View File

@@ -21,7 +21,7 @@ class ChatRepository {
await chatService.sendMessage(
id: chatId,
data: data,
mediaData: files,
media_data: files,
);
} catch (e) {
print(e);

View File

@@ -22,7 +22,7 @@ abstract class ChatService {
Future<void> sendMessage({
@Path() required String id,
@Part() String? data,
@Part() List<File>? mediaData,
@Part() List<File>? media_data,
});
@GET('/api/chat/show/{id}/messages?page={page}')

View File

@@ -59,7 +59,7 @@ class _ChatService implements ChatService {
Future<void> sendMessage({
required String id,
String? data,
List<File>? mediaData,
List<File>? media_data,
}) async {
final _extra = <String, dynamic>{};
final queryParameters = <String, dynamic>{};
@@ -72,9 +72,9 @@ class _ChatService implements ChatService {
data,
));
}
if (mediaData != null) {
_data.files.addAll(mediaData.map((i) => MapEntry(
'mediaData',
if (media_data != null) {
_data.files.addAll(media_data.map((i) => MapEntry(
'media_data',
MultipartFile.fromFileSync(
i.path,
filename: i.path.split(Platform.pathSeparator).last,

View File

@@ -22,11 +22,10 @@ class _BlogPostWidgetState extends State<BlogPostWidget> {
Widget build(BuildContext context) {
return InkWell(
borderRadius: BorderRadius.circular(12),
onTap: () =>
GoRouter.of(context).pushNamed(
'blogPostScreen',
extra: widget.feedBlogPostModel,
),
onTap: () => GoRouter.of(context).pushNamed(
'blogPostScreen',
extra: widget.feedBlogPostModel,
),
child: Ink(
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(12),
@@ -98,6 +97,7 @@ class _BlogPostWidgetState extends State<BlogPostWidget> {
tag: baseUrl + '/storage/' + widget.feedBlogPostModel.image,
child: CachedNetworkImage(
imageUrl: baseUrl + '/storage/' + widget.feedBlogPostModel.image,
errorWidget: (context, str, object) => SizedBox.shrink(),
),
),
),
@@ -111,21 +111,19 @@ class _BlogPostWidgetState extends State<BlogPostWidget> {
_iconButton(
icon: Icons.mode_comment_outlined,
text: widget.feedBlogPostModel.totalComments.toString(),
onTap: () =>
GoRouter.of(context).pushNamed(
'blogPostScreen',
extra: widget.feedBlogPostModel,
),
onTap: () => GoRouter.of(context).pushNamed(
'blogPostScreen',
extra: widget.feedBlogPostModel,
),
),
SizedBox(width: 8),
_iconButton(
icon: Icons.reply_rounded,
onTap: () =>
Share.shareUri(
Uri.parse(
baseUrl + '/ru/blog_post/' + widget.feedBlogPostModel.id.toString(),
),
),
onTap: () => Share.shareUri(
Uri.parse(
baseUrl + '/ru/blog_post/' + widget.feedBlogPostModel.id.toString(),
),
),
),
Spacer(),
Icon(