Closed trm11tkr closed 1 year ago
RepoTileやGithubRepoDetailPageなどのダークモードが機能していない不具合が発生。
これらのWidgetsはダークモード判定にcontext_extension.dartの
context_extension.dart
bool get isDark => MediaQuery.of(this).platformBrightness == Brightness.dark;
でThemeModeチェックを行なっている。 つまり、アプリ上でThemeを設定してもプラットフォームの設定になってしまう。
themeSelectorProviderにThemeModeがダークモードかどうか判定する処理を追加する。 RepoTileやGithubRepoDetailPagetをStatelessWidgetからConsumerWidgetに変更する。 themeSelectorProviderをwatchし、ダークモード判定を行う。
StatelessWidget
ConsumerWidget
概要
RepoTileやGithubRepoDetailPageなどのダークモードが機能していない不具合が発生。
原因
これらのWidgetsはダークモード判定に
context_extension.dart
のでThemeModeチェックを行なっている。 つまり、アプリ上でThemeを設定してもプラットフォームの設定になってしまう。
改善案
themeSelectorProviderにThemeModeがダークモードかどうか判定する処理を追加する。 RepoTileやGithubRepoDetailPagetを
StatelessWidget
からConsumerWidget
に変更する。 themeSelectorProviderをwatchし、ダークモード判定を行う。