diff --git a/lib/controllers/providers/settings/setting_provider.dart b/lib/controllers/providers/settings/setting_provider.dart index 77b72a25..d77ffc9c 100644 --- a/lib/controllers/providers/settings/setting_provider.dart +++ b/lib/controllers/providers/settings/setting_provider.dart @@ -5,7 +5,6 @@ import 'package:flutter/material.dart'; import 'package:shared_preferences/shared_preferences.dart'; import 'package:test_sa/controllers/api_routes/urls.dart'; import 'package:test_sa/models/user.dart'; -import 'package:test_sa/new_views/app_style/app_themes.dart'; import '../settings/app_settings.dart'; @@ -49,10 +48,10 @@ class SettingProvider extends ChangeNotifier { } String _theme; - ThemeData get theme => _theme == "light" ? AppThemes.lightTheme : AppThemes.darkTheme; - Future setTheme(ThemeData themeData) async { + String get theme => _theme; + Future setDarkTheme(bool value) async { SharedPreferences prefs = await SharedPreferences.getInstance(); - _theme = themeData.brightness == Brightness.light ? "light" : "dark"; + _theme = value ? "dark" : "light"; prefs.setString(ASettings.theme, _theme); notifyListeners(); } diff --git a/lib/extensions/context_extension.dart b/lib/extensions/context_extension.dart index 350460db..055336bf 100644 --- a/lib/extensions/context_extension.dart +++ b/lib/extensions/context_extension.dart @@ -11,5 +11,5 @@ extension BuildContextExtension on BuildContext { return translationKey.name.i18n([Localizations.localeOf(this).toString()]); } - bool get isDark => Provider.of(this).theme.brightness == Brightness.dark; + bool get isDark => Provider.of(this).theme == "dark"; } diff --git a/lib/main.dart b/lib/main.dart index 3f58ad98..c5286619 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -52,7 +52,7 @@ class MyApp extends StatelessWidget { child: MaterialApp( title: 'ATOMS', debugShowCheckedModeBanner: false, - theme: settingProvider.theme ?? AppThemes.lightTheme, + theme: settingProvider.theme == "dark" ? AppThemes.darkTheme : AppThemes.lightTheme, localizationsDelegates: [ LocalJsonLocalization.delegate, GlobalMaterialLocalizations.delegate, diff --git a/lib/new_views/app_style/app_themes.dart b/lib/new_views/app_style/app_themes.dart index 7aaf50cb..ce9c6829 100644 --- a/lib/new_views/app_style/app_themes.dart +++ b/lib/new_views/app_style/app_themes.dart @@ -12,7 +12,7 @@ class AppThemes { ); static ThemeData darkTheme = ThemeData.dark().copyWith( - textTheme: ThemeData.light().textTheme.apply(fontFamily: "Poppins"), + textTheme: ThemeData.dark().textTheme.apply(fontFamily: "Poppins"), primaryColor: AppColor.primary50, indicatorColor: AppColor.primary50, scaffoldBackgroundColor: AppColor.backgroundDark, diff --git a/lib/new_views/common_widgets/app_drawer.dart b/lib/new_views/common_widgets/app_drawer.dart index b5954633..4ec65514 100644 --- a/lib/new_views/common_widgets/app_drawer.dart +++ b/lib/new_views/common_widgets/app_drawer.dart @@ -5,7 +5,6 @@ import 'package:test_sa/extensions/context_extension.dart'; import '../../controllers/providers/api/user_provider.dart'; import '../../controllers/providers/settings/setting_provider.dart'; import '../../models/enums/translation_keys.dart'; -import '../app_style/app_themes.dart'; import 'app_filled_button.dart'; class AppDrawer extends StatelessWidget { @@ -33,12 +32,13 @@ class AppDrawer extends StatelessWidget { settingProvider.resetSettings(); userProvider.reset(); Navigator.of(context).pop(); + Navigator.of(context).pop(); } }), Switch.adaptive( value: context.isDark, - onChanged: (dark) { - Provider.of(context, listen: false).setTheme(dark ? AppThemes.darkTheme : AppThemes.lightTheme); + onChanged: (value) { + Provider.of(context, listen: false).setDarkTheme(value); }, ), ], diff --git a/lib/new_views/pages/land_page/land_page.dart b/lib/new_views/pages/land_page/land_page.dart index 072180cd..b6a550c5 100644 --- a/lib/new_views/pages/land_page/land_page.dart +++ b/lib/new_views/pages/land_page/land_page.dart @@ -74,7 +74,7 @@ class _LandPageState extends State { 10.width, Text( "0$_currentPage/03", - style: Theme.of(context).textTheme.labelMedium?.copyWith(fontWeight: FontWeight.w500, color: context.isDark ? AppColor.neutral40 : AppColor.neutral60), + style: Theme.of(context).textTheme.labelMedium?.copyWith(fontWeight: FontWeight.w500), ), ], ),