Giter VIP home page Giter VIP logo

ravivr-dev / advstory Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ertgrulll/advstory

0.0 0.0 0.0 22.63 MB

An advanced, complete story viewer for Flutter. Has support for images, videos, custom widget contents, gestures, interceptors, listeners, manipulators and much more.

Home Page: https://advstory.sourcekod.com

License: MIT License

Ruby 0.75% Objective-C 0.02% Kotlin 0.07% Dart 98.94% Swift 0.22%

advstory's Introduction

"Buy Me A Coffee" pub package GitHub issues-closed

AdvStory 📸

Quite simple & Quite advanced


🚀 Advanced Story viewer for Flutter. Create and customize slideshow presentations similar to Instagram, TikTok and Snapchat stories. Supports image, video and custom story contents. Full control over stories for developer and smooth experience for users.

Features

➡️ High performance, minimum delays, preload and cache enabled. Works using builders, provides flexibility and lazy loading.

➡️ Story view can be in any shape, size and position or full-screen.

➡️ Predefined story types for images, videos and simple contents. But not limited to these types, allows you to use base class of predefined widgets. This literally makes the options endless.

➡️ Gestures for skip story, skip content, pause, resume and close.

➡️ Interceptors that block events and manipulate the story flow without being noticed by the app user.

➡️ A functional controller for listening interactions and skip stories/contents, pause, play and more...

➡️ Predefined highly customizable story tray. But you are not limited to that, you can create your own non-animated or animated trays, AdvStory handles animation.

➡️ Header and footer areas for predefined stories with customization option specific to a predefined story content.

➡️ Object based, you can create as many story views as you want within the same application.

➡️ Well documented, go to docs:

  • docs

What can I do using AdvStory?

  • Quite simple: when you don't need much customization, a fully functional story view is just 8 lines of code.
AdvStory(
  storyCount: 5,
  storyBuilder: (storyIndex) => Story(
    contentCount: 10,
    contentBuilder: (contentIndex) => const ImageContent(url: ""),
  ),
  trayBuilder: (index) => AdvStoryTray(url: ""),
);
  • Quite advanced: when you need more you can,
    • create stories asynchronously in storyBuilder, send some requests to your server!
    • create different story trays and tray animations for each story, trays can be any widget you want.
    • create different footer & header areas for each story contents.
    • create contents with different skip durations.
    • create your own contents, AdvStory provides ways to you for caching media and handling story logic.
    • disable gestures, jump to a position, hide and show header/footer areas, pause and resume story via controller.
    • block events and call your own callbacks instead default story flow actions via interceptor.
    • create story view using AdvStory.player to define opening animations, custom shape, size...
    • customize tray list, story progress indicator, loading screen.

If you find AdvStory useful, you can hit the like button and give a star to project on Github to motivate me or treat me with coffee to help me take time to develop this package.


🤝🏼 Supporters & Sponsors


Roadmap

Status Goal
🚀 Custom advanced contents
Custom gestures
🚀 Decouple trays & player
Web & Windows & MacOs & Linux support

Some screenshots:

advstory's People

Contributors

ravivr-dev avatar ertgrulll avatar jtkeyva avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.