Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Migrate to Material 3 (M3) #691

Closed
11 of 12 tasks
rfc2822 opened this issue Apr 1, 2024 · 9 comments · Fixed by #797
Closed
11 of 12 tasks

Migrate to Material 3 (M3) #691

rfc2822 opened this issue Apr 1, 2024 · 9 comments · Fixed by #797
Assignees
Labels
refactoring Internal improvement of existing functions

Comments

@rfc2822
Copy link
Member

rfc2822 commented Apr 1, 2024

Time to have fun

https://developer.android.com/develop/ui/compose/designsystems/material2-material3#phased-approach

This is a meta-issue and can be closed when everything is M3. Please don't add things here yourself.

When rewriting things to M3, please apply the new App Architecture as discussed as well as it's possible without rewriting core features (for instance, I wouldn't touch data layer things too much during the rewrite):

  • In general, one screen has three files:
    1. SomeScreen.kt with the @Composable SomeScreen() (only UI, no or little UI logic)
    2. SomeScreenModel.kt with the ViewModel for SomeScreen (UI logic and interface to data layers, if required); usually contains a UI state data class + methods to calculate state for the UI + methods for events that come from the UI
    3. SomeActivity.kt with the Activity (if the screen is an Activity) – should only contain the contract
  • Use UiState classes as described in App Architecture. One explicit UI state data class + mutableStateOf(UiState()) private set in the model is preferred, but you may have to use Flows or other methods like multiple states if it fits better.

Tasks:

@rfc2822 rfc2822 added the refactoring Internal improvement of existing functions label Apr 1, 2024
@devvv4ever
Copy link
Member

These themes reflect our current color scheme in M3:

material-theme-classic.zip
material-theme-classic-reversed.zip

@rfc2822
Copy link
Member Author

rfc2822 commented Apr 6, 2024

We should also follow the recommended App Architecture more when refactoring. Like having more clear and separated UI state holders, using Compose state in ViewModels etc.

@rfc2822
Copy link
Member Author

rfc2822 commented Apr 19, 2024

Now we don't have FABs or other accent elements yet but I also like the "reversed" theme more:

grafik

@devvv4ever
Copy link
Member

I've read a bit more into the color scheming of M3 and it seems unless we want to define everything (!) on our own we can't use our brand color green (with orange in addition) anymore.

I've adapted our colors a bit and here is an updated version for now that looks more appealing:

material-theme-moreappealing.zip

It now looks like this:

Bildschirmfoto vom 2024-04-21 13-04-22

Bildschirmfoto vom 2024-04-21 13-04-26

@sunkup
Copy link
Member

sunkup commented Apr 23, 2024

I've read a bit more into the color scheming of M3 and it seems unless we want to define everything (!) on our own we can't use our brand color green (with orange in addition) anymore.
[...]
It now looks like this:

Well, this definetly makes for a better integration with jtxBoard. They look the same now 🥂

@devvv4ever
Copy link
Member

devvv4ever commented Apr 24, 2024

I've read a bit more into the color scheming of M3 and it seems unless we want to define everything (!) on our own we can't use our brand color green (with orange in addition) anymore.
[...]
It now looks like this:

Well, this definetly makes for a better integration with jtxBoard. They look the same now 🥂

but we're still green, while jtx is yellow :P wooow

@RokeJulianLockhart

This comment was marked as resolved.

@devvv4ever
Copy link
Member

devvv4ever commented May 17, 2024

@rfc2822
Copy link
Member Author

rfc2822 commented May 17, 2024

#691 (comment)

@rfc2822, when shall the next https://github.com/bitfireAT/davx5-ose/releases be, with this included? I'd like to know when to expect it on F-Droid.

We plan to make a public beta soon, and then release maybe in 1 week or so – if everything goes well

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
refactoring Internal improvement of existing functions
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

4 participants