GitHostSetup: Reduce code duplication

This commit is contained in:
Vishesh Handa
2019-02-14 00:30:45 +01:00
parent ce80e4d9f8
commit eab5506fe2
3 changed files with 77 additions and 74 deletions

View File

@ -3,6 +3,8 @@ import 'package:journal/apis/git.dart';
import 'package:journal/apis/githost_factory.dart';
import 'package:journal/settings.dart';
import 'githostsetup_loading.dart';
class GitHostSetupAutoConfigure extends StatefulWidget {
final GitHostType gitHostType;
final Function onDone;
@ -70,27 +72,11 @@ class GitHostSetupAutoConfigureState extends State<GitHostSetupAutoConfigure> {
@override
Widget build(BuildContext context) {
var children = <Widget>[];
if (this.errorMessage == null || this.errorMessage.isEmpty) {
children = <Widget>[
Padding(
padding: const EdgeInsets.all(8.0),
child: Text(
'Configuring ...',
textAlign: TextAlign.center,
style: Theme.of(context).textTheme.display1,
),
),
SizedBox(height: 8.0),
Padding(
padding: const EdgeInsets.all(8.0),
child: CircularProgressIndicator(
value: null,
),
),
];
} else {
children = <Widget>[
return GitHostSetupLoadingPage("Configuring ...");
}
var children = <Widget>[
Padding(
padding: const EdgeInsets.all(8.0),
child: Text(
@ -108,7 +94,6 @@ class GitHostSetupAutoConfigureState extends State<GitHostSetupAutoConfigure> {
),
),
];
}
return Column(
mainAxisAlignment: MainAxisAlignment.center,

View File

@ -1,5 +1,7 @@
import 'package:flutter/material.dart';
import 'githostsetup_loading.dart';
class GitHostSetupGitClone extends StatelessWidget {
final String errorMessage;
@ -9,27 +11,11 @@ class GitHostSetupGitClone extends StatelessWidget {
@override
Widget build(BuildContext context) {
var children = <Widget>[];
if (this.errorMessage == null || this.errorMessage.isEmpty) {
children = <Widget>[
Padding(
padding: const EdgeInsets.all(8.0),
child: Text(
'Cloning ...',
textAlign: TextAlign.center,
style: Theme.of(context).textTheme.display1,
),
),
SizedBox(height: 8.0),
Padding(
padding: const EdgeInsets.all(8.0),
child: CircularProgressIndicator(
value: null,
),
),
];
} else {
children = <Widget>[
return GitHostSetupLoadingPage("Cloning ...");
}
var children = <Widget>[
Padding(
padding: const EdgeInsets.all(8.0),
child: Text(
@ -47,7 +33,6 @@ class GitHostSetupGitClone extends StatelessWidget {
),
),
];
}
return Column(
mainAxisAlignment: MainAxisAlignment.center,

View File

@ -0,0 +1,33 @@
import 'package:flutter/material.dart';
class GitHostSetupLoadingPage extends StatelessWidget {
final String text;
GitHostSetupLoadingPage(this.text);
@override
Widget build(BuildContext context) {
var children = <Widget>[
Padding(
padding: const EdgeInsets.all(8.0),
child: Text(
text,
textAlign: TextAlign.center,
style: Theme.of(context).textTheme.display1,
),
),
SizedBox(height: 8.0),
Padding(
padding: const EdgeInsets.all(8.0),
child: CircularProgressIndicator(
value: null,
),
),
];
return Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: children,
);
}
}