storify 0.2.0
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 #
onUserSeenonStoriesPanelandStoryViewer—ValueChanged<String>called withStoryUser.idwhen a user finishes all of their slides. The package does not store seen user ids; you persist them in the callback.onSeenStoryonStoriesPanelandStoryViewer—ValueChanged<String>called withStoryItem.idwhen 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 acceptrequired String id).
Changed #
- Breaking: Replaced
cached_video_playerwithcached_video_player_plusfor network video caching inStoryVideoSlideandStoryItem.videoUrl. - Breaking: Added a direct
video_playerdependency (VideoPlayerwidget andVideoFormatonStoryItem.videoUrl). - Breaking:
StoryItemand all factories now require anidparameter.
Migration from 0.1.0 #
-
Add ids to every slide:
// Before StoryItem.imageUrl('https://example.com/1.jpg') // After StoryItem.imageUrl('https://example.com/1.jpg', id: 'story_1') -
Optional — track seen state with callbacks (instead of only
onUsersChanged):StoriesPanel( users: users, onUserSeen: (userId) => saveUserSeen(userId), onSeenStory: (storyId) => saveStorySeen(storyId), ) -
Video: Remove
cached_video_playerfrom your app if you added it only for stories; storify now usescached_video_player_plusinternally.
Notes #
onUserSeenfires once per user id per viewer session when their last slide completes.onSeenStoryfires once per story id per viewer session (timer end, tap next, swipe to another user, or close).onUsersChangedstill updates the tray whenStoriesPanelmarks 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).StoryUserandStoryItemmodels with title, subtitle, and caption support.StoriesThemeData— tray, rings, viewer, progress bar, video, and transition styling.StoriesScopefor RTL and theme overrides.- RTL support via directional layout throughout.
StoryItemTransitionandStoryUserTransition(fade, slide, scale, zoom, cube, and more).StoryItemhelpers:imageUrl,imageAsset,videoUrl,videoFile,videoAsset,widget.StoryVideoSlidewith cached network video and hold-to-pause sync.StoryAvatar,StoryProgressBar,StorySlideOverlay,StoryGestureLayer.- Example app with transition pickers and RTL toggle.