Files
FocusBuddy/lib/services/encouragement_service.dart
2025-11-22 18:17:35 +08:00

40 lines
1.1 KiB
Dart

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);
}