mirror of
https://github.com/GitJournal/GitJournal.git
synced 2025-07-29 15:15:21 +08:00
@ -1,6 +1,7 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
|
||||||
import 'package:easy_localization/easy_localization.dart';
|
import 'package:easy_localization/easy_localization.dart';
|
||||||
|
import 'package:sprintf/sprintf.dart';
|
||||||
|
|
||||||
import 'error.dart';
|
import 'error.dart';
|
||||||
import 'git_transfer_progress.dart';
|
import 'git_transfer_progress.dart';
|
||||||
@ -18,10 +19,63 @@ class GitHostCloningPage extends StatelessWidget {
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
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 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"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.8.1"
|
version: "1.8.1"
|
||||||
|
sprintf:
|
||||||
|
dependency: "direct main"
|
||||||
|
description:
|
||||||
|
name: sprintf
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "6.0.0"
|
||||||
sqflite:
|
sqflite:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -81,6 +81,7 @@ dependencies:
|
|||||||
grpc: ^3.0.0
|
grpc: ^3.0.0
|
||||||
protobuf: ^2.0.0
|
protobuf: ^2.0.0
|
||||||
universal_io: ^2.0.4
|
universal_io: ^2.0.4
|
||||||
|
sprintf: ^6.0.0
|
||||||
|
|
||||||
dev_dependencies:
|
dev_dependencies:
|
||||||
#flutter_driver:
|
#flutter_driver:
|
||||||
|
Reference in New Issue
Block a user