AndroidDev-social / DodoForMastodon

๐Ÿ˜ Mastodon client for Android, iOS and Desktop (JVM)
GNU General Public License v3.0
384 stars 29 forks source link

Sign-In through android and desktop webview #90

Closed mboukadir closed 1 year ago

mboukadir commented 1 year ago

๐Ÿ“‘ What does this PR do?

The login is done through a Webview. So I set up two implementations of the Webview, one on Android and the second on desktop.

The pr aims to identify a viable solution to use a Webview on a desktop. For this, I used JavaFX without going through the official plugin because it is not currently possible to use it in the module alongside the Android Library plugin.

โœ… Checklist

๐Ÿงช How can this PR been tested?

๐Ÿงพ Tasks Remaining: (List of tasks remaining to be implemented)

๐Ÿ–ผ๏ธ Screenshots (if applicable):

https://user-images.githubusercontent.com/795846/205469581-50d062e3-8a3b-4bb8-aa24-6e6dae125096.mov

mboukadir commented 1 year ago

Overall looks good! Just did a quick first pass to get you some early feedback

Thank you @crocsandcoffee for your feedback which I have taken into account. Tell me if I can switch the pr to non-draft

mboukadir commented 1 year ago

@crocsandcoffee for your information, I moved the sign-in webview, from the common module to the signed-out module because its implementation is specific to the sign-in use case.

I changed the structure of the packages in the signed-out module to have a package-by-step (landing, sign-in). I would like to know what you think about it.

crocsandcoffee commented 1 year ago

@crocsandcoffee for your information, I moved the sign-in webview, from the common module to the signed-out module because its implementation is specific to the sign-in use case.

I changed the structure of the packages in the signed-out module to have a package-by-step (landing, sign-in). I would like to know what you think about it.

Yes, I missed that in the first pass of the draft review, it definitely makes sense to move it from common to signed-out module. We can of course create a more general WebView composable in the common module and have the "SignInWebView" call that if we want.

Also the package structure in the signed-out module sounds good