fix(mobile): fixes on language change ()

* fix(mobile): make widgets rebuild on locale changes

This will make the make the pages to instantly refresh the correct
translated string, without the need to pop and push the settings page.

* fix(mobile): set the default intl locale

This is needed because across the app, you don't pass the context.locale
to DateFormat, so by default it uses the system's locale. This will fix
the issue without the need to refactor a lot of code.

* feat(mobile): create localeProvider

This provider can be used to refresh providers that provide UI elements
and get cached.

* fix(mobile): refresh asset providers on locale change

This is necessary to update the locale on the already evaluated
DateFormat.

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
This commit is contained in:
John Stef 2024-11-19 20:09:29 +02:00 committed by GitHub
parent 53940f7d42
commit 3a2e30e30e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 34 additions and 17 deletions
mobile/lib

View file

@ -192,6 +192,12 @@ class ImmichAppState extends ConsumerState<ImmichApp>
await ref.read(localNotificationService).setup();
}
@override
void didChangeDependencies() {
super.didChangeDependencies();
Intl.defaultLocale = context.locale.toLanguageTag();
}
@override
initState() {
super.initState();