From 994b6f2ccdaf00acdadd601e59b4f8f64f53f089 Mon Sep 17 00:00:00 2001 From: Vishesh Handa Date: Thu, 14 Feb 2019 10:13:46 +0100 Subject: [PATCH] GitHostSetup: Reduce code duplication Make the ErrorPage into its own widget, instead of duplicating the code. --- lib/screens/githostsetup_autoconfigure.dart | 26 ++------------- lib/screens/githostsetup_clone.dart | 26 ++------------- lib/screens/githostsetup_error.dart | 35 +++++++++++++++++++++ 3 files changed, 39 insertions(+), 48 deletions(-) create mode 100644 lib/screens/githostsetup_error.dart diff --git a/lib/screens/githostsetup_autoconfigure.dart b/lib/screens/githostsetup_autoconfigure.dart index 4cdca350..32016dfe 100644 --- a/lib/screens/githostsetup_autoconfigure.dart +++ b/lib/screens/githostsetup_autoconfigure.dart @@ -3,6 +3,7 @@ import 'package:journal/apis/git.dart'; import 'package:journal/apis/githost_factory.dart'; import 'package:journal/settings.dart'; +import 'githostsetup_error.dart'; import 'githostsetup_loading.dart'; class GitHostSetupAutoConfigure extends StatefulWidget { @@ -76,29 +77,6 @@ class GitHostSetupAutoConfigureState extends State { return GitHostSetupLoadingPage("Configuring ..."); } - var children = [ - Padding( - padding: const EdgeInsets.all(8.0), - child: Text( - 'Failed', - textAlign: TextAlign.center, - style: Theme.of(context).textTheme.display1, - ), - ), - Padding( - padding: const EdgeInsets.all(8.0), - child: Text( - this.errorMessage, - textAlign: TextAlign.center, - style: Theme.of(context).textTheme.display1, - ), - ), - ]; - - return Column( - mainAxisAlignment: MainAxisAlignment.center, - crossAxisAlignment: CrossAxisAlignment.center, - children: children, - ); + return GitHostSetupErrorPage(errorMessage); } } diff --git a/lib/screens/githostsetup_clone.dart b/lib/screens/githostsetup_clone.dart index c7de3a1c..80bad29b 100644 --- a/lib/screens/githostsetup_clone.dart +++ b/lib/screens/githostsetup_clone.dart @@ -1,5 +1,6 @@ import 'package:flutter/material.dart'; +import 'githostsetup_error.dart'; import 'githostsetup_loading.dart'; class GitHostSetupGitClone extends StatelessWidget { @@ -15,29 +16,6 @@ class GitHostSetupGitClone extends StatelessWidget { return GitHostSetupLoadingPage("Cloning ..."); } - var children = [ - Padding( - padding: const EdgeInsets.all(8.0), - child: Text( - 'Failed', - textAlign: TextAlign.center, - style: Theme.of(context).textTheme.display1, - ), - ), - Padding( - padding: const EdgeInsets.all(8.0), - child: Text( - this.errorMessage, - textAlign: TextAlign.center, - style: Theme.of(context).textTheme.display1, - ), - ), - ]; - - return Column( - mainAxisAlignment: MainAxisAlignment.center, - crossAxisAlignment: CrossAxisAlignment.center, - children: children, - ); + return GitHostSetupErrorPage(errorMessage); } } diff --git a/lib/screens/githostsetup_error.dart b/lib/screens/githostsetup_error.dart new file mode 100644 index 00000000..ae8bade8 --- /dev/null +++ b/lib/screens/githostsetup_error.dart @@ -0,0 +1,35 @@ +import 'package:flutter/material.dart'; + +class GitHostSetupErrorPage extends StatelessWidget { + final String errorMessage; + + GitHostSetupErrorPage(this.errorMessage); + + @override + Widget build(BuildContext context) { + var children = [ + Padding( + padding: const EdgeInsets.all(8.0), + child: Text( + 'Failed', + textAlign: TextAlign.center, + style: Theme.of(context).textTheme.display1, + ), + ), + Padding( + padding: const EdgeInsets.all(8.0), + child: Text( + errorMessage, + textAlign: TextAlign.center, + style: Theme.of(context).textTheme.display1, + ), + ), + ]; + + return Column( + mainAxisAlignment: MainAxisAlignment.center, + crossAxisAlignment: CrossAxisAlignment.center, + children: children, + ); + } +}