import 'package:flutter/material.dart'; import 'package:sales_chat/models/stats.dart'; import 'package:sales_chat/services/api_service.dart'; class StatsProvider with ChangeNotifier { final ApiService _apiService; MyStats? _myStats; List _ranking = []; bool _isLoading = false; String? _error; StatsProvider(this._apiService); MyStats? get myStats => _myStats; List get ranking => _ranking; bool get isLoading => _isLoading; String? get error => _error; /// Load the current user's stats Future loadMyStats() async { _isLoading = true; _error = null; notifyListeners(); try { _myStats = await _apiService.getMyStats(); _isLoading = false; notifyListeners(); } catch (e) { _error = 'Failed to load stats'; _isLoading = false; notifyListeners(); } } /// Load the ranking list Future loadRanking({String period = 'monthly'}) async { try { _ranking = await _apiService.getRanking(period: period); notifyListeners(); } catch (e) { // Handle silently } } void clearError() { _error = null; notifyListeners(); } Future refresh() async { await loadMyStats(); await loadRanking(); } }