mirror of
https://github.com/pd4d10/git-touch.git
synced 2026-04-28 10:28:58 -05:00
refactor: extract loading widget
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import '../widgets/widgets.dart';
|
||||
import '../widgets/loading.dart';
|
||||
|
||||
// Widget of issue screen and pull request screen
|
||||
class IssuePullRequestScreen extends StatefulWidget {
|
||||
@@ -39,7 +40,7 @@ class _IssuePullRequestScreenState extends State<IssuePullRequestScreen> {
|
||||
|
||||
Widget _buildBody(BuildContext context) {
|
||||
if (payload == null) {
|
||||
return CupertinoActivityIndicator();
|
||||
return Loading();
|
||||
}
|
||||
|
||||
List items = payload['timeline']['nodes'];
|
||||
|
||||
39
lib/widgets/loading.dart
Normal file
39
lib/widgets/loading.dart
Normal file
@@ -0,0 +1,39 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import '../providers/settings.dart';
|
||||
|
||||
class Loading extends StatelessWidget {
|
||||
final bool more;
|
||||
|
||||
Loading({this.more});
|
||||
|
||||
Widget _buildIndicator(BuildContext context) {
|
||||
switch (SettingsProvider.of(context).layout) {
|
||||
case LayoutMap.cupertino:
|
||||
return CupertinoActivityIndicator(radius: 12);
|
||||
default:
|
||||
return Center(
|
||||
child: SizedBox(
|
||||
width: 24,
|
||||
height: 24,
|
||||
child: CircularProgressIndicator(),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
if (more) {
|
||||
return Padding(
|
||||
padding: EdgeInsets.symmetric(vertical: 20),
|
||||
child: _buildIndicator(context),
|
||||
);
|
||||
} else {
|
||||
return Padding(
|
||||
padding: EdgeInsets.symmetric(vertical: 40),
|
||||
child: _buildIndicator(context),
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user