Commit 117108f
Changed files (3)
lib/screens/home_screen.dart
@@ -129,7 +129,7 @@ class AppHome extends StatelessWidget {
tooltip: localizations.statistics,
backgroundColor: const Color(0xFF6F6F6F),
onPressed: () {
- Navigator.push(context, _buildTransition(const StatisticsPage(), settings.animationSpeed));
+ _buildTransition(context, const StatisticsPage(), settings.animationSpeed);
},
child: const Icon(Icons.insights, color: Colors.black),
),
@@ -142,7 +142,7 @@ class AppHome extends StatelessWidget {
backgroundColor: const Color(0xFF6F6F6F),
child: const Icon(Icons.settings, color: Colors.black),
onPressed: () {
- Navigator.push(context, _buildTransition(const SettingsPage(), settings.animationSpeed));
+ _buildTransition(context, const SettingsPage(), settings.animationSpeed);
},
),
],
@@ -153,17 +153,21 @@ class AppHome extends StatelessWidget {
}
}
-PageRoute _buildTransition(Widget page, int duration) {
- return TimedMaterialPageRouter(duration: Duration(milliseconds: duration), builder: (context) => page);
+// FIXME: pass context on transitions, use instead of Navigator.push
+void _buildTransition(BuildContext context, Widget page, int duration) {
+ Navigator.push(context,
+ TimedMaterialPageRouter(
+ transitionDuration: Duration(milliseconds: duration),
+ builder: (context) => page
+ )
+ );
}
class TimedMaterialPageRouter extends MaterialPageRoute {
- Duration _duration = Duration.zero;
-
- TimedMaterialPageRouter({required WidgetBuilder builder, required Duration duration}) : super(builder: builder) {
- _duration = duration;
- }
+ TimedMaterialPageRouter({
+ required super.builder,
+ required this.transitionDuration});
@override
- Duration get transitionDuration => _duration;
+ final Duration transitionDuration;
}
lib/screens/settings_screen.dart
@@ -29,7 +29,6 @@ class SettingsPage extends StatelessWidget {
@override
Widget build(BuildContext context) {
- print(Theme.of(context).inputDecorationTheme.border);
final localizations = AppLocalizations.of(context)!;
return Scaffold(
appBar: AppBar(
lib/main.dart
@@ -103,21 +103,15 @@ class AppRoot extends StatelessWidget {
onGenerateTitle: (context) {
return AppLocalizations.of(context)!.title;
},
- theme: ThemeData(
- colorScheme: ColorScheme.fromSeed(
- seedColor: settings.accentColor,
- brightness: Brightness.light,
- ),
- useMaterial3: true,
- ),
- darkTheme: ThemeData(
- colorScheme: ColorScheme.fromSeed(
- seedColor: settings.accentColor,
- brightness: Brightness.dark,
- background: Colors.black
- ),
- useMaterial3: true
- ),
+ theme: _buildTheme(ColorScheme.fromSeed(
+ seedColor: settings.accentColor,
+ brightness: Brightness.light,
+ )),
+ darkTheme: _buildTheme(ColorScheme.fromSeed(
+ seedColor: settings.accentColor,
+ brightness: Brightness.dark,
+ background: Colors.black
+ )),
themeMode: settings.themeMode,
localizationsDelegates: const [
AppLocalizations.delegate,
@@ -127,32 +121,30 @@ class AppRoot extends StatelessWidget {
],
supportedLocales: AppLocalizations.supportedLocales,
locale: settings.language,
- home: Builder(
- builder: (context) {
- final inputBorder = OutlineInputBorder(
- borderSide: BorderSide(
- width: 3,
- color: Theme.of(context).primaryColor,
- ),
- borderRadius: BorderRadius.circular(20)
- );
-
- final theme = Theme.of(context).copyWith(
- inputDecorationTheme: InputDecorationTheme(
- errorMaxLines: 5,
- border: inputBorder,
- enabledBorder: inputBorder,
- ),
- );
- return Theme(
- data: theme,
- child: const AppHome()
- );
- }
- ),
+ home: const AppHome(),
);
});
}
+
+ ThemeData _buildTheme(ColorScheme colorScheme) {
+ final inputBorder = OutlineInputBorder(
+ borderSide: BorderSide(
+ width: 3,
+ color: colorScheme.outlineVariant,
+ ),
+ borderRadius: BorderRadius.circular(20)
+ );
+
+ return ThemeData(
+ colorScheme: colorScheme,
+ useMaterial3: true,
+ inputDecorationTheme: InputDecorationTheme(
+ errorMaxLines: 5,
+ border: inputBorder,
+ enabledBorder: inputBorder,
+ ),
+ );
+ }
}
bool _isDatabaseClosed = false;