// import 'package:flutter/material.dart'; // import 'package:get_it/get_it.dart'; // import 'package:muaawana/config/app_constant.dart'; // // import '../../services/chat/message_services.dart'; // import '../../utils/connection.dart'; // // // // class Message { // // String imageSender; // // String senderName; // // String address; // // String sendAt; // // bool seen; // // bool isMe; // // // // Message( // // {required this.imageSender, // // required this.senderName, // // required this.address, // // required this.sendAt, // // required this.seen, // // required this.isMe}); // // } // // class MessagesScreenProvider with ChangeNotifier, WidgetsBindingObserver { // // final List _messages = [ // // Message( // // imageSender: Consts.chatPersonImage, // // senderName: "Mohamed Ali", // // address: "Lorem Ipsum Dolor Sit Ametdiam", // // sendAt: "Yesterday 14:26 PM", // // seen: true, // // isMe: true), // // Message( // // imageSender: Consts.chatPersonImage, // // senderName: "Youssef ben saleh", // // address: // // "Lorem ipsum dolor sit amet, consectetuer adipisci sed diam noLorem ipsum dolor sit amet, consectetuer adipisci sed diam noLorem ipsum dolor sit amet, consectetuer adipisci sed diam no", // // sendAt: "Yesterday 14:27 PM", // // seen: true, // // isMe: false), // // Message( // // imageSender: Consts.chatPersonImage, // // senderName: "Mohamed Ali", // // address: // // "Lorem ipsum dolor sit amet, consectetuer adipisci sed diam noorem ipsum dolor sit amet, consectetuer adipisci sed diam noorem ipsum dolor sit amet, consectetuer adipisci sed diam no", // // sendAt: "Yesterday 14:28 PM", // // seen: true, // // isMe: true), // // Message( // // imageSender: Consts.chatPersonImage, // // senderName: "Youssef ben saleh", // // address: // // "Lorem ipsum dolor sit amet, consectetuer adipisci sed diam noLorem ipsum dolor sit amet, consectetuer adipisci sed diam noLorem ipsum dolor sit amet, consectetuer adipisci sed diam noLorem ipsum dolor sit amet, consectetuer adipisci sed diam noLorem ipsum dolor sit amet, consectetuer adipisci sed diam no", // // sendAt: "Yesterday 14:26 PM", // // seen: true, // // isMe: false), // // Message( // // imageSender: Consts.chatPersonImage, // // senderName: "Mohamed Ali", // // address: "Lorem Ipsum Dolor Sit Ametdiam", // // sendAt: "Yesterday 14:26 PM", // // seen: true, // // isMe: true), // // Message( // // imageSender: Consts.chatPersonImage, // // senderName: "Youssef ben saleh", // // address: // // "Lorem ipsum dolor sit amet, consectetuer adipisci sed diam noLorem ipsum dolor sit amet, consectetuer adipisci sed diam noLorem ipsum dolor sit amet, consectetuer adipisci sed diam no", // // sendAt: "Yesterday 14:27 PM", // // seen: true, // // isMe: false), // // Message( // // imageSender: Consts.chatPersonImage, // // senderName: "Mohamed Ali", // // address: // // "Lorem ipsum dolor sit amet, consectetuer adipisci sed diam noorem ipsum dolor sit amet, consectetuer adipisci sed diam noorem ipsum dolor sit amet, consectetuer adipisci sed diam no", // // sendAt: "Yesterday 14:28 PM", // // seen: true, // // isMe: true), // // Message( // // imageSender: Consts.chatPersonImage, // // senderName: "Youssef ben saleh", // // address: // // "Lorem ipsum dolor sit amet, consectetuer adipisci sed diam noLorem ipsum dolor sit amet, consectetuer adipisci sed diam noLorem ipsum dolor sit amet, consectetuer adipisci sed diam noLorem ipsum dolor sit amet, consectetuer adipisci sed diam noLorem ipsum dolor sit amet, consectetuer adipisci sed diam no", // // sendAt: "Yesterday 14:26 PM", // // seen: true, // // isMe: false), // // Message( // // imageSender: Consts.chatPersonImage, // // senderName: "Mohamed Ali", // // address: "Lorem Ipsum Dolor Sit Ametdiam", // // sendAt: "Yesterday 14:26 PM", // // seen: true, // // isMe: true), // // Message( // // imageSender: Consts.chatPersonImage, // // senderName: "Youssef ben saleh", // // address: // // "Lorem ipsum dolor sit amet, consectetuer adipisci sed diam noLorem ipsum dolor sit amet, consectetuer adipisci sed diam noLorem ipsum dolor sit amet, consectetuer adipisci sed diam no", // // sendAt: "Yesterday 14:27 PM", // // seen: true, // // isMe: false), // // Message( // // imageSender: Consts.chatPersonImage, // // senderName: "Mohamed Ali", // // address: // // "Lorem ipsum dolor sit amet, consectetuer adipisci sed diam noorem ipsum dolor sit amet, consectetuer adipisci sed diam noorem ipsum dolor sit amet, consectetuer adipisci sed diam no", // // sendAt: "Yesterday 14:28 PM", // // seen: true, // // isMe: true), // // Message( // // imageSender: Consts.chatPersonImage, // // senderName: "Youssef ben saleh", // // address: // // "Lorem ipsum dolor sit amet, consectetuer adipisci sed diam noLorem ipsum dolor sit amet, consectetuer adipisci sed diam noLorem ipsum dolor sit amet, consectetuer adipisci sed diam noLorem ipsum dolor sit amet, consectetuer adipisci sed diam noLorem ipsum dolor sit amet, consectetuer adipisci sed diam no", // // sendAt: "Yesterday 14:26 PM", // // seen: true, // // isMe: false), // // ]; // // // List get messages => _messages; // MessageService get service => GetIt.I(); // bool loader =false; // // // // void addMessage(Message message) { // // _messages.add(message); // // notifyListeners(); // // } // // // // fetchMessagesParId(int id) async { // // if (await Connection.checkConnection()) { // // loader = true; // // notifyListeners(); // // try { // // final fetchCategoryResult = await service.getMessageParId(id); // // if ((fetchCategoryResult.statusCode == 200 || // // fetchCategoryResult.statusCode == 201) && // // fetchCategoryResult.data != null) { // // // //print(fetchProfileResult.data!.result!.length); // // // // loader = false; // // notifyListeners(); // // } else { // // loader = false; // // notifyListeners(); // // } // // } catch (e, stackTrace) { // // loader = false; // // notifyListeners(); // // } // // } else { // // /// No Internet Connection // // loader = false; // // notifyListeners(); // // } // // } // // // // fetchChatMessages(int senderId, int recipientId) async { // // if (await Connection.checkConnection()) { // // loader = true; // // notifyListeners(); // // try { // // final fetchCategoryResult = await service.getChatMessages(senderId,recipientId); // // if ((fetchCategoryResult.statusCode == 200 || // // fetchCategoryResult.statusCode == 201) && // // fetchCategoryResult.data != null) { // // // //print(fetchProfileResult.data!.result!.length); // // // // loader = false; // // notifyListeners(); // // } else { // // loader = false; // // notifyListeners(); // // } // // } catch (e, stackTrace) { // // loader = false; // // notifyListeners(); // // } // // } else { // // /// No Internet Connection // // loader = false; // // notifyListeners(); // // } // // } // // // // fetchNewMessagesCount(int senderId, int recipientId) async { // // if (await Connection.checkConnection()) { // // loader = true; // // notifyListeners(); // // try { // // final fetchCategoryResult = await service.countNewMessages(senderId,recipientId); // // if ((fetchCategoryResult.statusCode == 200 || // // fetchCategoryResult.statusCode == 201) && // // fetchCategoryResult.data != null) { // // // //print(fetchProfileResult.data!.result!.length); // // // // loader = false; // // notifyListeners(); // // } else { // // loader = false; // // notifyListeners(); // // } // // } catch (e, stackTrace) { // // loader = false; // // notifyListeners(); // // } // // } else { // // /// No Internet Connection // // loader = false; // // notifyListeners(); // // } // // } // // // // fetchAllChatRooms(int myId) async { // // if (await Connection.checkConnection()) { // // loader = true; // // notifyListeners(); // // try { // // final fetchCategoryResult = await service.getAllChatRooms(myId); // // if ((fetchCategoryResult.statusCode == 200 || // // fetchCategoryResult.statusCode == 201) && // // fetchCategoryResult.data != null) { // // // //print(fetchProfileResult.data!.result!.length); // // // // loader = false; // // notifyListeners(); // // } else { // // loader = false; // // notifyListeners(); // // } // // } catch (e, stackTrace) { // // loader = false; // // notifyListeners(); // // } // // } else { // // /// No Internet Connection // // loader = false; // // notifyListeners(); // // } // // } // // // // markAsSeen(int senderId, int recipientId) async { // // if (await Connection.checkConnection()) { // // loader = true; // // notifyListeners(); // // try { // // final fetchCategoryResult = await service.seenAllMessages(senderId,recipientId); // // if ((fetchCategoryResult.statusCode == 200 || // // fetchCategoryResult.statusCode == 201) && // // fetchCategoryResult.data != null) { // // // // loader = false; // // notifyListeners(); // // } else { // // loader = false; // // notifyListeners(); // // } // // } catch (e, stackTrace) { // // loader = false; // // notifyListeners(); // // } // // } else { // // /// No Internet Connection // // loader = false; // // notifyListeners(); // // } // // } // // // /******************* Bottom NavBar Controller *******************/ // bool _isTextFieldFocused = false; // bool _isKeyboardVisible = false; // final _textFieldFocusNode = FocusNode(); // // bool get isTextFieldFocused => _isTextFieldFocused; // bool get isKeyboardVisible => _isKeyboardVisible; // // MessagesScreenProvider() { // _textFieldFocusNode.addListener(_onTextFieldFocusChange); // WidgetsBinding.instance.addObserver(this); // } // // void _onTextFieldFocusChange() { // _isTextFieldFocused = _textFieldFocusNode.hasFocus; // notifyListeners(); // } // // @override // void didChangeMetrics() { // final mediaQuery = // MediaQueryData.fromWindow(WidgetsBinding.instance.window); // final newIsKeyboardVisible = mediaQuery.viewInsets.bottom > 0; // if (_isKeyboardVisible != newIsKeyboardVisible) { // _isKeyboardVisible = newIsKeyboardVisible; // notifyListeners(); // } // } // // @override // void dispose() { // _textFieldFocusNode.removeListener(_onTextFieldFocusChange); // _textFieldFocusNode.dispose(); // WidgetsBinding.instance.removeObserver(this); // super.dispose(); // } // // FocusNode get textFieldFocusNode => _textFieldFocusNode; // }