diff --git a/lib/ente_theme_data.dart b/lib/ente_theme_data.dart index 371e9a1f6..477a83c6b 100644 --- a/lib/ente_theme_data.dart +++ b/lib/ente_theme_data.dart @@ -27,7 +27,7 @@ final lightThemeData = ThemeData( onPrimary: const Color.fromRGBO(255, 255, 255, 1), primary: const Color.fromRGBO(0, 0, 0, 1), ), - toggleableActiveColor: const Color.fromRGBO(102, 187, 106, 1), + switchTheme: getSwitchThemeData(const Color.fromRGBO(102, 187, 106, 1)), scaffoldBackgroundColor: const Color.fromRGBO(255, 255, 255, 1), backgroundColor: const Color.fromRGBO(255, 255, 255, 1), appBarTheme: const AppBarTheme().copyWith( @@ -97,7 +97,7 @@ final darkThemeData = ThemeData( buttonColor: const Color.fromRGBO(45, 194, 98, 1.0), ), textTheme: _buildTextTheme(const Color.fromRGBO(255, 255, 255, 1)), - toggleableActiveColor: const Color.fromRGBO(102, 187, 106, 1), + switchTheme: getSwitchThemeData(const Color.fromRGBO(102, 187, 106, 1)), outlinedButtonTheme: buildOutlinedButtonThemeData( bgDisabled: const Color.fromRGBO(158, 158, 158, 1), bgEnabled: const Color.fromRGBO(255, 255, 255, 1), @@ -411,3 +411,28 @@ ElevatedButtonThemeData buildElevatedButtonThemeData({ ), ); } + +SwitchThemeData getSwitchThemeData(Color activeColor) { + return SwitchThemeData( + thumbColor: + MaterialStateProperty.resolveWith((Set states) { + if (states.contains(MaterialState.disabled)) { + return null; + } + if (states.contains(MaterialState.selected)) { + return activeColor; + } + return null; + }), + trackColor: + MaterialStateProperty.resolveWith((Set states) { + if (states.contains(MaterialState.disabled)) { + return null; + } + if (states.contains(MaterialState.selected)) { + return activeColor; + } + return null; + }), + ); +}