mirror of
https://github.com/GitJournal/GitJournal.git
synced 2025-06-30 03:19:11 +08:00
GitHostSetup: Reduce code duplication
This commit is contained in:
@ -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,46 +72,29 @@ 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>[
|
||||
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 GitHostSetupLoadingPage("Configuring ...");
|
||||
}
|
||||
|
||||
var children = <Widget>[
|
||||
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,
|
||||
|
@ -1,5 +1,7 @@
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import 'githostsetup_loading.dart';
|
||||
|
||||
class GitHostSetupGitClone extends StatelessWidget {
|
||||
final String errorMessage;
|
||||
|
||||
@ -9,46 +11,29 @@ 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>[
|
||||
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 GitHostSetupLoadingPage("Cloning ...");
|
||||
}
|
||||
|
||||
var children = <Widget>[
|
||||
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,
|
||||
|
33
lib/screens/githostsetup_loading.dart
Normal file
33
lib/screens/githostsetup_loading.dart
Normal 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,
|
||||
);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user