import 'package:flutter/material.dart'; import 'package:initial_folder/models/course_model.dart'; import 'package:initial_folder/services/course_service.dart'; enum ResultState { Loading, NoData, HasData, Error } class PromoCourseProvider with ChangeNotifier { final CourseService courseService; PromoCourseProvider({required this.courseService}) { getPromoCourse(); } List _course = []; ResultState? _state; String _message = ''; List get result => _course; ResultState? get state => _state; String get message => _message; set course(List course) { _course = course; notifyListeners(); } Future getPromoCourse() async { try { _state = ResultState.Loading; notifyListeners(); List course = await courseService.getPromoCourse(); if (course.isEmpty) { _state = ResultState.NoData; print("Tidak ada data promo dri api"); notifyListeners(); return _message = 'Empty Data'; } else { _state = ResultState.HasData; notifyListeners(); return _course = course; } } catch (e) { _state = ResultState.Error; notifyListeners(); return _message = 'Error --> $e'; } } }