import 'dart:convert'; import 'package:shared_preferences/shared_preferences.dart'; /// Servicio para persistir las notas de los jugadores localmente class ServicioNotas { static const _clavePrefix = 'notas_'; /// Guarda las notas de un jugador para una partida static Future guardarNotas( String jugadorId, Map notas, String notaLibre, ) async { final prefs = await SharedPreferences.getInstance(); final datos = { 'notas': notas, 'notaLibre': notaLibre, }; await prefs.setString('$_clavePrefix$jugadorId', json.encode(datos)); } /// Carga las notas de un jugador static Future> cargarNotas(String jugadorId) async { final prefs = await SharedPreferences.getInstance(); final str = prefs.getString('$_clavePrefix$jugadorId'); if (str == null) { return {'notas': {}, 'notaLibre': ''}; } final datos = json.decode(str) as Map; return { 'notas': Map.from(datos['notas'] ?? {}), 'notaLibre': datos['notaLibre'] ?? '', }; } /// Limpia todas las notas (al iniciar nueva partida) static Future limpiarNotas() async { final prefs = await SharedPreferences.getInstance(); final claves = prefs.getKeys().where((k) => k.startsWith(_clavePrefix)); for (final clave in claves) { await prefs.remove(clave); } } }