storify 0.2.0 copy "storify: ^0.2.0" to clipboard
storify: ^0.2.0 copied to clipboard

Storify — Instagram-like stories for Flutter: scrollable tray, full-screen viewer, RTL support, theming, transitions, and cached video slides.

Changelog #

All notable changes to the storify package are documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

0.2.0 - 2026-05-18 #

Added #

  • onUserSeen on StoriesPanel and StoryViewerValueChanged<String> called with StoryUser.id when a user finishes all of their slides. The package does not store seen user ids; you persist them in the callback.
  • onSeenStory on StoriesPanel and StoryViewerValueChanged<String> called with StoryItem.id when a slide is considered viewed. The package does not store seen story ids; you persist them in the callback.
  • StoryItem.id — required unique id on every slide (all factories accept required String id).

Changed #

  • Breaking: Replaced cached_video_player with cached_video_player_plus for network video caching in StoryVideoSlide and StoryItem.videoUrl.
  • Breaking: Added a direct video_player dependency (VideoPlayer widget and VideoFormat on StoryItem.videoUrl).
  • Breaking: StoryItem and all factories now require an id parameter.

Migration from 0.1.0 #

  1. Add ids to every slide:

    // Before
    StoryItem.imageUrl('https://example.com/1.jpg')
    
    // After
    StoryItem.imageUrl('https://example.com/1.jpg', id: 'story_1')
    
  2. Optional — track seen state with callbacks (instead of only onUsersChanged):

    StoriesPanel(
      users: users,
      onUserSeen: (userId) => saveUserSeen(userId),
      onSeenStory: (storyId) => saveStorySeen(storyId),
    )
    
  3. Video: Remove cached_video_player from your app if you added it only for stories; storify now uses cached_video_player_plus internally.

Notes #

  • onUserSeen fires once per user id per viewer session when their last slide completes.
  • onSeenStory fires once per story id per viewer session (timer end, tap next, swipe to another user, or close).
  • onUsersChanged still updates the tray when StoriesPanel marks a user seen internally.
  • Network videos are cached via flutter_cache_manager; asset and file sources are not cached.

0.1.0 - 2026-05-18 #

Added #

  • StoriesTray — horizontal scrollable thumbnail row with seen/unseen rings.
  • StoriesPanel — tray wired to open the full-screen viewer.
  • StoryViewer — segmented progress, header, captions, gestures (tap, hold, swipe down).
  • StoryUser and StoryItem models with title, subtitle, and caption support.
  • StoriesThemeData — tray, rings, viewer, progress bar, video, and transition styling.
  • StoriesScope for RTL and theme overrides.
  • RTL support via directional layout throughout.
  • StoryItemTransition and StoryUserTransition (fade, slide, scale, zoom, cube, and more).
  • StoryItem helpers: imageUrl, imageAsset, videoUrl, videoFile, videoAsset, widget.
  • StoryVideoSlide with cached network video and hold-to-pause sync.
  • StoryAvatar, StoryProgressBar, StorySlideOverlay, StoryGestureLayer.
  • Example app with transition pickers and RTL toggle.
0
likes
0
points
63
downloads

Documentation

Documentation

Publisher

unverified uploader

Weekly Downloads

Storify — Instagram-like stories for Flutter: scrollable tray, full-screen viewer, RTL support, theming, transitions, and cached video slides.

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

cached_video_player_plus, flutter, video_player

More

Packages that depend on storify