import 'dart:convert';
import 'dart:math';
import 'package:flutter/services.dart';

/// Service to manage encouragement messages
class EncouragementService {
  List<String> _messages = [];
  final Random _random = Random();

  /// Load encouragement messages from assets
  Future<void> loadMessages() async {
    try {
      final String jsonString =
          await rootBundle.loadString('assets/encouragements.json');
      final List<dynamic> jsonList = json.decode(jsonString);
      _messages = jsonList.cast<String>();
    } catch (e) {
      // Fallback messages if file can't be loaded
      _messages = [
        "Showing up is half the battle.",
        "Every minute counts.",
        "You're learning, not failing.",
        "Gentleness is strength.",
        "Progress over perfection.",
      ];
    }
  }

  /// Get a random encouragement message
  String getRandomMessage() {
    if (_messages.isEmpty) {
      return "You're doing great!";
    }
    return _messages[_random.nextInt(_messages.length)];
  }

  /// Get all messages (for testing)
  List<String> getAllMessages() => List.from(_messages);
}
