import 'package:cheminova/models/Daily_Task_Response.dart'; import 'package:dio/dio.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import '../services/api_client.dart'; import '../services/api_urls.dart'; class DailyTaskProvider extends ChangeNotifier { DailyTaskProvider() { getTask(type: 'New'); } final _apiClient = ApiClient(); List newTasksList = []; List pendingTasksList = []; List completedTasksList = []; bool _isLoading = false; bool get isLoading => _isLoading; void setLoading(bool loading) { _isLoading = loading; notifyListeners(); } Future getTask({required String type}) async { setLoading(true); try { Response response = await _apiClient.get(ApiUrls.dailyTaskUrl+type); setLoading(false); if (response.statusCode == 200) { final data = DailyTasksResponse.fromJson(response.data); if (type == 'New') { newTasksList = data.tasks ?? []; } else if (type == 'Pending') { pendingTasksList = data.tasks ?? []; } else { completedTasksList = data.tasks ?? []; } notifyListeners(); } } catch (e) { setLoading(false); if (kDebugMode) { print("Error occurred while fetching notifications: $e"); } } } }