import 'package:flutter/material.dart'; import 'package:prosapp_web_app/models/chat_entity.dart'; import 'package:prosapp_web_app/models/message_entity.dart'; import 'package:prosapp_web_app/repositories/firebase_chat_repository.dart'; class ChatProvider with ChangeNotifier { final FirebaseChatRepository _firebaseChatRepository = FirebaseChatRepository(); ChatEntity? _currentChat; ChatEntity? get currentChat => _currentChat; Stream getChat(String chatId, String professionalId) { return _firebaseChatRepository.getChatById(chatId, professionalId).map((chat) { _currentChat = chat; notifyListeners(); return chat; }); } Future createChat( String chatId, String userId, String professionalId) async { final chat = await _firebaseChatRepository.createNewChat( chatId, userId, professionalId); _currentChat = chat; notifyListeners(); return chat; } Future sendMessage(String chatId, MessageEntity message) async { await _firebaseChatRepository.sendMessage(chatId, message); notifyListeners(); } }