AOSSIE-Org / Resonate

Clubhouse, but Open Source. A social voice platform.
GNU General Public License v3.0
192 stars 141 forks source link

Add a splash screen #61

Closed chandansgowda closed 1 year ago

chandansgowda commented 1 year ago

Currently when the app restarts, we get to see the login screen for a second or so even if we are logged in. This leads to bad user experience. A better approach is to have a splash screen until the authentication controller checks if the user is already logged in and then navigate accordingly.

Aarush-Acharya commented 1 year ago

hey @chandansgowda
I would like to take this up as this I believe is an extension of the loading screen issue #58 which is responsible for showing a splash screen when resonate starts

Apologies for not providing a clear description of #58

chandansgowda commented 1 year ago

@Aarush-Acharya You can take this up.

Aarush-Acharya commented 1 year ago

Hey @chandansgowda Apologies for the delay I have built two splash screens one is a native splash screen using flutter native splash the other is a custom (not native) implemented with the help of animated splash screen plugin which loads and would always load after the native one. The default native is a white screen with a Flutter logo which is customized using the Flutter native splash plugin.

Please do let me know which one to keep the first being the native and the second the custom

Native perks and drawbacks: perks: Loads the app faster looks smooth drawback: Does not support customization of higher degrees like transition animations etc. Poses limitations on UI like splash icon size and format for specifically Android 12 (the splash icon would be clipped in a circle in the center of diameter 768 pixels hence should be sized accordingly).

Custom's perks and drawbacks: perks: It is basically a screen we design just like login, signup, and onBoarding screens hence more flexible and supports transition animations enhancing UI

drawbacks: can only load after the native splash screen, if to select this the native is provided with the same background and a proxy_image is just the plain canvas with background color hence nullifying the UI effect of the native screen. Thus the native screen loads but it is just the background and does take a second to load hence making it seem like the custom splash screen loads after a second

I would prefer to go with the second as it enhances the UI and not mind letting the app taking an extra second to load and also the logic for preventing the login screen to show up has been written for this case

https://github.com/AOSSIE-Org/Resonate/assets/92685647/37d8bfdc-3661-4a24-83f0-7074d12761dc

Do let me know which to proceed with

chandansgowda commented 1 year ago

Let's go with the second one. Make changes above ui-room branch in my fork.

Aarush-Acharya commented 1 year ago

for that I would have to fork your fork first I believe, instead, can you commit that ui-room branch as a develop branch or so in the Org's repo

chandansgowda commented 1 year ago

You can fork my fork and then create a branch on top of ui-theme and work on it. Once my PR gets merged, you can raise a PR directly to AOSSIE's repo

Aarush-Acharya commented 1 year ago

understood, after forking your fork will add a new branch with the ui-theme branch as the base, would add the splash screen in that branch, and then create a PR to your fork

Aarush-Acharya commented 1 year ago

Hey @chandansgowda I am unable to fork as one fork already exists of the main org repo I have directly cloned your fork created a new branch and will push the branch after the work is done would this be alright

chandansgowda commented 1 year ago

Yes

Aarush-Acharya commented 1 year ago

I am facing a denied access issue while pushing the new branch when I directly cloned your fork would you be fine with providing the access or shall I delete my current fork and fork your fork

chandansgowda commented 1 year ago

Fork my fork and check.

Aarush-Acharya commented 1 year ago

okay understood