From 4b895c3a188c08d524af59a14275c58852ca1199 Mon Sep 17 00:00:00 2001 From: Rongjian Zhang Date: Wed, 1 Jan 2020 17:00:26 +0800 Subject: [PATCH] improvement: hide action if data not ready --- lib/scaffolds/refresh_stateful.dart | 2 +- lib/screens/gitlab_project.dart | 3 --- lib/screens/issue_form.dart | 8 +++++--- lib/screens/object.dart | 1 - lib/screens/repository.dart | 3 --- lib/screens/user.dart | 6 ------ 6 files changed, 6 insertions(+), 17 deletions(-) diff --git a/lib/scaffolds/refresh_stateful.dart b/lib/scaffolds/refresh_stateful.dart index 6164d12..56877bd 100644 --- a/lib/scaffolds/refresh_stateful.dart +++ b/lib/scaffolds/refresh_stateful.dart @@ -58,7 +58,7 @@ class _RefreshStatefulScaffoldState } Widget get _action { - if (widget.actionBuilder == null) return null; + if (widget.actionBuilder == null || _data == null) return null; return widget.actionBuilder(_data, setState); } diff --git a/lib/screens/gitlab_project.dart b/lib/screens/gitlab_project.dart index d477fca..fe03f3e 100644 --- a/lib/screens/gitlab_project.dart +++ b/lib/screens/gitlab_project.dart @@ -38,9 +38,6 @@ class GitlabProjectScreen extends StatelessWidget { return project; }, actionBuilder: (data, setState) { - if (data == null) - return ActionButton(title: 'Project Actions', items: []); - return ActionButton( title: 'Project Actions', items: [ diff --git a/lib/screens/issue_form.dart b/lib/screens/issue_form.dart index 5c77adb..0946815 100644 --- a/lib/screens/issue_form.dart +++ b/lib/screens/issue_form.dart @@ -10,9 +10,11 @@ import 'package:git_touch/utils/utils.dart'; import 'package:provider/provider.dart'; final issueAddRouter = RouterScreen( - '/:owner/:name/issues/new', - (context, params) => - IssueFormScreen(params['owner'].first, params['name'].first)); + '/:owner/:name/issues/new', + (context, params) { + return IssueFormScreen(params['owner'].first, params['name'].first); + }, +); class IssueFormScreen extends StatefulWidget { final String owner; diff --git a/lib/screens/object.dart b/lib/screens/object.dart index 72ea49f..6e88d1e 100644 --- a/lib/screens/object.dart +++ b/lib/screens/object.dart @@ -104,7 +104,6 @@ class ObjectScreen extends StatelessWidget { return data; }, actionBuilder: (data, _) { - if (data == null) return null; switch (data.resolveType) { case 'Blob': final blob = data as GithubObjectBlob; diff --git a/lib/screens/repository.dart b/lib/screens/repository.dart index 2953400..49e8dd8 100644 --- a/lib/screens/repository.dart +++ b/lib/screens/repository.dart @@ -69,9 +69,6 @@ class RepositoryScreen extends StatelessWidget { return Tuple2(rs[0] as GithubRepositoryRepository, rs[1] as String); }, actionBuilder: (data, setState) { - if (data == null) - return ActionButton(title: 'Repository Actions', items: []); - final repo = data.item1; return ActionButton( title: 'Repository Actions', diff --git a/lib/screens/user.dart b/lib/screens/user.dart index b294836..eddcf18 100644 --- a/lib/screens/user.dart +++ b/lib/screens/user.dart @@ -360,12 +360,6 @@ class UserScreen extends StatelessWidget { }, title: AppBarTitle(isViewer ? 'Me' : 'User'), // TODO: actionBuilder: (payload, _) { - if (payload == null) - return ActionButton( - title: "Actions", - items: [], - ); - switch (payload.resolveType) { case 'User': final user = payload as GithubUserUser;