fetchgallery method

dynamic fetchgallery({
  1. bool refreshmedia = false,
})

Implementation

fetchgallery({bool refreshmedia = false}) async {
  if ((mediafetchProccess.value || mediafetchEndProccess.value) &&
      !refreshmedia) {
    return;
  }
  mediafetchProccess.value = true;

  //Page Hesaplama Fonksionu
  mediapagecount.value = UtilsFunction.calculatePageNumber(
    cardList: mediaList,
    itemsPerPage: 30,
  );
  //Page Hesaplama Fonksionu Bitiş

  if (refreshmedia) {
    mediapagecount.value = 1;
  }
  MediaFetchResponse response = await service.mediaServices.fetch(
    userID: userID,
    username: username,
    category: APIMediaType.all,
    page: mediapagecount.value,
  );

  if (!response.result.status) {
    log(response.result.description);
    mediafetchProccess.value = false;
    return;
  }

  mediaList.value ??= [];
  if (refreshmedia) {
    mediaList.value = [];
  }

  for (APIMediaFetch element in response.response!) {
    mediaList.value!.add(
      Media(
        mediaID: element.media.mediaID,
        ownerID: element.mediaOwner.userID,
        mediaType: (element.mediatype.contains("video") ||
                element.media.mediaURL.normalURL.contains(".mp4"))
            ? MediaType.video
            : MediaType.image,
        mediaURL: MediaURL(
          bigURL: Rx(element.media.mediaURL.bigURL),
          normalURL: Rx(element.media.mediaURL.normalURL),
          minURL: Rx(element.media.mediaURL.minURL),
        ),
      ),
    );
  }
  if (response.response!.length < 30) {
    mediafetchEndProccess.value = true;
    log("Media Fetch End Proccess");
  }

  updateMediaList();
  mediapagecount++;
  mediafetchProccess.value = false;
}