mirror of
https://github.com/GitJournal/GitJournal.git
synced 2025-07-27 14:14:39 +08:00
@ -1,6 +1,7 @@
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import 'package:easy_localization/easy_localization.dart';
|
||||
import 'package:sprintf/sprintf.dart';
|
||||
|
||||
import 'error.dart';
|
||||
import 'git_transfer_progress.dart';
|
||||
@ -18,10 +19,63 @@ class GitHostCloningPage extends StatelessWidget {
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
if (errorMessage == null || errorMessage!.isEmpty) {
|
||||
if (errorMessage != null && errorMessage!.isNotEmpty) {
|
||||
return GitHostSetupErrorPage(errorMessage!);
|
||||
}
|
||||
|
||||
var stats = cloneProgress;
|
||||
if (stats.totalObjects == 0) {
|
||||
return GitHostSetupLoadingPage(loadingMessage);
|
||||
}
|
||||
|
||||
return GitHostSetupErrorPage(errorMessage!);
|
||||
var fetchPercent = (100 * stats.receivedObjects) / stats.totalObjects;
|
||||
var indexPercent = (100 * stats.indexedObjects) / stats.totalObjects;
|
||||
var kbytes = stats.receivedBytes ~/ 1024;
|
||||
|
||||
var networkText = sprintf("network %0.3f%% (%4d kb, %5d/%5d)", [
|
||||
fetchPercent,
|
||||
kbytes,
|
||||
stats.receivedObjects,
|
||||
stats.totalObjects,
|
||||
]);
|
||||
var indexText = sprintf('index %0.3f%% (%5d/%5d)', [
|
||||
indexPercent,
|
||||
stats.indexedObjects,
|
||||
stats.totalObjects,
|
||||
]);
|
||||
var text = '$networkText\n$indexText';
|
||||
|
||||
var children = <Widget>[
|
||||
Padding(
|
||||
padding: const EdgeInsets.all(8.0),
|
||||
child: Text(
|
||||
loadingMessage,
|
||||
textAlign: TextAlign.center,
|
||||
style: Theme.of(context).textTheme.headline4,
|
||||
),
|
||||
),
|
||||
const SizedBox(height: 8.0),
|
||||
Padding(
|
||||
padding: const EdgeInsets.all(8.0),
|
||||
child: Text(
|
||||
text,
|
||||
textAlign: TextAlign.center,
|
||||
style: Theme.of(context).textTheme.bodyText1,
|
||||
),
|
||||
),
|
||||
const SizedBox(height: 8.0),
|
||||
const Padding(
|
||||
padding: EdgeInsets.all(8.0),
|
||||
child: CircularProgressIndicator(
|
||||
value: null,
|
||||
),
|
||||
),
|
||||
];
|
||||
|
||||
return Column(
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
crossAxisAlignment: CrossAxisAlignment.center,
|
||||
children: children,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -1251,6 +1251,13 @@ packages:
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.8.1"
|
||||
sprintf:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: sprintf
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "6.0.0"
|
||||
sqflite:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -81,6 +81,7 @@ dependencies:
|
||||
grpc: ^3.0.0
|
||||
protobuf: ^2.0.0
|
||||
universal_io: ^2.0.4
|
||||
sprintf: ^6.0.0
|
||||
|
||||
dev_dependencies:
|
||||
#flutter_driver:
|
||||
|
Reference in New Issue
Block a user