Conversation
Replaced stream_card.dart navigator push route to the new one. Updated the store to allow pip type mode in app similar to twitch app. TODO: Fix multiple routes opening.
TODO: Implement changes for the other pages.
Implemented the method to close current vedio when categories is opened. TODO: Add hero widget to allow layout transitions
TODO: Fix vedio reloading during after switch
|
Thank you for the PR, this looks very promising! I recently made some changes to the linting/formatting rules of the project so there are now a few conflicts, if you could fix those that would be great. I have quite a bit on my backlog but will check it out fully soon enough and make a proper review. |
Keeping the current code of vedioChat variable in channel.dart
|
|
Any chance of this feature being ported to iOS? |
|
As far as I know, there should be no issue because it is in the app. This is not picture-in-picture mode that is only available on Andriod. This feature is the minimizing mode in the app so you can scroll for other streams. |
|
I think this feature should use an custom implementation of Dismissable with an AnimationController to add a nice animation, because without an animation it would look kind of unintuitive for users. I suggest you to look into DrawerController / showModalBottomSheet source code. |
PIP MODE IN THE APP
Although pip mode was implemented for the Android app. It was missing the mini video mode which is available in the Twitch app.
This is a quality-of-life update to the app.
Feature implemented:
Twitch.App.mp4
Feature in the app:
Implemented.Feature.mp4
Changes made and How it is implemented:
Additional info:
This method does not interfere with the default pip mode for Android it still works even if the app is in mini video mode.
I have never worked with Flutter before so it is completely understandable to reject this feature update. I was unable to implement the hero widget animation for an additional sliding effect between full view and mini view.
Possible breaking change:
For some reason when I ran it. The SentryFlutter required DSN in its options as well. For now, I have added an empty string, as I don't know what this component of the app does. I highly recommend looking into it if you plan to use this code.
It can be found at main.dart line 50.