// lib/features/home/providers/completed_topics_provider.dart import 'package:english_learning/core/services/repositories/completed_topics_repository.dart'; import 'package:english_learning/features/home/models/completed_topics_model.dart'; import 'package:flutter/foundation.dart'; class CompletedTopicsProvider with ChangeNotifier { final CompletedTopicsRepository _repository; List _completedTopics = []; bool _isLoading = false; String? _error; CompletedTopicsProvider(this._repository); List get completedTopics => _completedTopics; bool get isLoading => _isLoading; String? get error => _error; void resetData() { _completedTopics = []; _isLoading = false; _error = null; notifyListeners(); } Future fetchCompletedTopics(String token) async { resetData(); _isLoading = true; notifyListeners(); try { final result = await _repository.getCompletedTopics(token); _completedTopics = result; _error = null; } catch (e) { // Tangani error _completedTopics = []; _error = e.toString(); } finally { // Selalu set loading ke false _isLoading = false; notifyListeners(); } } }