mirror of
https://github.com/git-touch/git-touch
synced 2025-03-07 20:57:44 +01:00
improvement: hide action if data not ready
This commit is contained in:
parent
8089980e20
commit
4b895c3a18
@ -58,7 +58,7 @@ class _RefreshStatefulScaffoldState<T>
|
|||||||
}
|
}
|
||||||
|
|
||||||
Widget get _action {
|
Widget get _action {
|
||||||
if (widget.actionBuilder == null) return null;
|
if (widget.actionBuilder == null || _data == null) return null;
|
||||||
return widget.actionBuilder(_data, setState);
|
return widget.actionBuilder(_data, setState);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -38,9 +38,6 @@ class GitlabProjectScreen extends StatelessWidget {
|
|||||||
return project;
|
return project;
|
||||||
},
|
},
|
||||||
actionBuilder: (data, setState) {
|
actionBuilder: (data, setState) {
|
||||||
if (data == null)
|
|
||||||
return ActionButton(title: 'Project Actions', items: []);
|
|
||||||
|
|
||||||
return ActionButton(
|
return ActionButton(
|
||||||
title: 'Project Actions',
|
title: 'Project Actions',
|
||||||
items: [
|
items: [
|
||||||
|
@ -10,9 +10,11 @@ import 'package:git_touch/utils/utils.dart';
|
|||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
|
|
||||||
final issueAddRouter = RouterScreen(
|
final issueAddRouter = RouterScreen(
|
||||||
'/:owner/:name/issues/new',
|
'/:owner/:name/issues/new',
|
||||||
(context, params) =>
|
(context, params) {
|
||||||
IssueFormScreen(params['owner'].first, params['name'].first));
|
return IssueFormScreen(params['owner'].first, params['name'].first);
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
||||||
class IssueFormScreen extends StatefulWidget {
|
class IssueFormScreen extends StatefulWidget {
|
||||||
final String owner;
|
final String owner;
|
||||||
|
@ -104,7 +104,6 @@ class ObjectScreen extends StatelessWidget {
|
|||||||
return data;
|
return data;
|
||||||
},
|
},
|
||||||
actionBuilder: (data, _) {
|
actionBuilder: (data, _) {
|
||||||
if (data == null) return null;
|
|
||||||
switch (data.resolveType) {
|
switch (data.resolveType) {
|
||||||
case 'Blob':
|
case 'Blob':
|
||||||
final blob = data as GithubObjectBlob;
|
final blob = data as GithubObjectBlob;
|
||||||
|
@ -69,9 +69,6 @@ class RepositoryScreen extends StatelessWidget {
|
|||||||
return Tuple2(rs[0] as GithubRepositoryRepository, rs[1] as String);
|
return Tuple2(rs[0] as GithubRepositoryRepository, rs[1] as String);
|
||||||
},
|
},
|
||||||
actionBuilder: (data, setState) {
|
actionBuilder: (data, setState) {
|
||||||
if (data == null)
|
|
||||||
return ActionButton(title: 'Repository Actions', items: []);
|
|
||||||
|
|
||||||
final repo = data.item1;
|
final repo = data.item1;
|
||||||
return ActionButton(
|
return ActionButton(
|
||||||
title: 'Repository Actions',
|
title: 'Repository Actions',
|
||||||
|
@ -360,12 +360,6 @@ class UserScreen extends StatelessWidget {
|
|||||||
},
|
},
|
||||||
title: AppBarTitle(isViewer ? 'Me' : 'User'), // TODO:
|
title: AppBarTitle(isViewer ? 'Me' : 'User'), // TODO:
|
||||||
actionBuilder: (payload, _) {
|
actionBuilder: (payload, _) {
|
||||||
if (payload == null)
|
|
||||||
return ActionButton(
|
|
||||||
title: "Actions",
|
|
||||||
items: [],
|
|
||||||
);
|
|
||||||
|
|
||||||
switch (payload.resolveType) {
|
switch (payload.resolveType) {
|
||||||
case 'User':
|
case 'User':
|
||||||
final user = payload as GithubUserUser;
|
final user = payload as GithubUserUser;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user