parseStories method

void parseStories(
  1. Map<String, dynamic> toPass,
  2. dynamic imageStoryDuration,
  3. TextStyle? captionTextStyle,
  4. EdgeInsets? captionMargin,
  5. EdgeInsets? captionPadding,
)

Implementation

void parseStories(
  Map<String, dynamic> toPass,
  imageStoryDuration,
  TextStyle? captionTextStyle,
  EdgeInsets? captionMargin,
  EdgeInsets? captionPadding,
) {
  Map<String, dynamic> temp = {
    'storyId': toPass['pressedStoryId'],
    'file': toPass['snapshotData']['file'],
    'title': toPass['snapshotData']['title'],
    'previewImage': toPass['snapshotData']['previewImage'],
  };
  Stories stories = Stories.fromJson(jsonDecode(jsonEncode(temp)));
  stories.file!.asMap().forEach((index, storyInsideImage) {
    if (storyInsideImage.filetype != 'video') {
      storyItems.add(StoryItem.pageImage(
        CachedNetworkImageProvider(storyInsideImage.url![languageCode!]!),
        // controller: storyController,
        duration: Duration(seconds: imageStoryDuration),
        caption: storyInsideImage.fileTitle != null
            ? storyInsideImage.fileTitle![languageCode!]
            : null,
        // captionTextStyle: captionTextStyle,
        // captionMargin: captionMargin,
        // captionPadding: captionPadding,
      ));

      ///todo fix
      // storyItems.add(StoryItem.pageGif(
      //   storyInsideImage.url![languageCode!],
      //   controller: storyController,
      //   duration: Duration(seconds: imageStoryDuration),
      //   caption: storyInsideImage.fileTitle != null
      //       ? storyInsideImage.fileTitle![languageCode!]
      //       : null,
      //   captionTextStyle: captionTextStyle,
      //   captionMargin: captionMargin,
      //   captionPadding: captionPadding,
      // ));
    } else {
      storyItems.add(
        StoryItem.pageVideo(
          storyInsideImage.url![languageCode!],
          controller: storyController,
          caption: storyInsideImage.fileTitle != null
              ? storyInsideImage.fileTitle![languageCode!]
              : null,
          captionTextStyle: captionTextStyle,
          captionPadding: captionPadding,
          captionMargin: captionMargin,
        ),
      );
    }
    // cache images inside story
    if (index < stories.file!.length - 1) {
      DefaultCacheManager()
          .getSingleFile(stories.file![index + 1].url![languageCode!]!);
    }
  });
}