getnewslist method

Future<void> getnewslist({
  1. bool refresh = false,
})

Implementation

Future<void> getnewslist({bool refresh = false}) async {
  if (eventlistProcces.value || newsEndProcces.value) {
    return;
  }
  eventlistProcces.value = true;

  NewsListResponse response =
      await service.newsServices.fetch(page: newsPage.value);
  if (!response.result.status) {
    ARMOYUWidget.toastNotification(response.result.description.toString());
    eventlistProcces.value = false;
    //10 saniye sonra Tekrar çekmeyi dene
    await Future.delayed(const Duration(seconds: 10));
    getnewslist();
    return;
  }
  if (refresh) {
    newsList.value = [];
  }
  newsList.value ??= [];
  for (var element in response.response!.news) {
    if (newsList.value!.any((e) => e.newsID == element.newsID)) {
      continue;
    }
    newsList.value!.add(
      News(
        newsID: element.newsID,
        newsTitle: element.title,
        author: element.newsOwner.displayname,
        newsImage: element.media.mediaURL.minURL,
        newssummary: element.summary,
        authoravatar: element.newsOwner.avatar.minURL,
        newsViews: element.views,
      ),
    );
  }

  if (response.response!.news.length < 10) {
    newsEndProcces.value = true;
  }

  updateNewsList();
  newsPage.value++;
  eventlistProcces.value = false;
}