lichess-org / mobile

Lichess mobile app v2
GNU General Public License v3.0
1.37k stars 198 forks source link

refactor: add PlatformScaffold and PlatformAppBar widgets #954

Closed tom-anders closed 2 months ago

tom-anders commented 2 months ago

We had many screens where there was a lot of code duplication between androidBuilder and iosBuilder when using PlatformWidget. With these two new classes we clean a lot of this up.

Custom screens that need to do something different for Android vs iOS still use PlatformWidget.

This may be a bit more controversial than #938, and I'm totally fine if you don't want to merge this, I had a lot of fun refactoring and learned a lot anyway. I think this change would improve readability of the code base, especially for new contributors.

If you agree, I can again make some screenshots, confirming that everything still looks as before (I can only test Android though, not iOS)