mirror of
https://github.com/vleeuwenmenno/supplements.git
synced 2025-12-07 21:52:35 +00:00
41 lines
1000 B
Dart
41 lines
1000 B
Dart
import 'dart:convert';
|
|
|
|
import 'package:flutter/services.dart';
|
|
|
|
import '../models/nutrient.dart';
|
|
|
|
class NutrientDataService {
|
|
static final NutrientDataService _instance = NutrientDataService._internal();
|
|
|
|
factory NutrientDataService() {
|
|
return _instance;
|
|
}
|
|
|
|
NutrientDataService._internal();
|
|
|
|
List<Nutrient>? _nutrients;
|
|
|
|
Future<List<Nutrient>> get nutrients async {
|
|
if (_nutrients != null) {
|
|
return _nutrients!;
|
|
}
|
|
await _loadNutrientData();
|
|
return _nutrients!;
|
|
}
|
|
|
|
Future<void> _loadNutrientData() async {
|
|
try {
|
|
final String response = await rootBundle.loadString('assets/canada_health.json');
|
|
final data = await json.decode(response);
|
|
final nutrientsData = data['nutrients'] as Map<String, dynamic>;
|
|
|
|
_nutrients = nutrientsData.entries.map((entry) {
|
|
return Nutrient.fromJson(entry.key, entry.value);
|
|
}).toList();
|
|
} catch (e) {
|
|
print('Error loading nutrient data: $e');
|
|
_nutrients = [];
|
|
}
|
|
}
|
|
}
|