import 'dart:convert'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:shared_preferences/shared_preferences.dart'; import '../services/dashbot_service.dart'; final chatMessagesProvider = StateNotifierProvider>>( (ref) => ChatMessagesNotifier(), ); final dashBotServiceProvider = Provider((ref) { return DashBotService(); }); class ChatMessagesNotifier extends StateNotifier>> { ChatMessagesNotifier() : super([]) { _loadMessages(); } static const _storageKey = 'chatMessages'; Future _loadMessages() async { final prefs = await SharedPreferences.getInstance(); final messages = prefs.getString(_storageKey); if (messages != null) { state = List>.from(json.decode(messages)); } } Future _saveMessages() async { final prefs = await SharedPreferences.getInstance(); await prefs.setString(_storageKey, json.encode(state)); } void addMessage(Map message) { state = [...state, message]; _saveMessages(); } void clearMessages() { state = []; _saveMessages(); } }