298298// }
299299// }
300300
301- import 'dart:io' ;
302-
303301import 'package:cloud_firestore/cloud_firestore.dart' ;
304302import 'package:file_picker/file_picker.dart' ;
305303import 'package:flutter/material.dart' ;
306304import 'package:flutter_chat_types/flutter_chat_types.dart' as types;
307305import 'package:flutter_chat_ui/flutter_chat_ui.dart' ;
308306import 'package:flutter_riverpod/flutter_riverpod.dart' ;
309307import 'package:google_fonts/google_fonts.dart' ;
310- import 'package:http/http.dart' as http;
311308import 'package:image_picker/image_picker.dart' ;
312309// import 'package:mime/mime.dart';
313- import 'package:open_filex/open_filex.dart' ;
314- import 'package:path_provider/path_provider.dart' ;
315310import 'package:petscape/src/features/auth/presentation/auth_controller.dart' ;
316311import 'package:uuid/uuid.dart' ;
317312import 'package:flutter_screenutil/flutter_screenutil.dart' ;
@@ -328,7 +323,7 @@ class ChatDetailScreen extends ConsumerStatefulWidget {
328323
329324class _ChatDetailScreenState extends ConsumerState <ChatDetailScreen > {
330325 final textController = TextEditingController ();
331- List <types.Message > _messages = [];
326+ final List <types.Message > _messages = [];
332327
333328 @override
334329 Widget build (BuildContext context) {
@@ -695,57 +690,57 @@ class _ChatDetailScreenState extends ConsumerState<ChatDetailScreen> {
695690 }
696691 }
697692
698- void _handleMessageTap (BuildContext _, types.Message message) async {
699- if (message is types.FileMessage ) {
700- var localPath = message.uri;
701-
702- if (message.uri.startsWith ('http' )) {
703- try {
704- final index = _messages.indexWhere ((element) => element.id == message.id);
705- final updatedMessage = (_messages[index] as types.FileMessage ).copyWith (
706- // isLoading: true,
707- );
708-
709- setState (() {
710- _messages[index] = updatedMessage;
711- });
712-
713- final client = http.Client ();
714- final request = await client.get (Uri .parse (message.uri));
715- final bytes = request.bodyBytes;
716- final documentsDir = (await getApplicationDocumentsDirectory ()).path;
717- localPath = '$documentsDir /${message .name }' ;
718-
719- if (! File (localPath).existsSync ()) {
720- final file = File (localPath);
721- await file.writeAsBytes (bytes);
722- }
723- } finally {
724- final index = _messages.indexWhere ((element) => element.id == message.id);
725- final updatedMessage = (_messages[index] as types.FileMessage ).copyWith (
726- // isLoading: null,
727- );
728-
729- setState (() {
730- _messages[index] = updatedMessage;
731- });
732- }
733- }
734-
735- await OpenFilex .open (localPath);
736- }
737- }
738-
739- void _handleSendPressed (types.PartialText message) {
740- print ('object' ); // final textMessage = types.TextMessage(
741- // author: _user,
742- // createdAt: DateTime.now().millisecondsSinceEpoch,
743- // id: const Uuid().v4(),
744- // text: message.text,
745- // );
746-
747- // _addMessage(textMessage);
748- }
693+ // void _handleMessageTap(BuildContext _, types.Message message) async {
694+ // if (message is types.FileMessage) {
695+ // var localPath = message.uri;
696+
697+ // if (message.uri.startsWith('http')) {
698+ // try {
699+ // final index = _messages.indexWhere((element) => element.id == message.id);
700+ // final updatedMessage = (_messages[index] as types.FileMessage).copyWith(
701+ // // isLoading: true,
702+ // );
703+
704+ // setState(() {
705+ // _messages[index] = updatedMessage;
706+ // });
707+
708+ // final client = http.Client();
709+ // final request = await client.get(Uri.parse(message.uri));
710+ // final bytes = request.bodyBytes;
711+ // final documentsDir = (await getApplicationDocumentsDirectory()).path;
712+ // localPath = '$documentsDir/${message.name}';
713+
714+ // if (!File(localPath).existsSync()) {
715+ // final file = File(localPath);
716+ // await file.writeAsBytes(bytes);
717+ // }
718+ // } finally {
719+ // final index = _messages.indexWhere((element) => element.id == message.id);
720+ // final updatedMessage = (_messages[index] as types.FileMessage).copyWith(
721+ // // isLoading: null,
722+ // );
723+
724+ // setState(() {
725+ // _messages[index] = updatedMessage;
726+ // });
727+ // }
728+ // }
729+
730+ // await OpenFilex.open(localPath);
731+ // }
732+ // }
733+
734+ // void _handleSendPressed(types.PartialText message) {
735+ // print('object'); // final textMessage = types.TextMessage(
736+ // // author: _user,
737+ // // createdAt: DateTime.now().millisecondsSinceEpoch,
738+ // // id: const Uuid().v4(),
739+ // // text: message.text,
740+ // // );
741+
742+ // // _addMessage(textMessage);
743+ // }
749744
750745 void _handlePreviewDataFetched (
751746 types.TextMessage message,
@@ -761,16 +756,17 @@ class _ChatDetailScreenState extends ConsumerState<ChatDetailScreen> {
761756 });
762757 }
763758
764- void _loadMessages () async {
765- // final response = await rootBundle.loadString('assets/messages.json');
766- // final messages = (jsonDecode(response) as List).map((e) => types.Message.fromJson(e as Map<String, dynamic>)).toList();
759+ // void _loadMessages() async {
760+ // // final response = await rootBundle.loadString('assets/messages.json');
761+ // // final messages = (jsonDecode(response) as List).map((e) => types.Message.fromJson(e as Map<String, dynamic>)).toList();
767762
768- final db = FirebaseFirestore .instance.collection ('messages' );
769- final data = await db.get ();
770- final messages = data.docs.map ((e) => types.Message .fromJson (e.data ())).toList ();
763+ // final db = FirebaseFirestore.instance.collection('messages');
764+ // final data = await db.get();
765+ // final messages = data.docs.map((e) => types.Message.fromJson(e.data())).toList();
766+
767+ // setState(() {
768+ // _messages = messages;
769+ // });
770+ // }
771771
772- setState (() {
773- _messages = messages;
774- });
775- }
776772}
0 commit comments